PGM PARM(&RCVPRM) /*-------------------------------------------------------------------*/ /* PNL002CL : 商品マスター照会 */ /* */ /* 2020/01/02 作成 */ /*-------------------------------------------------------------------*/ 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(&MSGKEY) TYPE(*CHAR) LEN(4) DCL VAR(&TYPE) TYPE(*CHAR) LEN(1) DCL VAR(&TOPGMQ) TYPE(*CHAR) LEN(10) DCL VAR(&MSGTYPE) TYPE(*CHAR) LEN(10) + VALUE('*ESCAPE ') DCL VAR(&ERR) TYPE(*CHAR) LEN(1) DCL VAR(&APIERR) TYPE(*CHAR) LEN(116) + VALUE(X'000074') /* 2 進数 */ DCL VAR(&NULL4) TYPE(*CHAR) LEN(4) + VALUE(X'00000000') /*( PNLGRP 変数 )*/ DCL VAR(&HANDLE) TYPE(*CHAR) LEN(8) /* + 摘要業務ハンドル */ DCL VAR(&DSPDTA) TYPE(*CHAR) LEN(1024) DCL VAR(&DTALEN) TYPE(*CHAR) LEN(4) + VALUE(X'00000400') /* 2 進数 */ DCL VAR(&FNCTON) TYPE(*CHAR) LEN(4) + VALUE(X'00000000') /* 2 進数 */ DCL VAR(&PANEL) TYPE(*CHAR) LEN(10) + VALUE('DSPDTA01') DCL VAR(&AGAIN) TYPE(*CHAR) LEN(1) VALUE(Y) DCL VAR(&USRTSK) TYPE(*CHAR) LEN(1) VALUE(N) DCL VAR(&STACK) TYPE(*CHAR) LEN(4) + VALUE(X'00000001') /* 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'FFFFFFFC') /* 2 進数 */ DCL VAR(&CF05) TYPE(*CHAR) LEN(4) + VALUE(X'00000005') /* 2 進数 */ DCL VAR(&CF06) TYPE(*CHAR) LEN(4) + VALUE(X'00000006') /* 2 進数 */ DCL VAR(&CF12) TYPE(*CHAR) LEN(4) + VALUE(X'FFFFFFF8') /* 2 進数 */ DCL VAR(&CF13) TYPE(*CHAR) LEN(4) + VALUE(X'0000000D') /* 2 進数 */ DCL VAR(&CF14) TYPE(*CHAR) LEN(4) + VALUE(X'0000000E') /* 2 進数 */ DCL VAR(&CF15) TYPE(*CHAR) LEN(4) + VALUE(X'0000000F') /* 2 進数 */ DCL VAR(&CF17) TYPE(*CHAR) LEN(4) + VALUE(X'00000011') /* 2 進数 */ DCL VAR(&CF18) TYPE(*CHAR) LEN(4) + VALUE(X'00000012') /* 2 進数 */ MONMSG MSGID(CPF0000) EXEC(GOTO CMDLBL(ERROR)) /*( 環境の取得 )*/ RTVJOBA TYPE(&TYPE) IF COND(&TYPE *EQ '0') THEN(DO) /* バッチ */ CHGVAR VAR(&TOPGMQ) VALUE('*SYSOPR ') ENDDO /* バッチ */ ELSE CMD(DO) /* 対話式 */ CHGVAR VAR(&TOPGMQ) VALUE('*TOPGMQ ') ENDDO /* 対話式 */ /*( 入力パラメータの取得 )*/ CHGVAR VAR(&HANDLE) VALUE(%SST(&RCVPRM 17 8)) /*( 実行 )*/ CALL PGM(QUIGETV) PARM(&HANDLE &DSPDTA &DTALEN + 'DSPRCD ' &APIERR) CALL PGM(QTROBJ/PNL002) PARM(&DSPDTA &ERR &MSG) CHGVAR VAR(&MSGTYPE) VALUE('*DIAG ') CALL PGM(QUIPUTV) PARM(&HANDLE &DSPDTA &DTALEN + 'DSPRCD ' &APIERR) IF COND(&MSG *NE ' ') THEN(DO) GOTO SNDMSG ENDDO /*( 明細画面を表示する )*/ DSPLY: CALL PGM(QUIDSPP) PARM(&HANDLE &FNCTON &PANEL + &AGAIN &APIERR &USRTSK &STACK &UIMMSG + &MSGKEY &CSROPT &LASLST &ERRLST &WAITTIME) CHGVAR VAR(&MSGKEY) VALUE(' ') CHGVAR VAR(&CSROPT) VALUE('D') /*( CF03 )= 終了 */ IF COND(&FNCTON *EQ &CF03) THEN(DO) CALL PGM(QUICLOA) PARM(&HANDLE 'M' &APIERR) RETURN ENDDO /*( CF12 )= 取消し */ IF COND(&FNCTON *EQ &CF12) THEN(DO) RETURN ENDDO /*( 実行キー )*/ GOTO DSPLY ERROR: RCVMSG MSGTYPE(*LAST) RMV(*NO) MSG(&MSG) + MSGDTA(&MSGDTA) MSGID(&MSGID) MSGF(&MSGF) + MSGFLIB(&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