PGM /*---------------------------------------------------------*/ /* TESTCLT: クライアント・チエック */ /*---------------------------------------------------------*/ 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(&TYPE) TYPE(*CHAR) LEN(1) DCL VAR(&DEVINFO) TYPE(*CHAR) LEN(1121) DCL VAR(&VARLEN) TYPE(*DEC) LEN(4 0) VALUE(1121) DCL VAR(&DEVNAM) TYPE(*CHAR) LEN(10) DCL VAR(&APIERR) TYPE(*CHAR) LEN(116) + VALUE(X'000074') /* 2 進数 */ DCL VAR(&NULL4) TYPE(*CHAR) LEN(4) + VALUE(X'00000000') DCL VAR(&IPADDR) TYPE(*CHAR) LEN(15) MONMSG MSGID(CPF0000) EXEC(GOTO CMDLBL(ERROR)) RTVJOBA JOB(&DEVNAM) TYPE(&TYPE) CALL PGM(QDCRDEVD) PARM(&DEVINFO &VARLEN + 'DEVD0600' &DEVNAM &APIERR) IF COND(%SST(&APIERR 5 4) *NE &NULL4) THEN(DO) SNDPGMMSG + MSG('API: QUHDSPH の実行で次のエラーが発生 + しました。 ') MSGTYPE(*DIAG) GOTO APIERR ENDDO CHGVAR VAR(&IPADDR) VALUE(%SST(&DEVINFO 877 15)) SNDPGMMSG MSG(' このクライアントは ' *TCAT &IPADDR + *TCAT ' です。 ') MSGTYPE(*DIAG) RETURN APIERR: CHGVAR VAR(&MSGID) VALUE(%SST(&APIERR 9 7)) CHGVAR VAR(&MSGDTA) VALUE(%SST(&APIERR 17 100)) CHGVAR VAR(&MSGF) VALUE('QCPFMSG ') CHGVAR VAR(&MSGFLIB) VALUE('QSYS ') GOTO SNDMSG ERROR: RCVMSG MSGTYPE(*LAST) RMV(*NO) MSG(&MSG) SNDMSG: IF COND(&TYPE *EQ '0') THEN(DO) SNDPGMMSG MSG(&MSG) TOMSGQ(*SYSOPR) MSGTYPE(*COMP) ENDDO ELSE CMD(DO) SNDPGMMSG MSG(&MSG) TOMSGQ(*TOPGMQ) MSGTYPE(*DIAG) ENDDO ENDPGM