La clause 66 RENAME permet de donner un **nouveau nom** (un alias) à une variable déjà définie, sans créer une nouvelle zone mémoire.
C'est très utile quand :
- le nom d'origine est peu clair ou trop long dans le contexte actuel
- on veut rendre le code plus lisible sans modifier les anciennes parties du programme
- on modernise progressivement un ancien programme
Important : le renommage ne change ni la taille, ni le type, ni l'emplacement mémoire de la donnée. Les deux noms (ancien et nouveau) désignent exactement la même zone.
Exemple de code
IDENTIFICATION DIVISION.
PROGRAM-ID. RENAME-SINGLE.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 DATE-SYSTEME.
05 ANNEE PIC 9(4).
05 MOIS PIC 99.
05 JOUR PIC 99.
66 ANNEE-COURANTE RENAMES ANNEE.
PROCEDURE DIVISION.
DEBUT.
MOVE 2026 TO ANNEE-COURANTE
MOVE 12 TO MOIS
MOVE 25 TO JOUR
DISPLAY "Date systeme : " JOUR "/" MOIS "/" ANNEE-COURANTE
STOP RUN.
Télécharger le code
Sortie attendue du programme
Date systeme : 25/12/2026
Explication détaillée – focus sur la clause 66
01 DATE-SYSTEME.
Groupe de niveau 01 qui regroupe trois champs de date.05 ANNEE PIC 9(4).
Champ élémentaire de 4 chiffres pour l’année (ex. 2026).66 ANNEE-COURANTE RENAMES ANNEE.
C’est la ligne clé du cours.
On crée un nouveau nomANNEE-COURANTEqui désigne exactement la même mémoire queANNEE.
À partir de maintenant, écrireANNEEouANNEE-COURANTEa exactement le même effet.MOVE 2026 TO ANNEE-COURANTE
On utilise le **nouveau nom** pour affecter une valeur.
→ La zone mémoire deANNEEcontient maintenant 2026.DISPLAY "Date systeme : " JOUR "/" MOIS "/" ANNEE-COURANTE
On affiche la date en utilisant le nom renommé.
On aurait pu écrireANNEEà la place : le résultat serait identique.
Résumé – ce qu’il faut retenir :
66 nom-nouveau RENAMES nom-ancien.- Crée un alias (un deuxième nom) pour une variable existante
- Ne crée pas de nouvelle zone mémoire
- Les deux noms sont totalement équivalents
- Très utilisé pour améliorer la lisibilité sans casser le code existant