PGM PARM(&RCVPRM) /*-------------------------------------------------------------------*/ /* UPDWINMOD: WINDOWS メニューのモード更新 */ /* */ /* 2021/05/07 作成 */ /*-------------------------------------------------------------------*/ DCL VAR(&RCVPRM) TYPE(*CHAR) LEN(70) DCL VAR(&MSG) TYPE(*CHAR) LEN(80) 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(&HANDLE) TYPE(*CHAR) LEN(8) /* + 摘要業務ハンドル */ DCL VAR(&APIERR) TYPE(*CHAR) LEN(116) + VALUE(X'000074') /* 2 進数 */ DCL VAR(&ERR) TYPE(*CHAR) LEN(1) DCL VAR(&MSGTYPE) TYPE(*CHAR) LEN(10) + VALUE('*ESCAPE ') DCL VAR(&DTALEN) TYPE(*CHAR) LEN(4) + VALUE(X'0000000C') /* 2 進数 */ DCL VAR(&CURLOG) TYPE(*CHAR) LEN(4) DCL VAR(&DSPMODRCD) TYPE(*CHAR) LEN(12) DCL VAR(&DSPMOD) TYPE(*CHAR) LEN(12) MONMSG MSGID(CPF0000) EXEC(GOTO CMDLBL(ERROR)) CHGVAR VAR(&HANDLE) VALUE(%SST(&RCVPRM 17 8)) /*( オプション機能の実行 )*/ /*-------------------------------------------------------------*/ /* QUIPUTV : パネル・グループの変数を更新する */ /*-------------------------------------------------------------*/ RTVDTAARA DTAARA(WINDOWS/CLIENT (401 4)) RTNVAR(&CURLOG) IF COND(&CURLOG *EQ '*ON ') THEN(DO) CHGVAR VAR(&DSPMOD) VALUE(' ログ開始中 ') ENDDO ELSE CMD(DO) CHGVAR VAR(&DSPMOD) VALUE(' ログ停止  ') ENDDO CHGVAR VAR(&DSPMODRCD) VALUE(&DSPMOD) CALL PGM(QUIPUTV) PARM(&HANDLE &DSPMODRCD &DTALEN + 'DSPMODRCD ' &APIERR) 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) + MSGDTA(&MSGDTA) MSGID(&MSGID) MSGF(&MSGF) + SNDMSGFLIB(&MSGFLIB) SNDMSG: 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 ENDPGM