PDA

View Full Version : CPYTOIMPF mit Dateinamen als Parameter



Karo
09-03-05, 14:53
Hallo,

ich habe den Befehl CPYTOPCD durch CPYTOIMPF abgelöst, damit die Dateien ins Home-Verzeichnis kopiert werden.
Allerdings kann ich beim CPYTOIMPF nur einen konstanten Dateinamen angeben. Gibt es eine Möglichkeit diesen als Parameter zu übergeben (CL-Programm)?

Danke.

Gruß, Karo

Fuerchau
09-03-05, 14:56
In einem CLP können natürlich Variablen auch bei diesem Kommando verwendet werden.

Karo
09-03-05, 15:02
Hallo Fuerchau,

habe mich scheinbar nicht genau genug ausgedrückt.

CPYTOIMPF FROMFILE(mylib/myfile) +
TOSTMF('home/transfer/&datname') +
MBROPT(*REPLACE) STMFCODPAG(*PCASCII) +
RCDDLM(*CRLF) STRDLM(*NONE) FLDDLM(';')

Wobei &datname der Dateiname sein soll, der per Parameter aus einem RPG-Programm ins CL übergeben wird. Momentan wird die Datei &datname im Verzeichnis TRANSFER erstellt. ;-)
Kannst Du miir helfen?

Gruß, Karo

kuempi von stein
09-03-05, 15:15
Hallo Fuerchau,

habe mich scheinbar nicht genau genug ausgedrückt.

CPYTOIMPF FROMFILE(mylib/myfile) +
TOSTMF('home/transfer/&datname') +
MBROPT(*REPLACE) STMFCODPAG(*PCASCII) +
RCDDLM(*CRLF) STRDLM(*NONE) FLDDLM(';')

Wobei &datname der Dateiname sein soll, der per Parameter aus einem RPG-Programm ins CL übergeben wird. Momentan wird die Datei &datname im Verzeichnis TRANSFER erstellt. ;-)
Kannst Du miir helfen?

Gruß, Karo
dein problem scheinen die hochkomma zu sein....?

versuchs mal mit CHGVAR VAR(&TOSTMF) VALUE('''' *CAT &INPUT *TCAT '''')
(verkürzte darstellung)
das erzeugt nen string inclusive ' im string...

k.

Pikachu
09-03-05, 15:24
Hallo Karo!

Du musst den Pfadnamen zusammensetzen:

... TOSTMF('home/transfer/' *CAT &datname) ...

Arbeitest du mit dem home-Verzeichnis auf der obersten Ebene im IFS? Dann solltest du besser /home anstelle home schreiben!

Gruß
Jürgen

Karo
09-03-05, 15:33
Hallo,

vielen Dank für Eure Hilfe. Hat funktioniert.
Super!

Gruß, Karo

Fuerchau
09-03-05, 17:47
Der '/' ist auf jeden Fall erforderlich, da du sonst eine relative Pfadangabe machst.
Hat ein User z.B. ein Home-Verzeichnis (USRPRF) wird als aktuelles Verzeichnis direkt dieses genommen.