A number of people have responded but not actually spelled out the reason. A comment in the first line containing "REXX" is required if the module resides in a //SYSPROC DD -- and not if it's in the //SYSEXEC DD -- because //SYSPROC modules are interpreted by default by the CLIST interpreter and //SYSEXEC by the REXX interpreter. The /* REXX */ marker in a //SYSPROC module gives the system a chance to toggle over to REXX. There is no analogous switch, AFAIK, to have //SYSEXEC modules interpreted as CLISTs.
I'm inferring; I don't recall reading exactly this in any documentation. But it makes sense. --- Bob Bridges, [email protected], cell 336 382-7313 /* Asked during these last weeks who caused the riots and the killing in LA, my answer has been direct and simple: Who is to blame for the riots? The rioters are to blame. Who is to blame for the killings? The killers are to blame. -Dan Quayle, U.S. Vice President, after the Rodney King riots in LA */ -----Original Message----- From: IBM Mainframe Discussion List <[email protected]> On Behalf Of Seymour J Metz Sent: Wednesday, September 29, 2021 10:22 TSO SYSPROC is the only case I know of where /* REXX */ is required. -----Original Message----- From: IBM Mainframe Discussion List <[email protected]> On Behalf Of Phil Smith III Sent: Wednesday, September 29, 2021 10:07 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. -----Original Message----- From: IBM Mainframe Discussion List <[email protected]> On Behalf Of CM Poncelet Sent: Tuesday, September 28, 2021 21:58 The "/* REXX */" part is required only if the REXX exec is to be run from a PDS allocated to DDNAME=SYSPROC instead of to DDNAME=SYSEXEC. SYSPROC is for CLISTs, SYSEXEC is for REXXs. > --- On 29/09/2021 6:54 am, Bob Bridges wrote: >> Purely by the way, but I've never really understood why so many REXX >> modules I see start like this: >> >> /* REXX */ >> /* Module: Name >> Author: Bob Bridges the Magnificent >> Purpose: Convert ANSI dates to internal format, or whatever. */ >> >> ...instead of something like this: >> >> /* This REXX converts ANSI dates to internal format, or whatever. >> */ >> /* Module: Name >> Author: Bob Bridges the Magnificent */ ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
