//******************************************************************* //* DELETE DATASETS //******************************************************************* //DELETE EXEC PGM=IEFBR14 //DD1 DD DISP=(MOD,DELETE,DELETE), // SPACE=(TRK,(1,1)), // DSN=RACF.SMF.UNLOAD.ICE20 //******************************************************************* //COPY EXEC PGM=SORT //SYSOUT DD SYSOUT=* //SORTIN DD DISP=SHR,DSN=PROD.RACF.SMF.UNLOAD(0) //SORTOUT DD DISP=OLD,DSN=RACF.SMF.UNLOAD.ICE20 //SORTWK01 DD DISP=(NEW,DELETE,DELETE),SPACE=(0,(1000,350)) //SORTWK02 DD DISP=(NEW,DELETE,DELETE),SPACE=(0,(1000,350)) //SORTWK03 DD DISP=(NEW,DELETE,DELETE),SPACE=(0,(1000,350)) //*------------------------------------------------------------------ //SYSIN DD * SORT FIELDS=(32,10,CH,A,23,8,CH,A) INCLUDE COND=(5,8,CH,EQ,C'ADDSD ',OR, 5,8,CH,EQ,C'ADDGROUP',OR, 5,8,CH,EQ,C'ADDUSER ',OR, 5,8,CH,EQ,C'ALTDSD ',OR, 5,8,CH,EQ,C'ALTGROUP',OR, 5,8,CH,EQ,C'ALTUSER ',OR, 5,8,CH,EQ,C'CONNECT ',OR, 5,8,CH,EQ,C'DELDSD ',OR, 5,8,CH,EQ,C'DELGROUP',OR, 5,8,CH,EQ,C'DELUSER ',OR, 5,8,CH,EQ,C'PASSWORD',OR, 5,8,CH,EQ,C'PERMIT ',OR, 5,8,CH,EQ,C'RALTER ',OR, 5,8,CH,EQ,C'RDEFINE ',OR, 5,8,CH,EQ,C'RDELETE ',OR, 5,8,CH,EQ,C'REMOVE ',OR, 5,8,CH,EQ,C'SETROPTS',OR, 5,8,CH,EQ,C'RVARY ') OPTION VLSHRT /* //*--------------------------------------------------------------- //* CREATE REPORT //*--------------------------------------------------------------- //REPORT EXEC PGM=IKJEFT01,COND=(0,NE) //SYSPROC DD DSN=RACF.LIB.REXX,DISP=SHR //SYSTSPRT DD SYSOUT=* //SYSPRINT DD SYSOUT=* //RACFIN DD DSN=RACF.SMF.UNLOAD.ICE20,DISP=SHR //OUTPUT DD SYSOUT=*,LRECL=300 //SYSTSIN DD * ICE20 //* /* REXX */ /* RACF.LIB.REXX(ICE20) */ /*----------------------------------------------------------------*/ $KNTR = 0 $FAIL_KNTR = 0 /*------------------------------------------------------------------*/ /* ALLOCATE THE RACF COMMAND INPUT DATASET */ /*------------------------------------------------------------------*/ "EXECIO * DISKR RACFIN (STEM RACFIN_REC. FINIS" "FREE F(RACFIN)" SAY RACFIN_REC.0 'RECORDS TO CHECK.' /*------------------------------------------------------------------*/ /* DISPLAY HEADER */ /*------------------------------------------------------------------*/ $TODAY = DATE() $TODAY = SUBWORD($TODAY,2,1) SUBWORD($TODAY,1,1)"," SUBWORD($TODAY,3) QUEUE "TODAY'S DATE:" DATE('W') $TODAY " JULIAN: "DATE('D') , " TIME IS:" TIME() QUEUE ' ' QUEUE ' ' QUEUE CENTER('===============================',80) QUEUE CENTER('RACF COMMANDS ISSUED',80) QUEUE CENTER('===============================',80) QUEUE ' ' "EXECIO * DISKW" OUTPUT /*------------------------------------------------------------------*/ /* READ EACH INPUT RECORD */ /*------------------------------------------------------------------*/ DO $X = 1 TO RACFIN_REC.0 PARSE VAR RACFIN_REC.$X 1 $CMD +8 . SELECT WHEN $CMD = 'ADDSD' THEN CALL CMD_ADDSD WHEN $CMD = 'ADDGROUP' THEN CALL CMD_ADDGROUP WHEN $CMD = 'ADDUSER' THEN CALL CMD_ADDUSER WHEN $CMD = 'ALTDSD' THEN CALL CMD_ALTDSD WHEN $CMD = 'ALTGROUP' THEN CALL CMD_ALTGROUP WHEN $CMD = 'ALTUSER' THEN CALL CMD_ALTUSER WHEN $CMD = 'CONNECT' THEN CALL CMD_CONNECT WHEN $CMD = 'DELDSD' THEN CALL CMD_DELDSD WHEN $CMD = 'DELGROUP' THEN CALL CMD_DELGROUP WHEN $CMD = 'DELUSER' THEN CALL CMD_DELUSER WHEN $CMD = 'PASSWORD' THEN CALL CMD_PASSWORD WHEN $CMD = 'PERMIT' THEN CALL CMD_PERMIT WHEN $CMD = 'RALTER' THEN CALL CMD_RALTER WHEN $CMD = 'RDEFINE' THEN CALL CMD_RDEFINE WHEN $CMD = 'RDELETE' THEN CALL CMD_RDELETE WHEN $CMD = 'REMOVE' THEN CALL CMD_REMOVE WHEN $CMD = 'SETROPTS' THEN CALL CMD_SETROPTS WHEN $CMD = 'RVARY' THEN CALL CMD_RVARY OTHERWISE CALL CMD_ERROR END /* SELECT.. */ END /* DO $X... */ /*------------------------------------------------------------------*/ /* CLOSE THE 'DISPLAY' FILE */ /*------------------------------------------------------------------*/ QUEUE ' ' QUEUE ' ' $LINE = '---> '$KNTR 'RACF COMMANDS LISTED <---' QUEUE CENTER($LINE,80) QUEUE ' ' $LINE = '---> '$FAIL_KNTR 'RACF COMMANDS LISTED FAILED <---' QUEUE CENTER($LINE,80) QUEUE ' ' QUEUE ' ' QUEUE ' RECORDS SHOWN THAT DISPLAY "**" BEFORE THE RACF', 'COMMAND WERE --> FAILURES <--.' QUEUE '' "EXECIO * DISKW "OUTPUT" (FINIS" /*------------------------------------------------------------------*/ "FREE F("OUTPUT")" DROPBUF 0 EXIT /*==================================================================*/ CMD_ADDSD: PARSE VAR RACFIN_REC.$X 520 $PROFILE 563 , 10 $STATUS 18 , 28 $DATE 38 , 19 $TIME 27 , 59 $ADMIN 67 , 565 $PARMS 654 $PROFILE = STRIP($PROFILE) $DATE = STRIP($DATE) $TIME = STRIP($TIME) $ADMIN = STRIP($ADMIN) $PARMS = STRIP($PARMS) $STATUS = STRIP($STATUS) IF $STATUS = 'SUCCESS' THEN $FLAG = '--' ELSE $FLAG = '**' IF $FLAG = '**' THEN $FAIL_KNTR = $FAIL_KNTR +1 QUEUE $DATE $TIME LEFT($ADMIN,8) $FLAG, LEFT($CMD,8) LEFT($PROFILE,8) $PARMS EXECIO 1 DISKW OUTPUT $KNTR = $KNTR +1 RETURN /*==================================================================*/ CMD_ADDGROUP: PARSE VAR RACFIN_REC.$X 494 $GROUP 502 , 10 $STATUS 18 , 28 $DATE 38 , 19 $TIME 27 , 59 $ADMIN 67 , 503 $PARMS 650 $GROUP = STRIP($GROUP) $DATE = STRIP($DATE) $TIME = STRIP($TIME) $ADMIN = STRIP($ADMIN) $PARMS = STRIP($PARMS) $STATUS = STRIP($STATUS) IF $STATUS = 'SUCCESS' THEN $FLAG = '--' ELSE $FLAG = '**' IF $FLAG = '**' THEN $FAIL_KNTR = $FAIL_KNTR +1 QUEUE $DATE $TIME LEFT($ADMIN,8) $FLAG, LEFT($CMD,8) LEFT($GROUP,8) $PARMS EXECIO 1 DISKW OUTPUT $KNTR = $KNTR +1 RETURN /*==================================================================*/ CMD_ADDUSER: PARSE VAR RACFIN_REC.$X 504 $USERID 512 , 10 $STATUS 18 , 28 $DATE 38 , 19 $TIME 27 , 59 $ADMIN 67 , 513 $PARMS 692 $USERID = STRIP($USERID) $DATE = STRIP($DATE) $TIME = STRIP($TIME) $ADMIN = STRIP($ADMIN) $PARMS = STRIP($PARMS) $STATUS = STRIP($STATUS) IF $STATUS = 'SUCCESS' THEN $FLAG = '--' ELSE $FLAG = '**' IF $FLAG = '**' THEN $FAIL_KNTR = $FAIL_KNTR +1 QUEUE $DATE $TIME LEFT($ADMIN,8) $FLAG, LEFT($CMD,8) LEFT($USERID,8) $PARMS EXECIO 1 DISKW OUTPUT $KNTR = $KNTR +1 RETURN /*==================================================================*/ CMD_ALTDSD: PARSE VAR RACFIN_REC.$X 520 $PROFILE 563 , 10 $STATUS 18 , 28 $DATE 38 , 19 $TIME 27 , 59 $ADMIN 67 , 565 $PARMS 654 $PROFILE = STRIP($PROFILE) $DATE = STRIP($DATE) $TIME = STRIP($TIME) $ADMIN = STRIP($ADMIN) $PARMS = STRIP($PARMS) $STATUS = STRIP($STATUS) IF $STATUS = 'SUCCESS' THEN $FLAG = '--' ELSE $FLAG = '**' IF $FLAG = '**' THEN $FAIL_KNTR = $FAIL_KNTR +1 QUEUE $DATE $TIME LEFT($ADMIN,8) $FLAG, LEFT($CMD,8) LEFT($PROFILE,8) $PARMS EXECIO 1 DISKW OUTPUT $KNTR = $KNTR +1 RETURN /*==================================================================*/ CMD_ALTGROUP: PARSE VAR RACFIN_REC.$X 494 $GROUP 502 , 10 $STATUS 18 , 28 $DATE 38 , 19 $TIME 27 , 59 $ADMIN 67 , 503 $PARMS 650 $GROUP = STRIP($GROUP) $DATE = STRIP($DATE) $TIME = STRIP($TIME) $ADMIN = STRIP($ADMIN) $PARMS = STRIP($PARMS) $STATUS = STRIP($STATUS) IF $STATUS = 'SUCCESS' THEN $FLAG = '--' ELSE $FLAG = '**' IF $FLAG = '**' THEN $FAIL_KNTR = $FAIL_KNTR +1 QUEUE $DATE $TIME LEFT($ADMIN,8) $FLAG, LEFT($CMD,8) LEFT($GROUP,8) $PARMS EXECIO 1 DISKW OUTPUT $KNTR = $KNTR +1 RETURN /*==================================================================*/ CMD_ALTUSER: PARSE VAR RACFIN_REC.$X 518 $USERID 526 , 10 $STATUS 18 , 28 $DATE 38 , 19 $TIME 27 , 59 $ADMIN 67 , 527 $PARMS 692 $USERID = STRIP($USERID) $DATE = STRIP($DATE) $TIME = STRIP($TIME) $ADMIN = STRIP($ADMIN) $PARMS = STRIP($PARMS) $STATUS = STRIP($STATUS) IF $STATUS = 'SUCCESS' THEN $FLAG = '--' ELSE $FLAG = '**' IF $FLAG = '**' THEN $FAIL_KNTR = $FAIL_KNTR +1 QUEUE $DATE $TIME LEFT($ADMIN,8) $FLAG, LEFT($CMD,8) LEFT($USERID,8) $PARMS EXECIO 1 DISKW OUTPUT $KNTR = $KNTR +1 RETURN /*==================================================================*/ CMD_CONNECT: PARSE VAR RACFIN_REC.$X 494 $USERID 501 , 10 $STATUS 18 , 28 $DATE 38 , 19 $TIME 27 , 59 $ADMIN 67 , 502 $PARMS 674 $USERID = STRIP($USERID) $DATE = STRIP($DATE) $TIME = STRIP($TIME) $ADMIN = STRIP($ADMIN) $PARMS = STRIP($PARMS) $STATUS = STRIP($STATUS) IF $STATUS = 'SUCCESS' THEN $FLAG = '--' ELSE $FLAG = '**' IF $FLAG = '**' THEN $FAIL_KNTR = $FAIL_KNTR +1 QUEUE $DATE $TIME LEFT($ADMIN,8) $FLAG, LEFT($CMD,8) LEFT($USERID,8) $PARMS EXECIO 1 DISKW OUTPUT $KNTR = $KNTR +1 RETURN /*==================================================================*/ CMD_DELDSD: PARSE VAR RACFIN_REC.$X 520 $PROFILE 563 , 10 $STATUS 18 , 28 $DATE 38 , 19 $TIME 27 , 59 $ADMIN 67 , 565 $PARMS 654 $PROFILE = STRIP($PROFILE) $DATE = STRIP($DATE) $TIME = STRIP($TIME) $ADMIN = STRIP($ADMIN) $PARMS = STRIP($PARMS) $STATUS = STRIP($STATUS) IF $STATUS = 'SUCCESS' THEN $FLAG = '--' ELSE $FLAG = '**' IF $FLAG = '**' THEN $FAIL_KNTR = $FAIL_KNTR +1 QUEUE $DATE $TIME LEFT($ADMIN,8) $FLAG, LEFT($CMD,8) LEFT($PROFILE,8) $PARMS EXECIO 1 DISKW OUTPUT $KNTR = $KNTR +1 RETURN /*==================================================================*/ CMD_DELGROUP: PARSE VAR RACFIN_REC.$X 494 $GROUP 502 , 10 $STATUS 18 , 28 $DATE 38 , 19 $TIME 27 , 59 $ADMIN 67 $GROUP = STRIP($GROUP) $DATE = STRIP($DATE) $TIME = STRIP($TIME) $ADMIN = STRIP($ADMIN) $STATUS = STRIP($STATUS) IF $STATUS = 'SUCCESS' THEN $FLAG = '--' ELSE $FLAG = '**' IF $FLAG = '**' THEN $FAIL_KNTR = $FAIL_KNTR +1 QUEUE $DATE $TIME LEFT($ADMIN,8) $FLAG, LEFT($CMD,8) LEFT($GROUP,8) EXECIO 1 DISKW OUTPUT $KNTR = $KNTR +1 RETURN /*==================================================================*/ CMD_DELUSER: PARSE VAR RACFIN_REC.$X 494 $USERID 501 , 10 $STATUS 18 , 28 $DATE 38 , 19 $TIME 27 , 59 $ADMIN 67 $USERID = STRIP($USERID) $DATE = STRIP($DATE) $TIME = STRIP($TIME) $ADMIN = STRIP($ADMIN) $STATUS = STRIP($STATUS) IF $STATUS = 'SUCCESS' THEN $FLAG = '--' ELSE $FLAG = '**' IF $FLAG = '**' THEN $FAIL_KNTR = $FAIL_KNTR +1 QUEUE $DATE $TIME LEFT($ADMIN,8) $FLAG, LEFT($CMD,8) LEFT($USERID,8) EXECIO 1 DISKW OUTPUT $KNTR = $KNTR +1 RETURN /*==================================================================*/ CMD_PASSWORD: PARSE VAR RACFIN_REC.$X 28 $DATE 38 , 10 $STATUS 18 , 19 $TIME 27 , 59 $ADMIN 67 , 494 $PARMS 574 $DATE = STRIP($DATE) $TIME = STRIP($TIME) $ADMIN = STRIP($ADMIN) $PARMS = STRIP($PARMS) $STATUS = STRIP($STATUS) IF $STATUS = 'SUCCESS' THEN $FLAG = '--' ELSE $FLAG = '**' IF $FLAG = '**' THEN $FAIL_KNTR = $FAIL_KNTR +1 QUEUE $DATE $TIME LEFT($ADMIN,8) $FLAG, LEFT($CMD,8) $PARMS EXECIO 1 DISKW OUTPUT $KNTR = $KNTR +1 RETURN /*==================================================================*/ CMD_PERMIT: PARSE VAR RACFIN_REC.$X 503 $PROF 757 , 10 $STATUS 18 , 28 $DATE 38 , 19 $TIME 27 , 59 $ADMIN 67 , 759 $PARMS 850 $PROF = STRIP($PROF) $DATE = STRIP($DATE) $TIME = STRIP($TIME) $ADMIN = STRIP($ADMIN) $PARMS = STRIP($PARMS) $STATUS = STRIP($STATUS) IF $STATUS = 'SUCCESS' THEN $FLAG = '--' ELSE $FLAG = '**' IF $FLAG = '**' THEN $FAIL_KNTR = $FAIL_KNTR +1 QUEUE $DATE $TIME LEFT($ADMIN,8) $FLAG, LEFT($CMD,8) $PROF $PARMS EXECIO 1 DISKW OUTPUT $KNTR = $KNTR +1 RETURN /*==================================================================*/ CMD_RALTER: PARSE VAR RACFIN_REC.$X 512 $PROF 766 , 10 $STATUS 18 , 28 $DATE 38 , 19 $TIME 27 , 59 $ADMIN 67 , 768 $PARMS 850 $PROF = STRIP($PROF) $DATE = STRIP($DATE) $TIME = STRIP($TIME) $ADMIN = STRIP($ADMIN) $PARMS = STRIP($PARMS) $STATUS = STRIP($STATUS) IF $STATUS = 'SUCCESS' THEN $FLAG = '--' ELSE $FLAG = '**' IF $FLAG = '**' THEN $FAIL_KNTR = $FAIL_KNTR +1 QUEUE $DATE $TIME LEFT($ADMIN,8) $FLAG, LEFT($CMD,8) LEFT($PROF,8) $PARMS EXECIO 1 DISKW OUTPUT $KNTR = $KNTR +1 RETURN /*==================================================================*/ CMD_RDEFINE: PARSE VAR RACFIN_REC.$X 512 $PROF 766 , 10 $STATUS 18 , 28 $DATE 38 , 19 $TIME 27 , 59 $ADMIN 67 , 768 $PARMS 850 $PROF = STRIP($PROF) $DATE = STRIP($DATE) $TIME = STRIP($TIME) $ADMIN = STRIP($ADMIN) $PARMS = STRIP($PARMS) $STATUS = STRIP($STATUS) IF $STATUS = 'SUCCESS' THEN $FLAG = '--' ELSE $FLAG = '**' IF $FLAG = '**' THEN $FAIL_KNTR = $FAIL_KNTR +1 QUEUE $DATE $TIME LEFT($ADMIN,8) $FLAG, LEFT($CMD,8) LEFT($PROF,8) $PARMS EXECIO 1 DISKW OUTPUT $KNTR = $KNTR +1 RETURN /*==================================================================*/ CMD_RDELETE: PARSE VAR RACFIN_REC.$X 512 $PROF 766 , 10 $STATUS 18 , 28 $DATE 38 , 19 $TIME 27 , 59 $ADMIN 67 , 768 $PARMS 850 $PROF = STRIP($PROF) $DATE = STRIP($DATE) $TIME = STRIP($TIME) $ADMIN = STRIP($ADMIN) $PARMS = STRIP($PARMS) $STATUS = STRIP($STATUS) IF $STATUS = 'SUCCESS' THEN $FLAG = '--' ELSE $FLAG = '**' IF $FLAG = '**' THEN $FAIL_KNTR = $FAIL_KNTR +1 QUEUE $DATE $TIME LEFT($ADMIN,8) $FLAG, LEFT($CMD,8) LEFT($PROF,8) $PARMS EXECIO 1 DISKW OUTPUT $KNTR = $KNTR +1 RETURN /*==================================================================*/ CMD_REMOVE: PARSE VAR RACFIN_REC.$X 494 $USERID 501 , 10 $STATUS 18 , 28 $DATE 38 , 19 $TIME 27 , 59 $ADMIN 67 , 503 $PARMS 574 $USERID = STRIP($USERID) $DATE = STRIP($DATE) $TIME = STRIP($TIME) $ADMIN = STRIP($ADMIN) $PARMS = STRIP($PARMS) $STATUS = STRIP($STATUS) IF $STATUS = 'SUCCESS' THEN $FLAG = '--' ELSE $FLAG = '**' IF $FLAG = '**' THEN $FAIL_KNTR = $FAIL_KNTR +1 QUEUE $DATE $TIME LEFT($ADMIN,8) $FLAG, LEFT($CMD,8) LEFT($USERID,8) $PARMS EXECIO 1 DISKW OUTPUT $KNTR = $KNTR +1 RETURN /*==================================================================*/ CMD_SETROPTS: PARSE VAR RACFIN_REC.$X 28 $DATE 38 , 10 $STATUS 18 , 19 $TIME 27 , 59 $ADMIN 67 , 485 $PARMS 574 $DATE = STRIP($DATE) $TIME = STRIP($TIME) $ADMIN = STRIP($ADMIN) $PARMS = STRIP($PARMS) $STATUS = STRIP($STATUS) IF $STATUS = 'SUCCESS' THEN $FLAG = '--' ELSE $FLAG = '**' IF $FLAG = '**' THEN $FAIL_KNTR = $FAIL_KNTR +1 QUEUE $DATE $TIME LEFT($ADMIN,8) $FLAG, LEFT($CMD,8) $PARMS EXECIO 1 DISKW OUTPUT $KNTR = $KNTR +1 RETURN /*==================================================================*/ CMD_RVARY: PARSE VAR RACFIN_REC.$X 28 $DATE 38 , 10 $STATUS 18 , 19 $TIME 27 , 59 $ADMIN 67 , 485 $PARMS 574 $DATE = STRIP($DATE) $TIME = STRIP($TIME) $ADMIN = STRIP($ADMIN) $PARMS = STRIP($PARMS) $STATUS = STRIP($STATUS) IF $STATUS = 'SUCCESS' THEN $FLAG = '--' ELSE $FLAG = '**' IF $FLAG = '**' THEN $FAIL_KNTR = $FAIL_KNTR +1 QUEUE $DATE $TIME LEFT($ADMIN,8) $FLAG, LEFT($CMD,8) $PARMS EXECIO 1 DISKW OUTPUT $KNTR = $KNTR +1 RETURN /*==================================================================*/ CMD_ERROR: QUEUE 'ERROR RECORD #'$X EXECIO 1 DISKW OUTPUT RETURN