View Full Version : CL-Problem
Ist es möglich, mittels CL eine Datei zu kopieren, wobei die Datei mittels einer Variablen einen neuen Namen erhält? Die Variable beinhaltet den alten Dateinamen und dann wird neu das Datum angehängt. Ich erhalte aber immer die Fehlermeldung, dass ich mit CPYF keine Variable angeben kann (TOFILE &FILE0103). Kann man das irgendwie anders lösen?
Andreas Herzfeldt
31-03-03, 09:27
Guten morgen,
erstell doch erst ein Duplikat der Ursprungsdatein mit CRTDUPOBJ ( hier kannst
Du den variablen Dateinamen verwenden + Parameter DATA *NO ). Im Anschluß kannst Du
dann per CPYF die Daten kopieren.
Andreas
Bodo Roggenkamp
31-03-03, 09:28
Hallo,
interaktiv wird bei Eingabe des Parameters TOFILE &Variable eine Fehlermeldung ausgegeben. Bei Ausführung innerhalb eines CL-Programmes funktioniert dies aber. Siehe nachfolgendes Beispiel.
DCL VAR(&FILE) TYPE(*CHAR) LEN(10) VALUE(DATEINEU)
CPYF FROMFILE(MYLIB/DATEIALT) TOFILE(MYLIB/&FILE) CRTFILE(*YES)
Gruss
Bodo
sollte eigentlich im cl gehen
pgm (&lib &file &newlib)
dcl &lib *char 10 /* Bibliothek */
dcl &file *char 10 /* FileName */
dcl &newlib *char 10 /* neue Bibliothek */
dcl &newfile *char 10 /* neuer FileName */
dcl &date *char 6 /* Datum */
rtvsysval qdate &date
chgvar &newfile (&file *tcat %sst(&date 1 4))
cpyf &lib/&file &newlib/&newfile mbropt(*replace) crtfile(*yes)
endpgm
gruß ronald
Danke für Eure Antworten. Werde das mit CRTDUPOBJ versuchen. Denn es funktioniert nicht, wenn man die Variable im CL angibt bei CPYF.
Hallo Iginla,
versuche doch folgendes:
DCL VAR(&MBRNAME) TYPE(*CHAR) LEN(10)
DCL VAR(&MBRDATE) TYPE(*CHAR) LEN(6)
RTVJOBA DATE(&MBRDATE)
CHGVAR VAR(&MBRNAME) VALUE('Dateiname' *CAT &MBRDATE)
CPYF FROMFILE(Bibliothek/Dateiname) TOFILE(&MBRNAME) MBROPT(*ADD)
Viel Erfolg, Marc
Kann man die Parameter auch fix hinterlegen? Es handelt sich immer um die selbe Datei.
wenn immer die gleiche datei gemeint ist, so gib diese eben im cmd an
pgm
dcl &newfile *char 10 /* neuer FileName */
dcl &date *char 6 /* Datum */
rtvsysval qdate &date
chgvar &newfile ('MyFile' *tcat %sst(&date 1 4))
cpyf MyLib/MyFile MyLib/&newfile mbropt(*replace) crtfile(*yes)
endpgm
gruß ronald
[Dieser Beitrag wurde von malzusrex am 31. März 2003 editiert.]
Oh, das mit der fixen Datei im CMD war ja eigentlich logisch :-) Ist halt noch Montag...
Auf jeden Fall funktioniert es jetzt. Vielen vielen Dank!!!