Hi Jack,
The Rexx comment is unnecessary if the Exec resides in the //SYSEXEC DD.
Regards,
David
On 2024-07-12 12:29, Jack Zukt wrote:
Hi
Shiuld it not begin with /* rexx */ ?
Regards
Jack
On Fri, Jul 12, 2024, 17:22 Schmitt, Michael <[email protected]>
wrote:
I'm on zOS 2.5 now, which has the new feature of allowing the exec for
PGM=IRXJCL to be a sequential file, rather than a member of a PDS. The DD
is still SYSEXEC.
The natural way to code this is:
//JS010 EXEC PGM=IRXJCL
//SYSTSIN DD DUMMY,DISP=SHR
//SYSTSPRT DD SYSOUT=*
//SYSEXEC DD *
SAY 'HELLO, WORLD!'
/*
Bzzt. Nope, that's a R3637.
Time to read the documentation, which is here:
https://www.ibm.com/docs/en/zos/2.5.0?topic=ir-using-irxjcl-run-rexx-exec-in-mvs-batch
What I'd expect to see is documentation of the PARM values, and
documentation for each of the DDs, including SYSEXEC. There isn't any; it
is just a narrative, which specifically says that the parm must:
"Specify the member name of the exec and one argument you want to pass
to the exec in the PARM field on the EXEC statement. You can specify only
the name of a member of a PDS."
And for SYSEXEC (which actually could be a different DD name, determined
by the module name table) is only referred as pointing to a PDS.
What you're suppose to do is ignore what's in the "Using IRXJCL to run a
REXX exec in MVS batch" topic and read the next topic:
https://www.ibm.com/docs/en/zos/2.5.0?topic=routine-using-irxjcl-execute-in-stream-rexx-exec
which serves as kind of an errata to the previous topic. Here we learn
that to get this to work, you must code the PARM string, but with one to
eight x'00' for the member name field!
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?
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.
3. Why was the documentation not fully updated? This is documentation by
counter-example.
4. And, why doesn't the documentation for "Return code for IRXJCL routine"
https://www.ibm.com/docs/en/zos/2.5.0?topic=ir-return-codes
list 3637 as a return code and document what it means? The meaning of
R3637 is documented in return code 20021, which you would only find if you
READ THE COMPLETE DESCRIPTION OF THE RETURN CODE YOU DIDN'T GET.
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.
___________________________________________________
Michael Schmitt | DXC Apps Development | MassMutual
(737) 910-8248 | [email protected]
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN