My requirement is that the name of a file is to be determined in a COBOL program and should be passed back to the JCL executing it, so that it can be used in the subsequent steps.
I know that RETURN-CODE can be used to pass back data from COBOL, but I do not think it is of any use in this case. I am also aware of the technique of setting a global variable in the JCL and passing the reference via PARMS to COBOL, where the value can be modified in the linkage section and can be used in the JCL later.
What I would like to know at this point is
1. What should linkage section variables be to accept the reference, more specifically the data type?
2. Should it be modified in the linkage section itself so that the changes reflect in the JCL or can it be changed in the logic of the COBOL program? I am asking this because the file name is determined by the logic of the program dynamically.
Joined: 14 Mar 2007 Posts: 3508 Location: Brussels once more ...
You can not do it.
The JCL is interpreted at submission time and is unchangable from that point onwards.
You could write the dataset name out to a file and then use dynamic allocation routines in later steps to access the file, but the way you want to do it. No chance.
You can break the JCL up into 2 JOBs. The 1st creates the JCL for the 2nd JOB, where the date is included in the DSN. Then the 2nd step of JOB1 submits the JCL created in the 1st step via INTRDR.
Check via the search facility above for details (use INTRDR as the seach arg).