//*******************************************************************   
//*  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

    Source: geocities.com/steveneeland