PDA

View Full Version : Umlaute per FTP von IBM 4690



Flappes
28-01-14, 10:19
Hallo,

ein Kunde hat noch 4690 Kassen im Einsatz.
Aus einem Verzeichnis soll eine Textdatei abgeholt werden.
Sieht man sich die Datei auf der Kasse im Editor an, sind die Umlaute vorhanden.

Per FTP auf die AS400 sind sie weg.
Die Datei bekommt CCSID 819.
Ich habe es schon versucht, die Datei erst mit 273 und auch 1252 zu erstellen, und mit (replace zu übernehmen.
Dann hat sie zwar auch diese CCSID, aber die Umlaute sind trotzdem nicht enthalten.

Was kann ich tun ?

mfg Christian

Fuerchau
28-01-14, 11:02
Bei FTP wird bekommt die Datei die CCSID der FTP-Attribute, aber es wird keine Codewandlung durchgeführt.
Beim Import (CPYFRMSTMF, CPYTOIMPF) kannst du jedoch gezielt die FromCCSID vorgeben.
Versuche es mal mit den CCSID's 1252 oder 850 (*ASCII).

Flappes
28-01-14, 12:16
Die Datei wird nur geparkt, und nicht mehr weiterverarbeitet.
Bzw. wird dann über Netzlaufwerk bearbeitet oder angesehen.

Fuerchau
28-01-14, 13:03
Dann ist die AS/400 sowieso außen vor.
Wenn die Kasse die Daten noch in ASCII (850) erstellt, kannst du diese in Windows natürlich nicht korrekt ansehen. CCSID's werden per Netzfreigabe nicht untertützt.

Du musst die Daten von ASCII in ANSI konvertieren.
Notepad kann das so nicht leisten.
Mit "Notepad++" kann man Textdateien auch mit OEM-Zeichensatz öffnen.

Alternativ kannst du die Datei auf der AS/400 von 850 in 1252 per CPYTOSTMF kopieren.

Flappes
28-01-14, 13:17
Ich glaube wir reden evtl aneinander vorbei.
Die Textdatei steht auf der Kasse. Dort sind die Umlaute per Editor sichtbar.
Die AS/400 spielt nur FTP-Client, da auf der Kasse ein FTP-Server läuft.
Selbst wenn man von einem anderem PC die Datei per FTP abzieht, sind die Umlaute auch weg.

Ich denke mal das Problem liegt eher Kassenseitig.

Fuerchau
28-01-14, 13:28
Das ist bedingt richtig.
Ich denke, auf der Kasse wird noch mit dem OEM-Zeichensatz (Codepage 850!) gearbeitet.
Holst du die Daten nun ab, wird keine Codewandlung durchgeführt (egal ob binary oder nicht).
In Windows (deutsch) hast du aber 1252!
Hier stehen Sonderzeichen wie Umlaute an einer anderen Stelle in der Codepage.
Öffnest du die Datei nun in Windows mit z.B. Notepad, wird Codepage 1252 angenommen und die Umlaute sind weg bzw. Kauderwelsch wird angezeigt.

Du brauchst also ein Programm, dass die Daten von ASCII (850) nach ANSI (1252) umwandelt.
Hierzu kann Notepad++ verwendet werden, da dieses Programm Daten auch in OEM öffnen und als ANSI speichern kann.

Flappes
28-01-14, 14:46
Danke,

mit Notepadd++ sieht man die Umlaute und mit dem alten DOS-Editor auch.

Fuerchau
28-01-14, 15:29
Der DOS-Editor funktioniert in der DOS-Box (CMD) auch mit Codepage 850.
Leider gibt es den DOS-Editor zum Teil nicht mehr in jedem Windows, da dieser noch eine 16-Bit-Anwendung ist!
Aber für sowas gibts ja den Notepad++, der übrigens auch UCS2 (UTF-16), UTF-8 und viele andere Formate unterstützt.