Próbuję utworzyć nowe polecenie na serwerze iSeries, gdzie jednym z parametrów musi być nazwa pliku przy użyciu standardowej składni biblioteki LIBRARY/FILE MEMBER, podobnie jakUtwórz komendę iSeries, która akceptuje nazwę obiektu jako parametr
MYCMD FILE(MYLIB/MYFILE MYMEMBER)
lub nawet
MYCMD FILE(MYLIB/MYFILE) MEMBER(MYMEMBER)
próbowałem:
- Tworzenie oświadczenia parmezanem używając ust FILE Miernik z typem * CHAR
- utworzyć specjalny rodzaj użyciu instrukcji Elem
Ale nie mogę znaleźć sposobu, aby utworzyć parametr, który przyjmuje wartość, która jest kwalifikowana nazwa obiektu, jak parametr fromfile używane z CPYTOIMPF.
UPDATE
odpowiedzi Jamesa za działa dobrze, ale jakoś dostać dwa dodatkowe znaki w moim zmiennej 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))
Dzięki! Działa jak urok, z wyjątkiem tego, że z jakiegoś dziwnego powodu potrzebuję% SST od poz. 3 zamiast 1, pierwsze dwa znaki to śmieci. Zaktualizowałem swój post, aby pokazać moje definicje. Jakieś pomysły ? –
To dlatego, że słowo kluczowe FILE jest zdefiniowane jako lista. Wskazuje FNAME, która ma 2 ELEM. Postępuj zgodnie z odpowiedzią Jamesa i użyj QUAL bez ELEM. –
Dzięki, zrobię to –