On Wed, 20 Jun 2018 18:35:01 -0400, Steve Smith wrote:

>Actually, the upshot is exactly not that.  Symbols in SYSIN are always
>resolved when requested by SYMBOLS=.  The program that reads that SYSIN
>never sees any symbols.
>
>The 2nd parm of SYMBOLS is a DDname for a substitution report.  I would
>have assumed you'd get that regardless, but evidently, the SYSIN file has
>to be OPENed to get the substitution report.
> 
I suspect that substitution is lazy, performed at the last possible moment.
For example if the SYSIN is in a PROC called multiple times with different
values of a symbol in effect, won't different executions show those different
values substituted?

Even more, it's possible to cause a (simulated) I/O error if substitution causes
an overlong line.  Will lines prior to that point be read correctly?

>On Wed, Jun 20, 2018 at 5:35 PM, Jesse 1 Robinson wrote:
>
>> I think the upshot here is that support for symbols in *data* is a
>> function of the program being executed. The 'system' will resolve symbols
>> encountered in JCL, but the 'application' has to resolve symbols read from,
>>
We  might quibble about the distinction between 'system' and 'application'.
I believe the substitution is done by the access method or JES.  Is that
'system' or 'application'?

>> say, SYSIN. That's why TYPRUN=SCAN will not show resolved symbols in data:
>> the program is not actually executed. Whether it's EZACFSM1 or IEBGENER,
>> the program has to run in order to resolve symbols.
> 
TYPRUN=SCAN is a farce; increasingly so as new features appear in JCL and
SCAN (SCAM?) fails to accommodate them.  But it never reported things as basic
as overlong qualifiers in data set names.

-- gil

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to