PGM /*---------------------------------------------------------*/ /* TESTLIBCL : 最終更新日付の検索 */ /*---------------------------------------------------------*/ DCL VAR(&TYPE) TYPE(*CHAR) LEN(1) DCL VAR(&MSG) TYPE(*CHAR) LEN(132) DCL VAR(&MSGID) TYPE(*CHAR) LEN(7) DCL VAR(&MSGF) TYPE(*CHAR) LEN(10) DCL VAR(&MSGFLIB) TYPE(*CHAR) LEN(10) DCL VAR(&MSGDTA) TYPE(*CHAR) LEN(132) DCL VAR(&APIERR) TYPE(*CHAR) LEN(116) + VALUE(X'000074') /* 2 進数 */ DCL VAR(&NULL4) TYPE(*CHAR) LEN(4) + VALUE(X'00000000') DCL VAR(&RCVVAR) TYPE(*CHAR) LEN(256) DCL VAR(&RCVLEN) TYPE(*CHAR) LEN(4) + VALUE(X'00000100') DCL VAR(&CHG_DATE) TYPE(*CHAR) LEN(13) DCL VAR(&DATE) TYPE(*CHAR) LEN(8) DCL VAR(&TIME) TYPE(*CHAR) LEN(6) MONMSG MSGID(CPF0000) EXEC(GOTO CMDLBL(ERROR)) RTVJOBA TYPE(&TYPE) CALL PGM(QUSROBJD) PARM(&RCVVAR &RCVLEN + 'OBJD0100' 'SPOOLWTR *LIBL ' + '*LIB ' &APIERR) IF COND(%SST(&APIERR 5 4) *NE &NULL4) THEN(DO) GOTO APIERR ENDDO CHGVAR VAR(&CHG_DATE) VALUE(%SST(&RCVVAR 78 13)) CHGVAR VAR(&DATE) VALUE('20' *CAT %SST(&CHG_DATE + 2 4)) SNDPGMMSG MSG('DATE = ' *CAT &DATE) MSGTYPE(*DIAG) CHGVAR VAR(&TIME) VALUE(%SST(&CHG_DATE 8 6)) SNDPGMMSG MSG('TIME = ' *CAT &TIME) MSGTYPE(*DIAG) RETURN APIERR: CHGVAR VAR(&MSGID) VALUE(%SST(&APIERR 9 7)) CHGVAR VAR(&MSGF) VALUE('QCPFMSG ') CHGVAR VAR(&MSGDTA) VALUE(%SST(&APIERR 17 100)) RTVMSG MSGID(&MSGID) MSGF(QCPFMSG) MSGDTA(&MSGDTA) + MSG(&MSG) GOTO SNDMSG ERROR: RCVMSG MSGTYPE(*LAST) RMV(*NO) MSG(&MSG) + MSGDTA(&MSGDTA) MSGID(&MSGID) MSGF(&MSGF) + MSGFLIB(&MSGFLIB) SNDMSG: IF COND(&TYPE *EQ '0') THEN(DO) /* バッチ */ IF COND(&MSGID *EQ ' ') THEN(DO) SNDPGMMSG MSG(&MSG) TOMSGQ(*SYSOPR) MSGTYPE(*COMP) ENDDO ELSE CMD(DO) SNDPGMMSG MSGID(&MSGID) MSGF(&MSGFLIB/&MSGF) + MSGDTA(&MSGDTA) TOMSGQ(*SYSOPR) + MSGTYPE(*COMP) ENDDO ENDDO /* バッチ */ ELSE CMD(DO) /* 対話型 */ IF COND(&MSGID *EQ ' ') THEN(DO) SNDPGMMSG MSGID(CPF9897) MSGF(QCPFMSG) MSGDTA(&MSG) + TOMSGQ(*TOPGMQ) MSGTYPE(*ESCAPE) ENDDO ELSE CMD(DO) SNDPGMMSG MSGID(&MSGID) MSGF(&MSGFLIB/&MSGF) + MSGDTA(&MSGDTA) TOMSGQ(*TOPGMQ) + MSGTYPE(*ESCAPE) ENDDO ENDDO /* 対話型 */ ENDPGM