"IGZ0017S The open of DISPLAY or ACCEPT file with environment name SYSIN was
unsuccessful."
Program outside of TSO then gets an LE User Abend (U4038). No S0C1.
Sure, it is not ideal that under TSO there is a S0C1 instead, but its not that
we are so used to S0C1s from COBOL that we didn't notice, it's that the issue
has already been fully elaborated. Yes, if it happened in front of my face, I'd
probably notice it, and be curious (as it would be unexpected).
For the amount of Enterprise COBOL which is likely to be running under TSO, I'm
not sure a fix would be worth it, but that's something bad happened somewhere
that someone should ideally look at, to see if there are other consequences.
May even be a small fix.
IGZ run-time messages ending in S always end execution of the program. I wonder
if any IGZ-with-S under TSO gets a S0C1? Who knows.
S0C1s are rare in COBOL. If you don't check the linkedit/binder and there's
something unresolved which can't be resolved at run-time (that's hardly COBOL's
fault) and if you squish your procedure code and happen to hit a S0C1 before
anything else.
Now we have another "use case". Run under TSO with ACCEPT (implicitly from
SYSIN) without assigning SYSIN. Possibly other COBOL run-time errors do the
same thing.
If anyone wants to try, a simple run-time error is with "de-editing".
01 FILLER VALUE SPACE.
05 edited-field PIC +9.
01 a-number PIC S9.
MOVE edited-field TO a-number
Will get "IGZ0063S An invalid sign was detected in a numeric edited sending
field in <program> on line number <linenumber>."
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN