/* REXX */ /* CLS2REXXed by UMLA01S on 12 May 2022 at 13:17:53 */ /*trace r?*/ Signal On NoValue Call On Error Signal On Failure Signal On Syntax Parse source opsys . exec_name . Address ISREDIT "MACRO" /* CATM1005 EDIT MACRO */ /*********************************************************************/ /* 06/15/2004 JL Nelson Added Exit code. */ /* 05/12/2022 CL Fenton Converted script from CLIST to REXX. */ /* */ /* */ /* */ /*********************************************************************/ pgmname = "CATM1005 05/12/22" sysprompt = "OFF" /* CONTROL NOPROMPT */ sysflush = "OFF" /* CONTROL NOFLUSH */ sysasis = "ON" /* CONTROL ASIS - caps off */ return_code = 0 Numeric digits 10 /* default of 9 not enough */ maxcc = 0 zerrsm = "" zerrlm = "" zerrmsg = "" tm5vge = 0 /*******************************************/ /* Variables are passed to this macro */ /* CONSLIST */ /* COMLIST */ /* SYMLIST */ /* TERMMSGS */ /*******************************************/ return_code = 0 /* SET RETURN CODE TO 0 */ Address ISPEXEC "CONTROL NONDISPL ENTER" Address ISPEXEC "CONTROL ERRORS RETURN" /*******************************************/ /* VARIABLES ARE PASSED TO THIS MACRO */ /*******************************************/ Address ISPEXEC "VGET (CONSLIST COMLIST SYMLIST TERMMSGS) ASIS" If return_code <> 0 then, tm5vge = return_code /*******************************************/ /* TURN ON MESSAGES */ /*******************************************/ MESSAGE_HOUSEKEEPING: If CONSLIST = "ON" | COMLIST = "ON" | SYMLIST = "ON" , then Trace ?r syssymlist = symlist /* CONTROL SYMLIST/NOSYMLIST */ sysconlist = conslist /* CONTROL CONLIST/NOCONLIST */ syslist = comlist /* CONTROL LIST/NOLIST */ sysmsg = termmsgs /* CONTROL MSG/NOMSG */ return_code = 0 /* SET RETURN CODE TO 0 */ /*******************************************/ /* GET TABLE VALUES */ /*******************************************/ "(ENDER) = LINENUM .ZLAST" table = "" Do CNT = 1 to ender "(DATA) = LINE" cnt If pos("*",data) = 0 then, table = table""left(data,15) end return_code = 0 ERR_EXIT: If maxcc >= 16 | return_code > 0 then do Address ISPEXEC "VGET (ZISPFRC) SHARED" If maxcc > zispfrc then, zispfrc = maxcc Else, zispfrc = return_code Address ISPEXEC "VPUT (ZISPFRC) SHARED" Say pgmname "ZISPFRC =" zispfrc end Address ISPEXEC "VPUT (TM5VGE TABLE) ASIS" "END" Exit 0 /*******************************************/ /* SYSCALL SUBROUTINES */ /*******************************************/ NoValue: Failure: Syntax: say pgmname 'REXX error' rc 'in line' sigl':' strip(ERRORTEXT(rc)) say SOURCELINE(sigl) SIGNAL ERR_EXIT Error: return_code = RC if RC > 4 & RC <> 8 then do say pgmname "LASTCC =" RC strip(zerrlm) say pgmname 'REXX error' rc 'in line' sigl':' strip(ERRORTEXT(rc)) say SOURCELINE(sigl) end if return_code > maxcc then maxcc = return_code return