如何使用 CLP 樣本,簡化 CLP 程式錯誤的監控步驟 /*==================================================================*/ /* */ /* Program name: CLTEMPLATE */ /* */ /* Purpose: To be used as a CL shell that provides generic */ /* message handling. Moves all *DIAG and *ESCAPE */ /* messages to the previous program's message queue. */ /* */ /* Notes: Requires mainline code */ /* */ /* */ /*==================================================================*/ PGM PARM() /* Declare parameter variables */ /* Declare program variables */ /* Declare error processing variables */ DCL VAR(&ERRBYTES) TYPE(*CHAR) LEN( 4) VALUE(X'00000000') DCL VAR(&ERROR) TYPE(*LGL) VALUE('0') DCL VAR(&MSGKEY) TYPE(*CHAR) LEN( 4) DCL VAR(&MSGTYP) TYPE(*CHAR) LEN(10) VALUE('*DIAG') DCL VAR(&MSGTYPCTR) TYPE(*CHAR) LEN( 4) VALUE(X'00000001') DCL VAR(&PGMMSGQ) TYPE(*CHAR) LEN(10) VALUE('*') DCL VAR(&STKCTR) TYPE(*CHAR) LEN( 4) VALUE(X'00000001') /* Declare file */ /* Default monitoring */ MONMSG MSGID(CPF0000) EXEC(GOTO CMDLBL(ERRPROC)) /*==================================================================*/ /* Mainline */ /*==================================================================*/ /*==================================================================*/ /* Normal end of program */ /*==================================================================*/ /* Send completion messages here */ RETURN /*==================================================================*/ /* Error processing routine */ /*==================================================================*/ ERRPROC: IF COND(&ERROR) THEN(GOTO CMDLBL(ERRDONE)) ELSE CMD(CHGVAR VAR(&ERROR) VALUE('1')) /* Move all *DIAG messages to previous program queue */ CALL PGM(QMHMOVPM) PARM(&MSGKEY &MSGTYP &MSGTYPCTR &PGMMSGQ + &STKCTR &ERRBYTES) /* Resend last *ESCAPE message */ ERRDONE: CALL PGM(QMHRSNEM) PARM(&MSGKEY &ERRBYTES) MONMSG MSGID(CPF0000) EXEC(DO) SNDPGMMSG MSGID(CPF3CF2) MSGF(QCPFMSG) + MSGDTA('QMHRSNEM') MSGTYPE(*ESCAPE) MONMSG MSGID(CPF0000) ENDDO ENDPGM
A blog about IBM i (AS/400), MQ and other things developers or Admins need to know.
星期二, 10月 31, 2023
2000-02-29 如何使用 CLP 樣本,簡化 CLP 程式錯誤的監控步驟
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言