PDA

View Full Version : Problem beim CPYTOIMPF



Paul_Hofmann
23-09-15, 09:02
Hallo,
ich habe beim Übertragen von i5 Dateien in IFS ein Problem.

Ist - Stand
Datei CCSID
WUPPF001 PF 1141
WUPPF004 PF 1141
WUPPF006 PF 1141

CPYTOIMPF FROMFILE(CCMPDTA2/WUPPF001) TOSTMF(&STMF$P) +
MBROPT(*REPLACE) STMFCODPAG(*PCASCII) +
RCDDLM(*CRLF) DTAFMT(*DLM) STRDLM(*NONE) +
RMVBLANK(*NONE) FLDDLM('|')

CPYTOIMPF FROMFILE(CCMPDTA2/WUPPF004) TOSTMF(&STMF$P) +
MBROPT(*REPLACE) STMFCODPAG(*PCASCII) +
RCDDLM(*CRLF) DTAFMT(*DLM) STRDLM(*NONE) +
RMVBLANK(*NONE) FLDDLM('|')

CPYTOIMPF FROMFILE(CCMPDTA2/WUPPF006) TOSTMF(&STMF$P) +
MBROPT(*REPLACE) STMFCODPAG(*PCASCII) +
RCDDLM(*CRLF) DTAFMT(*DLM) STRDLM(*NONE) +
RMVBLANK(*NONE) FLDDLM('|')

Beispiel für &STMF$P:
CHGVAR VAR(&STMF$P) +
VALUE('/WuP/Material/i.material.' +
*BCAT &STR01 *bcat '.TXT')

alle Dateien werden in einem CL (WUPCL000) erstellt.

Die Dateien aus WUPPF001 und 006 sind dann ANSI und
die Datei aus WUPPF004 ist in UTF-8.

Ich habe auch schon die PF WUPPF004 neu erstellt, aber immer das gleiche Ergebnis.
Der Dateiaufbau der Dateien ist eigentlich auch gleich.
Es sind nur alp. Felder in den Dateien.

Bin für jeden Tip dankbar.

Gruß
Paul Hofmann

Fuerchau
23-09-15, 09:18
Wie kommst du auf UTF-8?
Die Ziel-Codepage mit *PCASCII ist immer 850, eben ASCII!
Möchtest du ANSI-Deutsch ist die Codepage 1252, willst du UTF-8, ist die Codepage 1208.
Wichtig für Windows:
Der CPYTOIMPF setzt kein BOM in die Datei. Notepad erkennt dann ggf. kein UTF-8.

Paul_Hofmann
23-09-15, 09:23
Hallo,
wenn ich die Datei mit dem Notepad++ öffne, kann man unten recht das Format sehen.
348
Bei den anderen steht ANSI.

Fuerchau
23-09-15, 09:37
Notepad++ hat eine eigene Analyse-Funktion die die ersten paar KB analysiert.
Daraus resultiert dann seine Annahme der Codepage.
Ich habe da auch schon Probleme bekommen, dass Notepad++ ANSI annahm, die Daten aber UTF-8 waren. Die ersten UTF-8-Zeichen kamen erst hinter dem Analysebereich.
Im Menü kann man irgendwo die gesamte Datei noch mal analysieren lassen.
Auch die Analyse zwischen ANSI (1252) und OEM (850) ist da nicht so einfach.
Beim Speichern über Notepad++ kann man die Datei dann schnell zerstören.

Schau dir lieber per WRKLNK mal die Attribute auf der AS/400 an, die CCSID sagt dir den korrekten Inhalt.

Paul_Hofmann
23-09-15, 12:41
Hallo Fuerchau,

mit WRKLNK und 8 haben alle Dateien die CCSID 1252.
Ich denke hier hat Notepad ++ wirklich einen Fehler und die Dateien sind OK.
Danke für die Unterstützung!!!!