PDA

View Full Version : Datenbank kopieren ins IFS (keine SRC-File)



elmar
20-03-03, 19:26
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

TARASIK
21-03-03, 09:26
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