Exemple – Niveau 66

Le niveau 66 est utilisé pour renommer d’autres variables de programme.

IDENTIFICATION DIVISION.
PROGRAM-ID.  NIVEAU66.
AUTHOR.      LA COMMUNAUTE DU COBOL.

* Un exemple de programme qui démontre l'utilisation du niveau 66

DATA DIVISION.
WORKING-STORAGE SECTION.

* Ainsi, en accédant à la variable MOIS-JOUR-SYSTEME,
* nous verrons le contenu des variables MOIS-SYSTEME et JOUR-SYSTEME.

01  DATE-SYSTEME.
    05  ANNEE-SYSTEME       PIC 9(004) VALUE ZEROES.
    05  MOIS-SYSTEME        PIC 9(002) VALUE ZEROES.
    05  JOUR-SYSTEME        PIC 9(002) VALUE ZEROES.
66  MOIS-JOUR-SYSTEME       RENAMES MOIS-SYSTEME THRU JOUR-SYSTEME.


* Niveau 66 - RENAMES (joint des champs contigus)

01  REGISTRE.
    05 RUE                 PIC X(030).
    05 NUM                 PIC 9(005).
    05 APPART              PIC 9(004).
    05 QUARTIER            PIC X(015).
    05 VILLE               PIC X(025).
    05 ETAT                PIC X(002).
    05 CP                  PIC 9(005).
66  ADRESSE                RENAMES RUE      THRU APPART.
66  VILLE-ETAT             RENAMES VILLE    THRU ETAT.
66  QUARTIER-VILLE         RENAMES QUARTIER THRU VILLE.
66  NUMERO                 RENAMES NUM.
66  IND-COMPLET            RENAMES RUE      THRU CP.
66  FIN-PRESQUE            RENAMES ADRESSE THRU VILLE-ETAT.


PROCEDURE DIVISION.

001-INIT.

    MOVE 20201025               TO DATE-SYSTEME  
    DISPLAY "DATE-SYSTEME     : "  DATE-SYSTEME 
    DISPLAY "ANNEE-SYSTEME    : "  ANNEE-SYSTEME 
    DISPLAY "MOIS-SYSTEME     : "  MOIS-SYSTEME 
    DISPLAY "JOUR-SYSTEME     : "  JOUR-SYSTEME 
    DISPLAY "MOIS-JOUR-SYSTEME: "  MOIS-JOUR-SYSTEME 

* Resultat do test :

* DATE-SYSTEME     : 20201025
* ANNEE-SYSTEME    : 2020
* MOIS-SYSTEME     : 10
* JOUR-SYSTEME     : 25
* MOIS-JOUR-SYSTEME: 1025

    MOVE "AVENUE DES CHAMPS-ELYSEES" TO RUE
    MOVE 00037                   TO NUM 
    MOVE 101                     TO APPART
    MOVE "PARIS 8"               TO QUARTIER
    MOVE "PARIS"                 TO VILLE
    MOVE "FR"                    TO ETAT
    MOVE 75008                   TO CP

    DISPLAY "ADRESSE        : "  ADRESSE               
    DISPLAY "VILLE-ETAT     : "  VILLE-ETAT          
    DISPLAY "QUARTIER-VILLE : "  QUARTIER-VILLE          
    DISPLAY "NUMERO         : "  NUMERO                 
    DISPLAY "IND-COMPLET    : "  IND-COMPLET           
    DISPLAY "END-PRESQUE    : "  END-PRESQUE              

* Resultat de test:

* ADRESSE        : AVENUE DES CHAMPS-ELYSEES     000370101
* VILLE-ETAT     : PARIS                    FR
* QUARTIER-VILLE : PARIS 8        PARIS                 
* NUMERO         : 00037
* IND-COMPLET    : AVENUE DES CHAMPS-ELYSEES     000370101PARIS 8        PARIS                 FR75008
* END-PRESQUE    : AVENUE DES CHAMPS-ELYSEES     000370101PARIS                 FR

    STOP RUN.