ISREDIT MACRO /* CAAM0100 EDIT MACRO */ /* 06/06/2006 C Stern Updated ERROR ROUTINE. /* 11/15/2008 CL Fenton Updated to create evaluation records. /* 02/28/2009 CL Fenton Update in format of UID data information. /* 03/10/2011 CL Fenton Update in obtain addition information. /* 09/24/2019 CL Fenton Updated to process more compact information, /* STS-023242. SET PGMNAME = &STR(CAAM0100 09/24/19) SET RETURN_CODE = 0 /* SET RETURN CODE TO 0 */ ISPEXEC CONTROL NONDISPL ENTER ISPEXEC CONTROL ERRORS RETURN SET SYSPROMPT = OFF /* CONTROL NOPROMPT */ SET SYSFLUSH = OFF /* CONTROL NOFLUSH */ SET SYSASIS = ON /* CONTROL ASIS - caps off */ ISPEXEC VGET ( + CONSLIST + COMLIST + SYMLIST + TERMPRO + TERMMSGS + ) ASIS /* *************************************** */ /* TURN ON MESSAGES */ /* *************************************** */ SET SYSSYMLIST = &SYMLIST /* CONTROL SYMLIST/NOSYMLIST */ SET SYSCONLIST = &CONSLIST /* CONTROL CONLIST/NOCONLIST */ SET SYSLIST = &COMLIST /* CONTROL LIST/NOLIST */ SET SYSMSG = &TERMMSGS /* CONTROL MSG/NOMSG */ /* ERROR ROUTINE */ ERROR DO SET RETURN_CODE = &LASTCC /* SAVE LAST ERROR CODE */ IF &LASTCC GE 16 THEN + WRITE &PGMNAME LASTCC = &LASTCC &ZERRLM RETURN END /* *************************************** */ /* MERGE ENTRIES FOR OMVS SEGMENT */ /* *************************************** */ CATM0100_HOUSEKEEPING: - - ISREDIT (A,B) = AUTOSAVE ISREDIT AUTOSAVE = ON ISREDIT CHANGE ALL ' LAST ' ' LAST ' ISREDIT CHANGE ALL '(' '=' ISREDIT CHANGE ALL ')' ' ' ISREDIT EXCLUDE ALL 'UID=' ISREDIT EXCLUDE ALL 'GID=' ISREDIT CHANGE ALL ',' '' X ISREDIT RESET ISREDIT (ENDER) = LINENUM .ZLAST SET RETURN_CODE = 0 SET SPC=&STR( ) SET SPC=&STR(&SPC&SPC&SPC&SPC&SPC&SPC) ISREDIT (ENDER) = LINENUM .ZLAST /* *************************************** */ /* MAIN LOOP */ /* *************************************** */ CONTROL ASIS ISREDIT CURSOR = 1 0 LOOP: + SET RETURN_CODE = 0 ISREDIT FIND ' OMVS / ' 1 IF &RETURN_CODE NE 0 THEN + GOTO END_EDIT ISREDIT (CNT1,COL) = CURSOR ISREDIT (DATA) = LINE &CNT1 SET USER = &SUBSTR(10:17,&NRSTR(&DATA)) SET USER = &SUBSTR(1:8,&USER ) SET UID = &STR( ) SET GID = SET PGM = &STR( ) SET HOME = &STR( ) SET X = &CNT1 DO UNTIL &NRSTR(&DATA) EQ &STR( ) ISREDIT (DATA) = LINE &X IF &SYSINDEX(UID=,&NRSTR(&DATA)) GT 0 THEN DO SET A = &SYSINDEX(UID=,&NRSTR(&DATA)) + 4 SET B = &SYSINDEX( ,&NRSTR(&DATA),&A) - 1 SET UID = &SUBSTR(&A:&B,&NRSTR(&DATA)) SET UID = &UID SET LUID = &LENGTH(&UID) SET UID = &SUBSTR(&LUID:10,&STR(0000000000))&STR(&UID) SET UID = U&STR(&UID) SET GID = END IF &SYSINDEX(GID=,&NRSTR(&DATA)) GT 0 THEN DO SET A = &SYSINDEX(GID=,&NRSTR(&DATA)) + 4 SET B = &SYSINDEX( ,&NRSTR(&DATA),&A) - 1 SET GID = &SUBSTR(&A:&B,&NRSTR(&DATA )) SET GID = &GID SET LGID = &LENGTH(&GID) SET GID = &SUBSTR(&LGID:10,&STR(0000000000))&STR(&GID) SET GID = G&STR(&GID) SET UID = END IF &SYSINDEX(HOME=,&NRSTR(&DATA)) GT 0 THEN DO SET A = &SYSINDEX(HOME=,&NRSTR(&DATA)) + 5 SET B = &SYSINDEX( ,&NRSTR(&DATA),&A) - 1 SET HOME = &SUBSTR(&A:&B,&NRSTR(&DATA )) SET HOME = &SUBSTR(1:28,&NRSTR(&HOME)&SPC) END IF &SYSINDEX(OMVSPGM=,&NRSTR(&DATA)) GT 0 THEN DO SET A = &SYSINDEX(OMVSPGM=,&NRSTR(&DATA)) + 8 SET B = &SYSINDEX( ,&NRSTR(&DATA),&A) - 1 SET PGM = &SUBSTR(&A:&B,&NRSTR(&DATA )) SET PGM = &SUBSTR(1:15,&NRSTR(&PGM)&SPC) END SET X = &X + 1 IF &X GT &ENDER THEN SET DATA = &STR( ) END SET GRP = &STR( ) SET RETURN_CODE = 0 IF &UID NE &STR( ) THEN DO ISREDIT FIND " RESTRICTIONS " 1 PREV IF &RETURN_CODE EQ 0 THEN DO ISREDIT (DATA) = LINE .ZCSR SET A = &SYSINDEX(GROUP=,&NRSTR(&DATA)) + 6 SET B = &SYSINDEX( ,&NRSTR(&DATA),&A) - 1 SET GRP = &SUBSTR(&A:&B,&NRSTR(&DATA )) SET GRP = &SUBSTR(1:8,&NRSTR(&GRP)&SPC) /* SET GRP = &SUBSTR(37:44,&NRSTR(&DATA&SPC)) END END ISREDIT LINE_AFTER .ZLAST = DATALINE '&USER &UID.&GID &GRP+ &PGM.&HOME' SET CNT1 = &CNT1 + 1 ISREDIT CURSOR = &CNT1 1 GOTO LOOP /* *************************************** */ /* END PROCESSES */ /* *************************************** */ END_EDIT: + IF &MAXCC GE 16 THEN DO ISPEXEC VGET (ZISPFRC) SHARED IF &MAXCC GT &ZISPFRC THEN + SET ZISPFRC = &MAXCC ISPEXEC VPUT (ZISPFRC) SHARED WRITE &PGMNAME ZISPFRC = &ZISPFRC END ISREDIT DELETE 1 &ENDER ISREDIT END EXIT