PDA

View Full Version : CPYF mit Variablen



beegee
10-01-08, 11:42
Hallo,

ich möchte den Befehl CPYF in einem CL-Programm durchführen und mittels Variablen, die ich in das PGM hineinbekomme, die Parameter FROMKEY und TOKEY füllen.
Leider lässt der Kompiler hier nur Alphafelder zu, ich brauche aber nummerische Felder, da die Keyfelder in der Datei eben auch nummerisch sind.

Hat wer eine Idee ?

Lg

Fuerchau
10-01-08, 11:44
Per CHGVAR numerische Felder in Alpha konvertieren.

Ein CMD nimmt automatisch numerisch an, wenn das Hochkomma fehlt.

beegee
10-01-08, 12:01
Tja, das kommt davon, wenn man schon länger nicht mehr CL programmiert - vielen Dank.

Habe jetzt ein anderes Problem. Befehl sieht folgendermaßen aus:

CPYF FROMFILE(STAMDAT/BKFELP2) +
TOFILE(STAMDAT/BKFELP3) MBROPT(*REPLACE) +
FROMKEY(*BLDKEY (&FA &JAHR &OBJ &OBJA +
&OBJG)) TOKEY(*BLDKEY (&FA &JAHR &OBJ +
&OBJA &OBJG))

d.h. ich möchte alle Sätze, auf die ein bestimmter Schlüssel zutrifft - in diesem Fall 5 Felder - in eine andere Datei kopieren.

Jetzt meckert er bei der Ausführung folgendes:

TOKEY-Vergleiche bei Ausgangsdatei nicht gültig (CPF2951).

Fuerchau
10-01-08, 12:04
Bei Alphafeldern musst du selber noch das Hochkomma vor und nachher ergänzen:

chgvar &XOBJ ('''' *CAT &OBJ *CAT '''')

und dann dieses Feld verwenden.

PS:
Wenn Von-Key und Bis-Key identisch sind, ist ggf. INCREL besser.

beegee
10-01-08, 12:34
Hab es jetzt mit INCREL durchgeführt.

Funktioniert tadellos - danke nochmals.