/*PARMS OPTION(*SRCDBG) */ PGM PARM(&PGMQLF &UPDPROD) DCL VAR(&PGMQLF) TYPE(*CHAR) LEN(20) DCL VAR(&PGMNAM) TYPE(*CHAR) LEN(10) DCL VAR(&PGMLIB) TYPE(*CHAR) LEN(10) DCL VAR(&RTNLIB) TYPE(*CHAR) LEN(10) DCL VAR(&UPDPROD) TYPE(*CHAR) LEN(4) MONMSG MSGID(CPF0000) EXEC(GOTO CMDLBL(ERROR)) CHGVAR VAR(&PGMNAM) VALUE(%SST(&PGMQLF 01 10)) CHGVAR VAR(&PGMLIB) VALUE(%SST(&PGMQLF 11 10)) ENDDBG MONMSG MSGID(CPF0000) CLRPFM FILE(QTEMP/TRACEIT) MONMSG MSGID(CPF3142) EXEC(DO) RTVOBJD OBJ(TRACEIT) OBJTYPE(*FILE) RTNLIB(&RTNLIB) CRTDUPOBJ OBJ(TRACEIT) FROMLIB(&RTNLIB) OBJTYPE(*FILE) + TOLIB(QTEMP) DATA(*NO) ENDDO OVRDBF FILE(TRACEIT) TOFILE(QTEMP/TRACEIT) + OVRSCOPE(*JOB) RTVOBJD OBJ(&PGMLIB/&PGMNAM) OBJTYPE(*PGM) + RTNLIB(&RTNLIB) MONMSG MSGID(CPF0000) IF COND(&RTNLIB > ' ') THEN(DO) STRDBG PGM(&PGMLIB/&PGMNAM) UPDPROD(&UPDPROD) + OPMSRC(*YES) SRCDBGPGM(TRC002) RETURN ENDDO RTVOBJD OBJ(&PGMLIB/&PGMNAM) OBJTYPE(*SRVPGM) + RTNLIB(&RTNLIB) MONMSG MSGID(CPF0000) IF COND(&RTNLIB > ' ') THEN(DO) STRDBG UPDPROD(&UPDPROD) SRVPGM(&PGMLIB/&PGMNAM) + SRCDBGPGM(TRC002) RETURN ENDDO SNDPGMMSG MSGID(CPF0001) MSGF(QCPFMSG) MSGDTA(TRACEIT) + MSGTYPE(*ESCAPE) RETURN ERROR: CALL PGM(QMHRSNEM) PARM(' ' X'00000000') ENDPGM