Author: Bill Woodger
Subject: Reply to: Joinkeys with condition
Posted: Wed Feb 15, 2017 7:54 am (GMT 5.5)
If you look at the SYSOUT from you step, you'll see your OUTFILS do not even appear. If you look around further (like file 2 of the spool output for your JOB) you'll find an unnumbered //SYSIN DD * statement saying "GENERATED STATEMENT".
You can't have random cards in a JOB-deck which are not JCL and not data-cards, so if JES finds that situation, it generates the DD statement that you have "forgotten".
If you want to separate parts of your code with comment lines, have an "*" ads the first character. Entirely blank lines are also fine. What you can't do is use a JCL comment, because the input stream is ended by the first JCL statement that it is en, or by "/*" or (for SORT) by an " END".
We could guess your issue, not necessarily its exact form, because you had OUTFILs with apparently mutually-exclusive conditions. The only way both could be empty would be if your input was empty.
You should also look at SAVE on OUTFIL. SAVE says "write here anything which has not appeared on any other OUTFIL". It is like an "ELSE" for OUTFIL INCLUDE/OMIT. Saves you coding negated conditions or entire sets of conditions which are mutually exclusive.
Subject: Reply to: Joinkeys with condition
Posted: Wed Feb 15, 2017 7:54 am (GMT 5.5)
If you look at the SYSOUT from you step, you'll see your OUTFILS do not even appear. If you look around further (like file 2 of the spool output for your JOB) you'll find an unnumbered //SYSIN DD * statement saying "GENERATED STATEMENT".
You can't have random cards in a JOB-deck which are not JCL and not data-cards, so if JES finds that situation, it generates the DD statement that you have "forgotten".
If you want to separate parts of your code with comment lines, have an "*" ads the first character. Entirely blank lines are also fine. What you can't do is use a JCL comment, because the input stream is ended by the first JCL statement that it is en, or by "/*" or (for SORT) by an " END".
We could guess your issue, not necessarily its exact form, because you had OUTFILs with apparently mutually-exclusive conditions. The only way both could be empty would be if your input was empty.
You should also look at SAVE on OUTFIL. SAVE says "write here anything which has not appeared on any other OUTFIL". It is like an "ELSE" for OUTFIL INCLUDE/OMIT. Saves you coding negated conditions or entire sets of conditions which are mutually exclusive.