Parcours Accueil Tour guidé Initiation 1 h Initiation 24 h Révisions Exercices

Le sous-programme accĂšde aux mĂȘmes adresses mĂ©moire que le programme principal. Toute modification dans la LINKAGE SECTION est rĂ©percutĂ©e .

Info : Ce module vous permet d’accĂ©der rapidement aux contenus essentiels de la formation COBOL.
Retour au plan général

🔄 9-5 – DiffĂ©rences entre appel par contenu et par rĂ©fĂ©rence

Lorsqu’un programme  COBOL  appelle un sous-programme avec l’instruction  CALL , les variables peuvent ĂȘtre transmises :

Ces deux modes influencent la maniÚre dont les données sont échangées et modifiées.

📍 1. Par rĂ©fĂ©rence – BY REFERENCE (par dĂ©faut)

 CALL "SOUSPROG" USING A B.
  

Le sous-programme accĂšde aux mĂȘmes adresses mĂ©moire que le programme principal. Toute modification dans la  LINKAGE SECTION  est rĂ©percutĂ©e.

📩 2. Par contenu – BY CONTENT

 CALL "SOUSPROG" USING BY CONTENT A B.
  

Le sous-programme reçoit une copie des données. Toute modification dans le sous-programme est locale et perdue à la sortie.

📊 Comparaison rapide
Mode Effet Visibilité
 BY REFERENCE  Partage la variable Modifications visibles
 BY CONTENT  Copie la valeur Modifications locales
🔁 Exemple comparatif
**Appel BY REFERENCE :**

 CALL "CALCUL" USING X RESULTAT.
  

Le  RESULTAT  est mis à jour dans le programme principal.

**Appel BY CONTENT :**

 CALL "CALCUL" USING BY CONTENT X RESULTAT.
  

Ici, mĂȘme si le sous-programme modifie  RESULTAT , la valeur ne sera pas renvoyĂ©e.

📌 RĂ©sumĂ©

En  COBOL  :

Le choix dépend de votre besoin de conserver ou non les modifications apportées par le sous-programme.

↑ Haut