SOUS PGM
UTILISATION DE SOUS PGM :
DYNAMIQUE : PGMCOB29 & 32
- Dans la working-storage : Créer une variable qui va lire le sous pgm ainsi :
’77 SOUPGM01 PIC X(08) VALUE ‘SOUPGM01’.
- Dans la procédure division : appeler la variable du sous pgm avec CALL ainsi :
‘CALL SOUPGM01 USING BY CONTENT VALINIT BY CARRE’
La variable VALINIT possède la valeur de base qui sera traité dans le sous pgm.
La variable CARRE est le résultat après que le sous pgm est traité la valeur.
- Dans le fichier de compilation ‘COMPLKD’, dans l’exec, après ‘COBOL=’ il faut rajouter ‘dynam’ pour compiler les sous pgms en dynamique
dans la sysin :
INCLUDE SYSLIB(PCARRE)
INCLUDE SYSLIB(PPUIS3)
STATIQUE : PGMCOB30
- Dans Linkage Section : créer les variables identiques au pgm qui utilise les sous pgms.
(Cette section se trouve après la working-storage. C’est la dernière section avant la procédure division).
- Dans Procédure division : rajouter à la suite ‘ USING VARIABLE(S)’.
(les variables qui sont dans la Linkage Section, celles qui sont utilisés, lues par le pgm appelant le sous pgm).
- Compiler les sous pgms en PREMIER avec l’option ‘nodynam’ (paramètre par défaut, inutile de le mettre).
rajouter dans le complkd pour compiler le pgm : ‘//LKED.SYSLIB DD DSN=ACT02.COBOL.LOAD,DISP=SHR ‘
Cette ligne permet d’aller chercher les loads des sous pgms compilés
dans la sysin :
INCLUDE SYSLIB(PCARRE)
INCLUDE SYSLIB(PPUIS3)