5
我試圖在iSeries,其中參數之一具有使用標準庫/文件成員語法是一個文件名,創建一個新的命令,像創建接受一個對象名作爲參數的iSeries命令
MYCMD FILE(MYLIB/MYFILE MYMEMBER)
甚至
MYCMD FILE(MYLIB/MYFILE) MEMBER(MYMEMBER)
我想:
- 創建使用FILE第一個PARM聲明計有* CHAR類型
- 使用ELEM語句
創建一個特殊類型,但我無法找到如何創建一個接受值是一個合格的對象名稱的參數,如所使用的FROMFILE參數CPYTOIMPF。
UPDATE
JamesA的回答能正常工作,但不知何故,我得到了我的CL的可變兩個額外的字符:
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))
謝謝!工作就像一個魅力,除了一些奇怪的原因,我需要%SST%。 3而不是1,前兩個字符是垃圾。我更新了我的帖子以顯示我的定義。有任何想法嗎 ? –
這是因爲FILE關鍵字被定義爲一個列表。它指向具有2個ELEM的FNAME。按照James的回答,在沒有ELEM的情況下使用QUAL。 –
謝謝,我會這樣做 –