View Full Version : Datenbank kopieren ins IFS (keine SRC-File)
Hallo Leute,
Was gibt's für Möglichkeiten, eine Extern beschriebene (DDS) Datei - keine Source - in ein STMF-File auf das IFS (root) zu kopieren)
Die Datei muss im ASCII-Format lesbar sein und sollte nicht auf den Shared Folder-Bereich.
Das Ganze sollte eine Schnittstelle zu einem Fremdsystem werden.
Danke euch recht sakrisch für Tips - elmar
RobertMack
20-03-03, 19:56
Hallo Elmar,
leider werden externbeschriebene Dateien und physische Quellendateien, die weniger oder mehr als drei Felder enthalten, vom Befehl CPYTOSTMF nicht unterstützt.
Ich kann Dir zwei Möglichkeiten anbieten:
1) Eine Datei mit CRTPF ohne DDS (RCDLEN)erstellen, in diese dann die Feldinhalte mit Separatoren hinein-CAT-en, z.B.
20021021|001|00000046443|0|000|352785|
anschließend diese Date mit dem Befehl
CPYTOSTMF
FROMMBR('QSYS.LIB/DEINE.LIB/DEINE.FILE/DEIN.MBR') TOSTMF('/TMP/ZIELDATEI.TXT')
STMFOPT(*REPLACE)
STMFCODPA(*PCASCII)
kopieren, oder
2) die w.o. erstellte Datei bereits in ASCII zu beschreiben (XLATE, Tabs kannst Du von mir haben) und dann mit dem Befehl
CPYTOIMPF FROMFILE(AS400FIL MBRNAM)
TOSTMF('/TMP/ZIELDATEI.TXT')
MBROPT(*REPLACE) RCDDLM(*CR)
DTAFMT(*FIXED)
DECPNT(*COMMA)
DATFMT(*EUR)
TIMFMT(*EUR)
kopieren...
viel Erfolg,
Robert
Sven Schneider
20-03-03, 22:43
Hallo Robert, Elmar,
CPYTOIMPF ist schon der richtige Ansatz.
Aber warum so kompliziert.
Elmar sprach doch von extern beschriebenen Files. Und die Konvertierung nach ASCII/ANSI erledigt der Parameter STMFCODPAG.
Wenn Trennzeichen und variable Satzlänge gewünscht sind (z.B. CSV-Datei), geht das auch. (Parameter DTAFMT)
Also :
CPYTOIMPF FROMFILE(MA2#DTA#LB/ILC)
TOSTMF('/ilc.csv')
RCDDLM(*CRLF)
DTAFMT(*FIXED)
DECPNT(*COMMA)
STMFCODPAG(*PCASCII)
Wegen weiterer Einstellungen - Online Hilfe zum Command lesen !!!
[Dieser Beitrag wurde von Sven Schneider am 20. März 2003 editiert.]
RobertMack
21-03-03, 08:47
Hallo Sven,
danke für den Hinweis, in (meinem) V4 steht der Parameter STMFCODPAG allerdings noch nicht zur Verfügung...
Gruß, Robert
Hallo Robert,
falls Du auf R440 bist benötigst Du das Ptf SF61859 welches im Cumtape c9252440 war und
das 1000-er Ptf SF61937 damit ist dann der Command lauffähig.
gruss TARASIK