LINKAGE |
Liaison |
|---|---|
| Cobol | |
Syntaxe
|
LINKAGE SECTION. [77leveldescriptionentry] ... [recorddescriptionentry] |
Paramètres
| Nom | Description |
|---|---|
| 77leveldescriptionentry | Ce paramètre permet de définir une variable scalaire simple (niveau 77) qui peut être transmise entre un programme et un sous-programme. Il est utilisé pour des données indépendantes sans structure complexe. |
| recorddescriptionentry | Ce paramètre permet de décrire une structure de données (groupe de champs) transmise d'un programme à un autre. C'est typiquement un niveau 01 ou 05 contenant plusieurs sous-champs. |
Description
Cette instruction combiné à l'instruction «SECTION» permet d'indiquer les descriptions de variables global de programmes et sous-programmes.
Remarques
- L'instruction LINKAGE SECTION permet de déclarer des variables utilisées dans les communications entre programmes, en particulier entre un programme principal et un sous-programme. Elle est indispensable pour recevoir des paramètres via l'instruction CALL ... USING, qui transmet les données du programme appelant vers le sous-programme.
- Les variables définies dans la LINKAGE SECTION ne sont pas initialisées par le sous-programme : elles doivent être alimentées par le programme appelant. Cela implique que le programme appelé doit s'assurer de manipuler correctement ces données, sans supposer une valeur initiale.
- La LINKAGE SECTION se distingue de la WORKING-STORAGE SECTION en ce que ses variables ne sont pas internes au programme. Elle représente un pont entre les espaces mémoire de deux programmes, permettant le partage de données de manière structurée.
- Il est courant de déclarer des niveaux 01 ou 77 dans la LINKAGE SECTION, selon que l'on souhaite gérer des structures de données complexes ou des champs simples. Ces déclarations doivent correspondre exactement aux structures utilisées par le programme appelant pour garantir l'intégrité des données.
- Lorsque le sous-programme est appelé avec plusieurs paramètres, ceux-ci doivent être listés dans la clause USING du PROCEDURE DIVISION, dans le même ordre que les variables définies dans la LINKAGE SECTION. Un mauvais ordre peut entraîner des comportements imprévus, voire des erreurs d'exécution.
- La LINKAGE SECTION ne peut pas exister seule : elle doit être associée à une PROCEDURE DIVISION USING ... pour que les données soient correctement transmises. C'est cette clause USING qui fait le lien logique entre les variables passées et celles déclarées dans la section.
- L'utilisation de la LINKAGE SECTION rend les programmes COBOL plus modulaires et réutilisables, en permettant la création de bibliothèques ou de sous-routines génériques. Elle favorise ainsi une meilleure structuration du code et facilite la maintenance à long terme.
- Lors du débogage, il est essentiel de bien comprendre le rôle de la LINKAGE SECTION pour identifier l'origine d'éventuelles incohérences de données. Les erreurs peuvent provenir soit du programme appelant (passant une valeur incorrecte), soit du sous-programme (qui traite mal les données reçues).
Dernière mise à jour : Jeudi, le 28 juillet 2011