iSeries で新しいコマンドを作成しようとしていますが、パラメーターの 1 つは標準の LIBRARY/FILE MEMBER 構文を使用したファイル名でなければなりません。
MYCMD FILE(MYLIB/MYFILE MYMEMBER)
あるいは
MYCMD FILE(MYLIB/MYFILE) MEMBER(MYMEMBER)
私がしようとしました :
- *CHAR タイプの FILE パラメーターを使用して PARM ステートメントを作成する
- ELEM ステートメントを使用して特殊なタイプを作成する
しかし、CPYTOIMPF で使用される FROMFILE パラメーターのように、修飾されたオブジェクト名である値を受け入れるパラメーターを作成する方法が見つかりません。
アップデート
JamesA の回答は正常に機能しますが、どういうわけか、CL の変数に 2 つの余分な文字を取得します。
CMD
PARM KWD(FILE) TYPE(FNAME) PROMPT('CL +
source' 1)
FNAME: ELEM TYPE(FILE) PROMPT('File')
ELEM TYPE(*NAME) LEN(10) PROMPT('Source +
member')
FILE: QUAL TYPE(*NAME) LEN(10)
QUAL TYPE(*NAME) DFT(*CURLIB) SPCVAL(*CURLIB) PROMPT('Library') LEN(10) MIN(0)
CL
PGM PARM(&PFIC &OUTFILE &CODEPAGE)
DCL VAR(&PFIC) TYPE(*CHAR) LEN(32)
DCL VAR(&LIB) TYPE(*CHAR) LEN(10)
DCL VAR(&FILE) TYPE(*CHAR) LEN(10)
DCL VAR(&MEMBER) TYPE(*CHAR) LEN(10)
CHGVAR VAR(&FILE) VALUE(%SST(&PFIC 3 10))
CHGVAR VAR(&LIB) VALUE(%SST(&PFIC 13 10))
CHGVAR VAR(&MEMBER) VALUE(%SST(&PFIC 23 10))