Anmelden

View Full Version : CL - RSTOBJ für mehrere Objekte



urrumpel
26-11-13, 15:57
Ich möchte den CMD RSTOBJ in einem CLLE verwenden. Die zurückzusicherenden Objekte stehen in einer Variable. Ist genau 1 Objekt in der Variable, klappt das problemlos. Sind 2 oder mehr Objekte in der Variable kommt Fehler "CPF0001 von Prozedur xyz empfangen."
"Wert 'A ' für OBJ kein Name oder generischer Name." In der Variable steht:


'A B'

*CODE*


0055.00 RSTOBJ OBJ(&RSTOBJ) SAVLIB(&LIB) DEV(&TAP) +
0056.00 VOL(*MOUNTED) RSTLIB(&RSTLIB)


Schonmal Danke für Hilfe.

Fuerchau
26-11-13, 16:35
OBJ ist ein Mehrfachparameter:
OBJ(OBJ1 OBJ2 OBJ3 ...)
und muss natürlich auch genau so mit Variablen gefüllte werden:
OBJ(&OBJ1 &OBJ2 &OBJ3 ...)
Da aber leere Variablen auch abgelehnt werden, kannst du den Befehl nur selber in einer Variablen zusammenstricken (*TCAT/*BCAT) und dann per QCMDEXC ausführen.

urrumpel
27-11-13, 16:31
Hallo Monsignore Fuerchau,

vielen Dank für Deine Hilfe. QCMDEXC war mir unbekannt.
Stricken tut man bekanntlich nebenbei :), ist aber jetzt erledigt.

Ein kleines Problem hatte ich:


CALL PGM(QCMDEXC) PARM(&RSTPARM &LG)
DCL VAR(&LG) TYPE(*DEC ) LEN(15 0) <= Der 2. PARM muss mit 15 5 definiert sein, dass hatte ich übersehen.


Und: Die Längenangabe (2. PARM des QCMDEXC) ist Schall & Rauch, Sie muss nur größer sein als die Summe der Zeichen im aufgerufenen Befehl, das hätte man mal vorher sagen sollen, hätte jede Menge Zählerei gespart...

Fuerchau
27-11-13, 16:50
Ja und nein. Sie sollte nur nicht größer als die Länge der Variablen sein:).