MainframeSupports
tip uge 17/2015:

Endelig er det blevet tid til at skrive det helt rigtige tip om brug af JCL variable i inline SYSIN. Med z/OS version 2.1 er det langt om længe blevet muligt. Slut med alle mulige omgåelser (som for eksempel med inline REXX). Og for en gangs skyld har IBM gjort sig umage fra starten. Det virker faktisk også i JCL procedurer!! Hvis din installation ikke er kommet op på z/OS version 2.1, så er det bare med at presse på. Denne ene feature er nok til at retfærdiggøre skiftet. Og her er så et eksempel på det lille mirakel:

// EXPORT SYMLIST=*
// SET DSNAME=&SYSUID..MY.OBSOLETE.DATASET
//DELETEDS EXEC PGM=IDCAMS
//SYSPRINT DD DUMMY
//SYSIN    DD *,SYMBOLS=JCLONLY
    DELETE &DSNAME
    SET MAXCC = 0
/*

Eksemplet er en gammel traver nemlig den om, hvordan du mest hensigstmæssigt sletter et dataset i JCL. Hvis du så i et efterfølgende step opretter det igen, så er det ret fedt, at bruge det samme navn. Og så er det jo dejligt at have datasetnavnet i en JCL variabel. For at gøre det lidt avanceret, så har IBM valgt, at man skal benytte et nyt statement kaldet EXPORT med en parameter kaldet SYMLIST, hvor man angiver, hvilke variable, der må anvendes i inline SYSIN. Heldigvis kan man nøjes med at skrive SYMLIST=* for at angive, at alle JCL-variable kan anvendes. For en sikkerheds skyld vil jeg anbefale dig at benytte EXPORT i toppen af dit JCL, så er du sikker på, at det virker for alle de efterfølgende JCL variable, du finder på at definere. Og for at gøre det hele endnu mere avanceret, så skal man angive en ny parameter på sit SYSIN DD statement kaldet SYMBOLS=JCLONLY, som aktiverer substitutionen af JCL variable i dit inline SYSIN.

Jeg har også prøvet ovenstående i JCL procedurer og det virker. Du skal også her bruge både EXPORT og SYMBOLS=JCLONLY. Jeg fik dog ikke afprøvet, om det virker direkte med en JCL parameter variabel. Hvis det ikke gør, så laver du bare en JCL variabel i din JCL procedure, som du sætter lig din JCL parameter, og så er den hjemme.

Forrige danske tip        Last tip in english        Tip oversigten