Here is how I handled this at one time: I put this CLIST in **sysproc dsn**:
PROC 2 TYPE DSN CONTROL END(ENDO) ERROR DO GOTO OUT ENDO IF &SYSDSN('SYS1.IWASUSED') NE OK THEN GOTO OUT ALLOC FI(IWASUSED) DA('SYS1.IWASUSED') MOD IF &LASTCC > 0 THEN GOTO OUT IF &SYSENV = FORE THEN SET PROC = &SYSPROC ELSE SET PROC = BATCH IF &SYSENV = FORE THEN SET JOBN = &SYSUID ELSE SET JOBN = &SYSSYMDEF(JOBNAME) OPENFILE IWASUSED OUTPUT SET IWASUSED = &STR(&SYSDATE &SYSTIME &JOBN &PROC &TYPE &DSN) PUTFILE IWASUSED CLOSFILE IWASUSED FREE FI(IWASUSED) OUT: + SET MAXCC = 0 SET LASTCC = 0 EXIT CODE(0) I set up RACF with UACC (Update) for SYS1.IWASUSED Then I added these 4 lines as the first step in any Proc that I wanted to track: //IWASUSED EXEC PGM=IKJEFT01,COND=EVEN, // PARM='IWASUSED PROC *the dsn and member I am editing goes here*' //SYSPROC DD DISP=SHR,DSN=**sysproc dsn** //SYSTSPRT DD DUMMY //SYSTSIN DD DUMMY I also sometimes added the ISPF stats as a comment in the step, so I could remember the last time the member was updated before me. Check SYS1.IWASUSED at least once a week - just in case something does get used a lot. ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN