No; if you code an explicit DSN then SYSPROC and SYSEXEC are irrelevant. It's only whn you code *(member) that EXEC looks in the SYSPROC and SYSEXEC concatenations[*]. Also, EXEC doesn't look for DD statements, it looks at the current state of the session, which could have been modified by ALTLIB or dynamic allocation.
[*] Subject to any active ALTLIB. -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 ________________________________________ From: IBM Mainframe Discussion List [[email protected]] on behalf of CM Poncelet [[email protected]] Sent: Wednesday, September 29, 2021 3:01 PM To: [email protected] Subject: Re: PL/I vs. JCL An EX 'dsn(member)' would require no /* REXX */ card if 'dsn' is allocated to DDNAME=SYSEXEC in the user's TSO logon PROC, but would require it if is allocated to DDNAME=SYSPROC in ditto. The OS first checks whether a SYSEXEC DD is coded and, if yes, whether the '(member)' is in it - and, if not, it then checks for a SYSPROC DD etc. and any REXX '(member)' in it must then have a /* REXX */ card at its 'top' to indicate that it is a REXX exec and not a CLIST. On 29/09/2021 17:42, Skip Robinson wrote: > How about invoking a module directly? No SYSPROC is involved here. > > EX 'dsn(member)' > > I have no way to test it at the moment. > > On Wed, Sep 29, 2021 at 7:22 AM Seymour J Metz <[email protected]> wrote: > >> TSO SYSPROC is the only case I know of where /* REXX */ is required. >> >> >> -- >> Shmuel (Seymour J.) Metz >> http://mason.gmu.edu/~smetz3 >> >> ________________________________________ >> From: IBM Mainframe Discussion List [[email protected]] on behalf >> of Phil Smith III [[email protected]] >> Sent: Wednesday, September 29, 2021 10:06 AM >> To: [email protected] >> Subject: Re: PL/I vs. JCL >> >> Bob Bridges wrote: >> >>> Purely by the way, but I've never really understood why so many REXX >> modules I see start like this: >> >>> /* REXX */ >> <snip> >> >> >> >> I think (a) it's documented that way in some places; (b) Some environments >> may even require that; (c) that's how some/many examples have it; and (d) >> it's bizarre, because these all work in TSO: >> >> /* Rexx */ >> /* This rexx program. */ >> >> /* This is (rexx) */ >> >> /* This is not(rexx)s */ >> >> /* Thisisrexxyep */ >> >> but >> >> /* This is a program */ >> >> does not. So something is parsing the entire first line, looking for the >> leading "/*" and four letters "rexx" in a row, case-insensitive. Bizarre. >> >> >> >> Having grown up in VM, I'd never even thought about it, other than knowing >> that I needed the word "rexx" in the first line in TSO. (On VM, just the >> leading "/*" is sufficient.) >> >> -- > Skip Robinson > 323-715-0595 > > ---------------------------------------------------------------------- > 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
