© ronaldmacrae@newsgroup

This program reads the system ID from the task control blocks.

If the routine was invoked as a function or subroutine, the result is passed back via RETURN.

If the program is used as a COMMAND (please note: also true for SELECT CMD(progname)), the result will be returned via SAY for TSO native and via ISPF message otherwise.

/* rexx
*/
PARSE SOURCE . TYPE .
SYSID = STRIP(STORAGE( D2X(C2D( STORAGE(10,4) ) + 340),8))
IF TYPE = "COMMAND" THEN DO
   IF SYSVAR("SYSISPF") = "ACTIVE" THEN DO
      ZEDSMSG = "sysid =" sysid
      ZEDLMSG = "SYSTEM ID FROM CVT +340 =" SYSID
      ADDRESS ISPEXEC "SETMSG MSG(ISRZ001)"
   END
   ELSE SAY "SYSTEM ID FROM CVT +340 =" SYSID
   EXIT 0
END
ELSE RETURN SYSID

back to The Power of REXX