PDA

View Full Version : CPYTOIMPF Format



Seiten : [1] 2

Muchi
25-07-06, 08:44
Hallo *ALL,
ich habe ein Problem mit dem CPYTOIMPF Befehl. Wenn ich eine Datei erstelle und diese per Data Transfer von der I5 auf meinen PC kopiere, sind die Spalten anders als wenn ich die Datei per CPYTOIMPF auf mein Filesystem auf der I5 ablege. Das Problem hängt sicherlich mit der CCSID zusammen und ich habe schon viel probiert, aber die Lösung nicht gefunden. Die I5 ist auf CCSID 65535.

Gruß,
Michael

alfredo
25-07-06, 10:18
Ich arbeite bei allen CPYxxx-Befehlen mit TOCCSID(*PCASCII)
Wenn Job CCSID=273 und Datei-CCSID=273
wird das Streamfile mit CCSID 1252 erstellt und mit Windows-Programmen richtig geöffnet.

Muchi
25-07-06, 12:52
Genauso arbeite ich auch. Trotzdem sind die Spalten unterschiedlich angeordnet. :(
Welches Release nutzt Du denn?


Ich arbeite bei allen CPYxxx-Befehlen mit TOCCSID(*PCASCII)
Wenn Job CCSID=273 und Datei-CCSID=273
wird das Streamfile mit CCSID 1252 erstellt und mit Windows-Programmen richtig geöffnet.

alfredo
25-07-06, 12:58
Grübel, Grübel..
Es ist also keine Zeichenproblem.
Kannst Du ein kleines Beispiel darstellen?
Eine Zeile laut Tabelle und eine Zeile aus CSV-Datei.

alfredo
25-07-06, 13:11
Vielleicht liegts am Field-delimiter?
CPYTOIMPF FROMFILE(CVTDB2/TESTFIL) TOSTMF('/AS400/test3.csv') MBROPT(*REPLACE) STMFCODPAG(*PCASCII) RCDDLM(*CRLF) FLDDLM(';')

Muchi
25-07-06, 15:33
Mein Befehl sieht wie folgt aus:

CPYTOIMPF FROMFILE(BIB/DATEI) +
TOSTMF('/TMP/DATE.TXT') +
MBROPT(*REPLACE) STMFCODPAG(*PCASCII) +
RCDDLM(*CRLF) DTAFMT(*FIXED) STRDLM(*NONE)

Beispiel:

PC:
1234 1 0 1 234
I5:
12341 01 2 34

Gruß,

Michael


Vielleicht liegts am Field-delimiter?
CPYTOIMPF FROMFILE(CVTDB2/TESTFIL) TOSTMF('/AS400/test3.csv') MBROPT(*REPLACE) STMFCODPAG(*PCASCII) RCDDLM(*CRLF) FLDDLM(';')

alfredo
25-07-06, 15:39
Der Defaultwert von FLDDLM=',' mein EXCEL erwartet ';'
Bei Zahlen mit Komma gibt es einen Konflikt bei ','
Schau mal mit NOTEPAD ins CSV

Muchi
26-07-06, 08:56
Ich möchte kein Excel erstellen, sondern eine Textdatei ohne Field delimiter.


Der Defaultwert von FLDDLM=',' mein EXCEL erwartet ';'
Bei Zahlen mit Komma gibt es einen Konflikt bei ','
Schau mal mit NOTEPAD ins CSV

alfredo
26-07-06, 09:11
Hmm, du bist hier nicht beim Verhör, wo man immer nur das notwendigste preisgibt..
CPYTOIMPF ist eine Ausgabe im CSV-Format.
Allerdings ist die Spaltenbreite fixiert, d.h. das Feldtrennzeichen steht immer an der selben Stelle.
Wenn Du kein Trennzeichen willst, musst Du DTAFMT(*FIXED) angeben.
Zahlen stehen allerdings linksbündig(minus führend):
12-> ,12
-255-> ,-255
Aus dem Streamfile müsste eigentlich das Problem ersichtlich sein.

Muchi
01-08-06, 09:48
Was man mit dem CPYTOIMPF Befehl machen kann ist mir schon klar. Auch wie und warum ich ein Trennzeichen nutze.
Mein Problem liegt darin, wenn ich ein CPYTOIMPF ausführe die Spaltenformatierung anders als beim Datatransfer per PC ist. Die CCSID sollte identisch sein.


Hmm, du bist hier nicht beim Verhör, wo man immer nur das notwendigste preisgibt..
CPYTOIMPF ist eine Ausgabe im CSV-Format.
Allerdings ist die Spaltenbreite fixiert, d.h. das Feldtrennzeichen steht immer an der selben Stelle.
Wenn Du kein Trennzeichen willst, musst Du DTAFMT(*FIXED) angeben.
Zahlen stehen allerdings linksbündig(minus führend):
12-> ,12
-255-> ,-255
Aus dem Streamfile müsste eigentlich das Problem ersichtlich sein.