You are here: Home > Knowledge Refreshers

KR editions 53 to 54


KR-53 Duplicate jobs in spool

Be careful about the jobname when submitting jobs. If you submit 2 jobs at the same time with the same name/ if you submitted a job and if someone else also submitted a job with the same name as yours; then the one which gets picked up first will start executing and the other one will be marked as a duplicate. It'll run only after the first one completed; why? because jobs are identified by jobnames and if you have 2 jobs with the same name, the OS will assume that you are attempting to submit the same job twice. 

How do we know of a duplicate? In your spool if the job is in execution stage but isn't executing (jobs currently being executed will be highlighted) and if there is a "D" at the end then it denotes yours has been marked a duplicate. Actually if you move to the right, you'll see the word DUP (and the column name is STATUS - just scroll to the right in your spool and you'll discover many other columns!).

Note: If both jobs are in the same execution queue then one job will be queued behind the other (won't be marked a duplicate). If both jobs are in different queues (one is X and one is Y) with the same jobname then the one which came second is a duplicate.

Tip: Use your usedID in the job name.


KR-54 JCL listing (XX,++,X/ ?)

Some info about the JCL listings in our SPOOL. When we run a JCL that calls a PROC, we get some XX, ++, X/, // stuff in our JCL listing. 
Let's recap on what each of them mean:

Our PROC has: Our JCL has:
//TXPROC PROC 
//STEP01 EXEC PGM=IKJEFT01,DYNAMNBR=20 
//STEPLIB DD DSN=MVS.LOAD,DISP=SHR
//SELECT DD DUMMY,DCB=BLKSIZE=80 
//COBABEND DD SYSOUT=* 
//COB001 DD DUMMY 
// DD DUMMY 
// DD DUMMY 
//STEP01 EXEC PROC=TXPROC
//TXPROC.COB001 DD DSN=TEST.EMP.FILE,DISP=SHR
// DD DSN=TEST.EMP.FILE2,DISP=SHR


When you submit the JCL, the JCL Listing will be as shown below (JESJCL in our spool):

//STEP01 EXEC PROC=TXPROC
XXTXPROC PROC 

XXTXPROC EXEC PGM=IKJEFT01,DYNAMNBR=20 
XXSTEPLIB DD DSN=MVS.LOAD,DISP=SHR 
XXSELECT DD DUMMY,DCB=BLKSIZE=80 
XXCOBABEND DD SYSOUT=* 
//TXPROC.COB001 DD DSN=TEST.EMP.FILE,DISP=SHR
X/COB001 DD DUMMY 
// DD DSN=TEST.EMP.FILE2,DISP=SHR
X/ DD DUMMY 
XX DD DUMMY 
  • The XX in the JCL listing, denotes that the statement is from the PROC. 
  • The X/ denotes that the procedure statement was modified. In our case, the PROC had DD DUMMY but we wanted to pass a file. The parameters we pass from the JCL will override the PROC parameters (which is why in our case DUMMY was overridden by the file name). 
  • // denotes that it is a JCL statement 
  • XX* denotes a comment in the PROC

Go back to the main contents page