Good Day !
I recently joined a workgroup that was submitting 35 different JCLs one at a time.
Their reason for doing it this way was so that they could check the inputs for each step had been created before going to the next step. Some steps required that the input files had data, others the file could just be blank, but allocated.
To reduce all this manual effort, I combined all 35 JCLs into 1 single JCL, and put an IKJEFT1B batch Rexx step before each step (so 35 batch Rexx steps). The batch Rexx program I wrote(called "Verify") took in 1 parm - the name of the job in the NEXT step.
The logic of "Verify" was thus:
Select
If parm = Job001 then call Check_Job001
.....
If parm = Job035 then call Check_Job035
End
Each section did a LISTDSI based on the known input dataset and abended w/message if any data set was missing or empty.
The abend was a SOC4, so the entire job stopped. I also put in DJCnet to ensure each step finished successfully.
So everything is great... until....
They changed their JCLs so that if a file was not allocated, the JCL would have "NULLFILE" as the DSN.
Sigh. I was wondering if there was any way the "VERIFY" rexx batch program could output a parm to the JCL,
something like ')SET Input004 = NULLFILE' so it would be picked up by the next jobstep.
I considered creating the entire JCL dynamically in Rexx, but that would not work, as some datasets are
created in a prior step. So the Rexx Verify has to happen in between each step.
I read prior threads about Rexx that submitted JCL (internal reader), but I'm not looking to submit JCL,
just add a 'SET' line in the current jcl (that contains the batch RExx). In the past I've dynamically created sysin
cards for later steps, but in this case I am not permitted to change the logic of the program (to take in a sysin card)
as we are testing other group's code. I am only allowed to change the JCL and the "Verify" Rexx program.
Any ideas ?
Thanks in advance for putting on your thinking cap. Mine is shortcircuiting from having to submit hundreds of panels a day that Rexx could do automatically...
RP
I recently joined a workgroup that was submitting 35 different JCLs one at a time.
Their reason for doing it this way was so that they could check the inputs for each step had been created before going to the next step. Some steps required that the input files had data, others the file could just be blank, but allocated.
To reduce all this manual effort, I combined all 35 JCLs into 1 single JCL, and put an IKJEFT1B batch Rexx step before each step (so 35 batch Rexx steps). The batch Rexx program I wrote(called "Verify") took in 1 parm - the name of the job in the NEXT step.
The logic of "Verify" was thus:
Select
If parm = Job001 then call Check_Job001
.....
If parm = Job035 then call Check_Job035
End
Each section did a LISTDSI based on the known input dataset and abended w/message if any data set was missing or empty.
The abend was a SOC4, so the entire job stopped. I also put in DJCnet to ensure each step finished successfully.
So everything is great... until....
They changed their JCLs so that if a file was not allocated, the JCL would have "NULLFILE" as the DSN.
Sigh. I was wondering if there was any way the "VERIFY" rexx batch program could output a parm to the JCL,
something like ')SET Input004 = NULLFILE' so it would be picked up by the next jobstep.
I considered creating the entire JCL dynamically in Rexx, but that would not work, as some datasets are
created in a prior step. So the Rexx Verify has to happen in between each step.
I read prior threads about Rexx that submitted JCL (internal reader), but I'm not looking to submit JCL,
just add a 'SET' line in the current jcl (that contains the batch RExx). In the past I've dynamically created sysin
cards for later steps, but in this case I am not permitted to change the logic of the program (to take in a sysin card)
as we are testing other group's code. I am only allowed to change the JCL and the "Verify" Rexx program.
Any ideas ?
Thanks in advance for putting on your thinking cap. Mine is shortcircuiting from having to submit hundreds of panels a day that Rexx could do automatically...
RP