On Fri, 12 Jul 2024 17:18:29 +0000, Schmitt, Michael wrote:

>Yeah, this seems like it is...
>
>1. IBM adds a secret hack to IRXJCL for internal purposes, where a member name 
>of x'00' means to read SYSEXEC as sequential. This isn't documented because no 
>one is supposed to know about it.
>
>Since it is a secret, all of the existing edits are retained. Such as, the 
>edit that you must provide a member name and SYSEXEC can't be sequential.
>
>2. There's enhancement requests submitted: "Why can't we use IRXJCL with an 
>instream data or other sequential file?"
>
>3. IBf finally decides to accede to the enhancement requests. They send this 
>to Development: "Allow sequential input to IRXJCL".
>
>4. Development says, hey all we need to do is document the secret hack, and we 
>can go home early!
>
>So they do the absolute least amount of work: just add a new topic to the 
>documentation, that documents the kludge.
> 
Yes. but I believe it was never a "secret hack", but a byproduct.
<https://www.ibm.com/docs/en/zos/3.1.0?topic=routine-exec-block-execblk>
MEMBER  Specifies the member name of the exec
           if the exec is in a partitioned data set. If the exec is in a
           sequential data set, this field must be blank.

ISTR pretty clearly that in earlier releases it said, not "blank" but 8x'00'.
Something may have changed, but IBM elected to maintain compatibility,
even with undocumented behavior.  Sometimes IBM does that.

>-----Original Message-----
>From:  Paul Gilmartin
>Sent: Friday, July 12, 2024 11:53 AM
>
>On Fri, 12 Jul 2024 16:21:57 +0000, Schmitt, Michael wrote:
>>    ...
>>My questions are:
>>
>>1. Why such an obscure method of saying that the SYSEXEC is sequential? Why 
>>not, oh I don't know, process SYSEXEC as sequential if the organization of 
>>SYSEXEC is sequential?
>>
>It would have been better.
>
>>2. If it must be that it uses the PARM value to know that it is sequential, 
>>why does it use a member name of x'00'? Can you think of ANY other 
>>user-facing utility that works this way? I mean, something users put in JCL, 
>>not some program API.
>>
>This has long been known in the lore as an undocumented consequence of
>the assembler interface to REXX.  IBM chose to add misleading description
>rather than user-friendly code.
>
>>    ...
>>This makes no sense. The entire topic is about running IRXJCL in MVS batch, 
>>so you're never going to see 20021. It should document the return code you 
>>will get. If it wants to explain what you might get if running IRXJCL a 
>>different way, then *that* should be in the Notes.
>
>And in the doc i read "either a single x'00' character or a 2 to 8 character 
>name consisting of x'00' characters."
>
>Isn't that a needlessly roundabout paraphrase of "a 1 to 8 character name 
>consisting of x'00' characters"?

-- 
gil

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to