Syntaxe
|
66 dataname1; RENAMES dataname2 [(THROUGH|THRU) dataname3]
|
Paramètres
| Nom |
Description |
| 66 |
Ce paramètre permet d'indiquer que la déclaration est de niveau 66, un niveau hiérarchique spécifique réservé exclusivement à l'usage de RENAMES. Il signale que l'élément déclaré est une vue alternative d'autres éléments. |
| dataname1 |
Ce paramètre permet de nommer la nouvelle vue ou le regroupement. Il s'agit de l'identifiant qui représentera les champs renommés de manière groupée. |
| dataname2 |
Ce paramètre permet d'indiquer le premier élément de données de la séquence à regrouper. Il constitue le début de la zone à considérer dans la vue alternative. |
| THROUGH / THRU |
Ce paramètre permet d'indiquer que le regroupement s'étend d'un champ de départ (dataname2) jusqu'à un champ de fin (dataname3). Il définit donc la plage d'éléments à inclure dans le regroupement. |
| dataname3 |
Ce paramètre permet d'indiquer le dernier élément de la séquence à inclure dans le regroupement. Le champ dataname3 et tous ceux entre lui et dataname2 seront inclus dans la vue renommée. |
Description
Cette instruction permet d'indiquer un regroupement alternatif ou chevauchement des éléments de données élémentaires.
Remarques
- Regroupement logique de champs : L'instruction RENAMES permet de créer un alias logique pour un ensemble contigu de variables élémentaires déjà
déclarées. Ce mécanisme facilite le traitement groupé de ces champs sans redéfinir leur structure, ce qui simplifie le code lorsqu'une même suite de variables doit
être manipulée de manière répétée.
- Utilisable uniquement avec les niveaux 01 à 49 : Le regroupement avec RENAMES ne peut se faire que sur des éléments dont le niveau hiérarchique est
inférieur à 66 (typiquement des niveaux 01 à 49). Les champs renommés doivent être de niveau élémentaire, et contigus dans la déclaration, ce qui garantit une
continuité mémoire.
- Pas de nouvelle zone mémoire allouée : À l'instar de REDEFINES, RENAMES ne crée pas de nouvel espace mémoire. Il s'agit simplement d'une vue alternative
sur des éléments déjà existants. Cela permet d'économiser des ressources tout en rendant le code plus lisible ou modulaire.
- Utilisation du niveau 66 obligatoire : Le mot-clef 66 est requis pour déclarer une clause RENAMES, ce qui en fait un niveau hiérarchique particulier dans
COBOL, exclusivement réservé à ce type de regroupement. Il se distingue donc des autres niveaux par sa fonction unique.
- Nécessite des champs contigus : Les champs indiqués dans le regroupement doivent être physiquement contigus dans la structure de données. Si les
variables ne se suivent pas directement, COBOL générera une erreur à la compilation, car il ne peut pas créer une vue continue incohérente.
- Utile pour les traitements conditionnels : Dans les situations où seules certaines portions d'une structure doivent être traitées dans un contexte
donné, RENAMES permet d'en désigner un sous-ensemble sans recopier les champs ni redéfinir une nouvelle structure. Cela améliore la clarté des traitements
conditionnels.
- Compatibilité avec les opérations MOVE ou DISPLAY : Le nom déclaré via RENAMES peut être utilisé comme n'importe quel autre nom de donnée : on peut
l'utiliser dans des instructions comme MOVE, DISPLAY ou IF, ce qui rend le regroupement aussi fonctionnel qu'un champ défini explicitement.
- Facilite la lisibilité dans les structures complexes : Dans une structure comportant de nombreux champs, RENAMES peut améliorer la lisibilité du code
en donnant un nom explicite à une portion significative du bloc de données. Cela renforce la compréhension fonctionnelle du programme, en évitant des répétitions de
noms ou des traitements ligne à ligne.
Dernière mise à jour : Jeudi, le 28 juillet 2011