Je suis un peu confus sur la manière de créer une variable symbolique en JCL pour un devoir que je fais dans mon cours de COBOL.
Par exemple, je suis censé "Spécifier un paramètre symbolique pour l'option PARM et spécifier TEST et APOST comme valeur par défaut."
Comment puis-je désigner l'option "PARM" comme un paramètre symbolique?
EDIT: Pardonnez l'oubli; il semble que j'ai oublié de mentionner quel OS j'utilise. Je rédige ce fichier JCL dans z/OS.
Merci d'avance!
EDIT:
@avisser:
Donc, ce que vous dites, c'est que je peux simplement l'appeler "&PARM='TEST,APOST'" et, si je voulais modifier ce paramètre lorsque j'exécute cette procédure avec une autre instruction JCL, les paramètres indiqués peuvent être modifiés à partir de l'appel JCL?
EDIT:
@avisser:
Oui, désolé, j'ai vraiment besoin de travailler sur le fait d'être plus précis... Dans mon JCL COBOL, j'appelle le compilateur COBOL (IGYCRCTL), l'éditeur de liaison (HEWL) et un programme fetch (EXEC PGM=).
EDIT:
Il serait peut-être utile de voir quel est mon résultat. J'apprécie vraiment tous ceux qui ont essayé d'aider jusqu'à présent.
Résultat:
------ STATISTIQUES DU TRAVAIL JES2 ------
37 CARTES LUES
61 ENREGISTREMENTS D'IMPRESSION SYSOUT
0 ENREGISTREMENTS DE PERFORATION SYSOUT
3 KILO-OCTETS DE LA FILE D'ATTENTE SYSOUT
0.00 MINUTES DE TEMPS D'EXÉCUTION
!! FIN DU FICHIER SPOOL JES !! 1 //KC03CEFA TRAVAIL ,'MATT R',MSGCLASS=H,TYPRUN=SCAN JOB07731 //*
2 //STEP01 EXEC PGM=IGYCRCTL,®ION=248K,
// &PARM='TEST,APOST'
3 //STEPLIB DD DSN=IGY340.SIGYCOMP,DISP=SHR
/*
4 //SYSLIN DD &DSN=&&OBJSET,UNIT=DISK,SPACE=(TRK,(3,3)),
// &DISP=(NEW,PASS,DELETE)
5 //SYSPRINT DD SYSOUT=*
6 //SYSUT1 DD UNIT=DISK,SPACE=(CYL,(1,1))
7 //SYSUT2 DD UNIT=DISK,SPACE=(CYL,(1,1))
8 //SYSUT3 DD UNIT=DISK,SPACE=(CYL,(1,1))
9 //SYSUT4 DD UNIT=DISK,SPACE=(CYL,(1,1))
10 //SYSUT5 DD UNIT=DISK,SPACE=(CYL,(1,1))
11 //SYSUT6 DD UNIT=DISK,SPACE=(CYL,(1,1))
12 //SYSUT7 DD UNIT=DISK,SPACE=(CYL,(1,1))
//*
//*
13 //STEP02 EXEC PGM=HEWL,&COND=,&REAGION=2048K,
// &PARM=
14 //SYSLIB DD DSN=CEE.SCEELKED,DISP=SHR
15 //SYSLIN DD &DSN=&&OBJSET,&DISP=(OLD,DELETE)
16 //SYSLMOD DD DSN=&&TEMPLIB(PGM6),
// SPACE=(1024,(50,20,1)),UNIT=DISK,
// DISP=(NEW,CATLG,DELETE)
17 //SYSPRINT DD SYSOUT=*
18 //PRINTER DD SYSOUT=*
19 //SYSUT1 DD UNIT=DISK,SPACE=(TRK,(10,10))
//*
//*
20 //STEP01 EXEC PGM=PGM6,&PARM=TERMTHDACT(DUMP)
21 //STEPLIB DD DSN=&&TEMPLIB,DISP=SHR
22 //CEEDUMP
23 //SYSUDUMP
24 //PRINTER DD SYSOUT=*
25 //PRODUCTS DD DSN=KC02322.CSCI465.SP09(DATA1),DISP=SHR
26 //SYSIN DD *
!! FIN DU FICHIER SPOOL JES !! STMT NO. MESSAGE 2 IEFC630I MOT-CLÉ NON IDENTIFIÉ ®ION 2 IEFC630I MOT-CLÉ NON IDENTIFIÉ &PARM 4 IEFC630I MOT-CLÉ NON IDENTIFIÉ &DSN 4 IEFC630I MOT-CLÉ NON IDENTIFIÉ &DISP 13 IEFC630I MOT-CLÉ NON IDENTIFIÉ &COND 13 IEFC630I MOT-CLÉ NON IDENTIFIÉ &REAGION 13 IEFC630I MOT-CLÉ NON IDENTIFIÉ &PARM 15 IEFC630I MOT-CLÉ NON IDENTIFIÉ &DSN 15 IEFC630I MOT-CLÉ NON IDENTIFIÉ &DISP 20 IEFC630I MOT-CLÉ NON IDENTIFIÉ &PARM 22 IEFC605I CHAMP D'OPÉRATION NON IDENTIFIÉ 23 IEFC605I CHAMP D'OPÉRATION NON IDENTIFIÉ !! FIN DU FICHIER SPOOL JES !!