Page 1 of 1

Means of special character in JCL

PostPosted: Sat Jun 30, 2012 7:45 pm
by Mehdi shri
Hi freiends
I have a jcl like this:

//ACTDBRC JOB MSGLEVEL=1
//STARTING EXEC ACTDBRC,IMSID=IMSA
XX PROC RGN=64M,DPTY='(14,15)',SOUT=A,
XX IMSID=ACT,SYS=IMSV11,SYS2=ACT
XXIEFPROC EXEC PGM=DFSMVRC0,REGION=&RGN,
XX DPRTY=&DPTY,PARM='DRC,&IMSID'
XXSTEPLIB DD DSN=&SYS..SDFSRESL,DISP=SHR
XXPROCLIB DD DSN=&SYS..PROCLIB,DISP=SHR
XXJCLOUT DD SYSOUT=(A,INTRDR)
XXJCLPDS DD DSN=&SYS..PROCLIB,DISP=SHR
XXSYSUDUMP DD SYSOUT=&SOUT
XXSYSABEND DD SYSOUT=&SOUT
XXRECON1 DD DSN=&SYS..&SYS2..RECON1,DISP=SHR
XXRECON2 DD DSN=&SYS..&SYS2..RECON2,DISP=SHR
XXRECON3 DD DSN=&SYS..&SYS2..RECON3,DISP=SHR

It is a JESJCL ddname of JES2 step of a DBRC starting JCL you can see below:
//ACTDBRC JOB MSGLEVEL=1
//STARTING EXEC ACTDBRC,IMSID=IMSA

My question: What is the means of "&" and "." characters in lines containg "&SYS..SDFSRESL" and "=&SYS..&SYS2..RECON1" phrase .
I know it is a dataset address but I want to understand how and WHICH datasets this phrases points to.

Re: Means of special character in JCL

PostPosted: Sat Jun 30, 2012 8:02 pm
by Robert Sample
You need to find the JCL Reference manual (try http://www.ibm.com if you have no other place to look -- your site probably has the manual either in hardcopy or online somewhere -- and read up on ampersands and periods.

Furthermore, the expanded JCL listing includes the fully resolved data set name, as long as your MSGLEVEL parameter on your JOB statement is set appropriately.

Re: Means of special character in JCL

PostPosted: Sat Jun 30, 2012 8:02 pm
by Akatsukami
The use of "&" in this fashion indicates a symbolic parameter. Such a parameter can be given a value in a number of ways, which will then be substituted for it when the JCL is interpreted.

The lines beginning with "XX" are an expansion of the JCL procedure (often referred to simply as a "proc"). Note that the first two lines are
XX PROC RGN=64M,DPTY='(14,15)',SOUT=A,
XX IMSID=ACT,SYS=IMSV11,SYS2=ACT

Other than the keyword PROC these are all symbolic parameters having values assigned to them.

Later in the JCL is the line
XXRECON1 DD DSN=&SYS..&SYS2..RECON1,DISP=SHR

This will have the values given for SYS and SYS2 substituted at interpretation time, giving
//RECON1 DD DSN=IMSV11.ACT.RECON1,DISP=SHR

The dot or period acts as a delimiter to the parameter, so that &SYS2 can be distinguished from &SYS2RECON. As the period is also used in data set names, two consecutive periods are coded, one of which is consumed by the interpreter DSP.

Read more about symbolic parameters here.

Re: Means of special character in JCL

PostPosted: Sun Jul 01, 2012 3:04 am
by steve-myers
The term "interpreter DSP" near the end of Akatsukami's long post is meaningless to most of the readers and lurkers here. It is a JES3 term. JES2 has the same thing, but it is called by a different name. In the MVS world, the "interpreter" is the piece of MVS that analyzes JCL.

Re: Means of special character in JCL

PostPosted: Sun Jul 01, 2012 1:30 pm
by Monitor
Why not have a look at:
http://www-03.ibm.com/systems/z/educati ... l#BootCamp
http://publib.boulder.ibm.com/infocente ... /index.jsp

Here you an find some free training materials for z/OS and of course JCL and procedures, as an addition to the manual(s) mentioned.