PGM /*-------------------------------------------------------------------*/ /* TESTKEYR : KEY レコードの検索 */ /* */ /* 2017/05/02 作成 */ /*-------------------------------------------------------------------*/ 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(&TOPGMQ) TYPE(*CHAR) LEN(10) DCL VAR(&MSGTYPE) TYPE(*CHAR) LEN(10) + VALUE('*ESCAPE ') DCL VAR(&APIERR) TYPE(*CHAR) LEN(116) + VALUE(X'000074') /* 2 進数 */ DCL VAR(&NULL4) TYPE(*CHAR) LEN(4) + VALUE(X'00000000') DCLF FILE(QTRFIL/SHOHIN) RCDFMT(*ALL) 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(&SHCODE) VALUE('NV-CF1 ') OVRDBF FILE(SHOHIN) TOFILE(QTRFIL/SHOHIN) + POSITION(*KEYAE 1 SHOHINR &SHCODE) + SECURE(*YES) OVRSCOPE(*JOB) RCVF RCDFMT(SHOHINR) MONMSG MSGID(CPF0864) EXEC(GOTO CMDLBL(REDEND)) SNDPGMMSG MSG(' 見つかったキーは SHCODE=' *CAT + &SHCODE *CAT ' です。 ') MSGTYPE(*DIAG) DLTOVR FILE(SHOHIN) LVL(*JOB) RETURN REDEND: DLTOVR FILE(SHOHIN) LVL(*JOB) RETURN ERROR: RCVMSG MSGTYPE(*LAST) RMV(*NO) MSG(&MSG) + MSGDTA(&MSGDTA) MSGID(&MSGID) MSGF(&MSGF) + MSGFLIB(&MSGFLIB) DLTOVR FILE(SHOHIN) LVL(*JOB) SNDMSG: IF COND(&MSGID *EQ ' ') THEN(DO) SNDPGMMSG MSGID(CPF9897) MSGF(QCPFMSG) MSGDTA(&MSG) + TOMSGQ(&TOPGMQ) MSGTYPE(&MSGTYPE) ENDDO ELSE CMD(DO) SNDPGMMSG MSGID(&MSGID) MSGF(&MSGFLIB/&MSGF) + MSGDTA(&MSGDTA) TOMSGQ(&TOPGMQ) + MSGTYPE(&MSGTYPE) ENDDO ENDPGM