PGM PARM(&CMDPRM1 &RTNVAR) /*-------------------------------------------------------------------*/ /* DSPRANGE : 範囲を示す CHOICE PGM */ /* CALLED BY CMD : PRTINQ, PRTRPY */ /* */ /* KWD に 'FROM' という文字列が含まれていれば ' から ' を */ /* 戻し、そうでなければ ' まで ' を戻します。 */ /* これによってコマンドのパラメータの後方に ' から ' と ' まで ' */ /* を表示することができるようになります。 */ /* */ /* 2015/04/07 作成 */ /*-------------------------------------------------------------------*/ DCL VAR(&CMDPRM1) TYPE(*CHAR) LEN(21) DCL VAR(&CMD) TYPE(*CHAR) LEN(10) DCL VAR(&KWD) TYPE(*CHAR) LEN(10) DCL VAR(&TYPE) TYPE(*CHAR) LEN(1) DCL VAR(&RTNVAR) TYPE(*CHAR) LEN(2000) /*( QCLSCAN のための変数 )*/ DCL VAR(&PATLEN) TYPE(*DEC) LEN(3 0) VALUE(4) DCL VAR(&STRPOS) TYPE(*DEC) LEN(3 0) VALUE(1) DCL VAR(&STRLEN) TYPE(*DEC) LEN(3 0) VALUE(10) DCL VAR(&RESULT) TYPE(*DEC) LEN(3 0) DCL VAR(&POS) TYPE(*DEC) LEN(3 0) CHGVAR VAR(&CMD) VALUE(%SST(&CMDPRM1 1 10)) CHGVAR VAR(&KWD) VALUE(%SST(&CMDPRM1 11 10)) CHGVAR VAR(&TYPE) VALUE(%SST(&CMDPRM1 21 1)) /*( テキスト )*/ IF COND(&TYPE *EQ 'C') THEN(DO) CALL PGM(QCLSCAN) PARM(&KWD &STRLEN &STRPOS + 'FROM' &PATLEN ' ' ' ' ' ' &RESULT) IF COND(&RESULT *NE 0) THEN(DO) CHGVAR VAR(&RTNVAR) VALUE(' から ') ENDDO ELSE CMD(DO) CHGVAR VAR(&RTNVAR) VALUE(' まで ') ENDDO RETURN ENDDO ENDPGM