PGM PARM(&RCVCMD &SNDPRM) /*---------------------------------------------------------*/ /* SELFIL : ファイル名の選択 ( CHOICEPGM ) */ /*---------------------------------------------------------*/ DCL VAR(&RCVCMD) TYPE(*CHAR) LEN(21) DCL VAR(&CMD) TYPE(*CHAR) LEN(10) DCL VAR(&KWD) TYPE(*CHAR) LEN(10) DCL VAR(&ACT) TYPE(*CHAR) LEN(1) DCL VAR(&SNDPRM) TYPE(*CHAR) LEN(2000) DCL VAR(&MSG) TYPE(*CHAR) LEN(80) DCL VAR(&OBJECTLIB) TYPE(*CHAR) LEN(20) DCL VAR(&OBJECT) TYPE(*CHAR) LEN(10) DCL VAR(&OBJLIB) TYPE(*CHAR) LEN(10) DCL VAR(&DEC08) TYPE(*DEC) LEN(8 0) DCL VAR(&STRPOS) TYPE(*CHAR) LEN(4) /* 2 進数 */ DCL VAR(&DTALEN) TYPE(*CHAR) LEN(4) /* 2 進数 */ DCL VAR(&BIN4) TYPE(*CHAR) LEN(4) /* 2 進数 */ DCL VAR(&APIERR) TYPE(*CHAR) LEN(4) DCL VAR(&PRMHED) TYPE(*CHAR) LEN(30) DCL VAR(&TOTAL) TYPE(*CHAR) LEN(2) DCL VAR(&PRM1992) TYPE(*CHAR) LEN(1992) DCL VAR(&LENGTH) TYPE(*DEC) LEN(8 0) DCL VAR(&USER) TYPE(*CHAR) LEN(10) MONMSG MSGID(CPF0000) EXEC(GOTO CMDLBL(ERROR)) CHGVAR VAR(&CMD) VALUE(%SST(&RCVCMD 01 10)) CHGVAR VAR(&KWD) VALUE(%SST(&RCVCMD 11 10)) CHGVAR VAR(&ACT) VALUE(%SST(&RCVCMD 21 1)) OVRMSGF MSGF(QCPFMSG) TOMSGF(RDALIB/RDAMSG) IF COND(&ACT *EQ 'C') THEN(DO) CHGVAR VAR(&SNDPRM) VALUE(' 名前 , *SAME, リストは F4') RETURN ENDC: ENDDO IF COND(&ACT *EQ 'P') THEN(DO) /* ************************************************ */ /* *PRV ライブラリーの検索 */ /* ************************************************ */ RTVJOBA USER(&USER) RTVDTAARA DTAARA(QGPL/&USER (43 10)) RTNVAR(&OBJLIB) CHGVAR VAR(&OBJECT) VALUE('*ALL ') /*-----------------------------------------------*/ /* < 説       明 > */ /* */ /* オブジェクト : &OBJECT.&FILLIB の */ /* 記述を検索する。 */ /* */ /*-----------------------------------------------*/ CHGVAR VAR(%BIN(&APIERR)) VALUE(0) CHGVAR VAR(&OBJECTLIB) VALUE(&OBJECT *CAT &OBJLIB) /*( ユーザー・スペース の作成 )*/ CALL PGM(QUSCRTUS) PARM('QUSLOBJ QTEMP ' + 'PF ' 1000 ' ' '*ALL ' + 'QUSROBJD 用ユーザー空間 ' '*YES ' &APIERR) MONMSG CPF9870 /*( オブジェクト・リストAPI )*/ CALL PGM(QUSLOBJ) PARM('QUSLOBJ QTEMP ' + 'OBJL0200' &OBJECTLIB '*FILE ' &APIERR) /*( OPNDTA 選択 )*/ CALL PGM(RDALIB/SELFIL) PARM(&RCVCMD &PRMHED + &LENGTH &PRM1992) CHGVAR VAR(%BIN(&TOTAL)) VALUE(&LENGTH) CHGVAR VAR(&SNDPRM) VALUE(&TOTAL *CAT &PRM1992) RETURN ENDP: ENDDO ERROR: RCVMSG RMV(*NO) MSG(&MSG) SNDMSG: SNDPGMMSG MSG(&MSG) MSGTYPE(*DIAG) ENDPGM: ENDPGM