PGM /*---------------------------------------------------------*/ /* BNK001CL : パネル表示 */ /*---------------------------------------------------------*/ DCL VAR(&MSG) TYPE(*CHAR) LEN(80) DCL VAR(&HANDLE) TYPE(*CHAR) LEN(8) /* + 摘要業務ハンドル */ DCL VAR(&PNLGRPLIB) TYPE(*CHAR) LEN(20) + VALUE('BNK001 TESTOBJ ') DCL VAR(&AREA) TYPE(*CHAR) LEN(4) /* 2 進数 */ DCL VAR(&DEC08) TYPE(*DEC) LEN(8 0) DCL VAR(&EXITPG) TYPE(*CHAR) LEN(4) + VALUE(X'00000000') /* 2 進数 */ DCL VAR(&FNCTON) TYPE(*CHAR) LEN(4) /* 2 進数 */ DCL VAR(&PANEL) TYPE(*CHAR) LEN(10) + VALUE('DSPHEAD ') DCL VAR(&AGAIN) TYPE(*CHAR) LEN(1) VALUE(Y) DCL VAR(&APIERR) TYPE(*CHAR) LEN(4) + VALUE(X'00000000') /* 2 進数 */ DCL VAR(&USRTSK) TYPE(*CHAR) LEN(1) VALUE(N) DCL VAR(&STACK) TYPE(*CHAR) LEN(4) + VALUE(X'00000000') /* 2 進数 */ DCL VAR(&UIMMSG) TYPE(*CHAR) LEN(10) VALUE(*CALLER) DCL VAR(&MSGKEY) TYPE(*CHAR) LEN(4) DCL VAR(&CSROPT) TYPE(*CHAR) LEN(1) VALUE(D) DCL VAR(&LASLST) TYPE(*CHAR) LEN(4) VALUE(NONE) DCL VAR(&ERRLST) TYPE(*CHAR) LEN(4) DCL VAR(&WAITTIME) TYPE(*CHAR) LEN(4) + VALUE(X'FFFFFFFF') /* 2 進数 */ DCL VAR(&CF03) TYPE(*CHAR) LEN(4) + VALUE(X'00000003') /* 2 進数 */ DCL VAR(&ENTER) TYPE(*CHAR) LEN(4) + VALUE(X'0000001B') /* 2 進数 */ DCL VAR(&DSPDTA) TYPE(*CHAR) LEN(1024) DCL VAR(&DTALEN) TYPE(*CHAR) LEN(4) /* 2 進数 */ /* MONMSG MSGID(CPF0000) EXEC(GOTO CMDLBL(ERROR)) */ /*( QUIOPNDA : パネル・グループのオープン )*/ CHGVAR VAR(&DEC08) VALUE(-1) CHGVAR VAR(%BIN(&AREA)) VALUE(&DEC08) CALL PGM(QUIOPNDA) PARM(&HANDLE &PNLGRPLIB &AREA + &EXITPG 'N' &APIERR) /*(QUIPUTV: 変数の更新 )*/ CHGVAR VAR(&DSPDTA) VALUE(' 変更 ') CHGVAR VAR(%BIN(&DTALEN)) VALUE(6) CALL PGM(QUIPUTV) PARM(&HANDLE &DSPDTA &DTALEN + 'MODRCD ' &APIERR) CHGVAR VAR(&DSPDTA) VALUE('0001') CHGVAR VAR(%BIN(&DTALEN)) VALUE(5) CALL PGM(QUIPUTV) PARM(&HANDLE &DSPDTA &DTALEN + 'KEYRCD ' &APIERR) /*( QUIDSPP : パネル表示 )*/ DSPLY: CALL PGM(QUIDSPP) PARM(&HANDLE &FNCTON &PANEL + &AGAIN &APIERR &USRTSK &STACK &UIMMSG + &MSGKEY &CSROPT &LASLST &ERRLST &WAITTIME) MONMSG MSGID(CPF6A95) /*( CF03 )= 終了 */ IF COND(&FNCTON *EQ &CF03) THEN(DO) /*( QUICLOA : パネル・グループのクローズ )*/ CALL PGM(QUICLOA) PARM(&HANDLE 'M' &APIERR) RETURN ENDDO /*( 実行キー )*/ IF COND(&FNCTON *EQ &ENTER) THEN(DO) /*(QUIGETV: 変数の取得 )*/ CHGVAR VAR(%BIN(&DTALEN)) VALUE(5) CALL PGM(QUIGETV) PARM(&HANDLE &DSPDTA &DTALEN + 'KEYRCD ' &APIERR) SNDPGMMSG MSG(&DSPDTA) MSGTYPE(*COMP) GOTO CMDLBL(DSPLY) ENDDO ERROR: RCVMSG RMV(*NO) MSG(&MSG) SNDPGMMSG MSG(&MSG) MSGTYPE(*DIAG) ENDPGM