PDA

View Full Version : CPYTOSTMF/CPYTOIMPF Zeichensatzfehler bei EXCEL-Import



mwithake
19-02-07, 09:42
Hallo,

wir exportieren per CPYTOSTMF oder CPYTOIMPF Daten für den Export nach Excel. Die Daten werden dann mithilfe des Textkonvertierungs-Assistenten übernommen.

Wir haben nun das Problem, das wenn Umlaute in den Text mit vorkommen, diese nicht mehr richtig verarbeitet werden. Beim Export mit dem Befehl:


CPYTOSTMF FROMMBR('/QSYS.LIB/QTEMP.LIB/VK0720XX.FILE/+
VK0720XX.MBR') TOSTMF(&DATEI) +
STMFOPT(*ADD) DBFCCSID(1141) +
STMFCODPAG(*PCASCII)

und der dann nachfolgenden Übernahme in Excel steht im Konvertierungs-Assistenten als Dateiursprung 936: Chinesisch vereinfacht (GB2312) anstatt Windows (ANSI). Die Umlaute werden mit dem nachfolgenden Zeichen zusammengefasst und durch ein Kästchen dargestellt. Nach der manuellen Umstellung des Dateiursprungs auf Windows(ANSI) wird alles normal verarbeitet. Bei der Anzeige der .txt im Notepad wird auch alles richtig angezeigt.

Hat jemand ein Ahnung, woran das liegen könnte, das Excel den Dateiursprung nicht korrekt erkennt? Oder liegt es vielleicht an dem CPYTOSTMF-Befehl?
Wir arbeiten mit R5V4 und Excel 2003. Bislang hat das funktioniert. Da wir nun beides upgedated haben (i5/OS und Excel) können wir nicht genau sagen, woran diese Fehlfunktion nun liegen könnte. Alle Excel 2003 Updates wurden eingespielt.

Vielen Dank im voraus!
Martin Withake

alfredo
19-02-07, 10:10
Hallo!
EXCEL kann die Codierung nicht erkennen, weil es bei Windows keine "CCSID" für Files gibt.
Warum UTF-8 Text-Dateien von EXCEL nicht unterstützt werden ist mir übrigens schleierhaft, Notepad kann es ja.
Dass er beim Text-Assistenten chinesisch vorschlägt, kenne ich auch, weiss aber die Ursache nicht.
Bei Extension .CSV würde EXCEL diese automatisch im eingestellten Zeichensatz laut WINDOWS-Spracheinstellung öffnen.
CSV ist bei EXCEL allerdings ein Problem, weil Texte automatisch in Zahlen umgewandelt werden, wenn es irgendwie geht.

lg

mwithake
19-02-07, 10:23
Danke für den Tip mit .CSV Endung, das funktioniert sehr gut. Texte sind kein Problem, wenn Sie in Anführungszeichen gepackt sind.

alfredo
19-02-07, 10:26
Das wäre mir neu.
Meines Wissens kennt EXCEL zwar Textbegrenzer und entfernt sie, wandelt den Inhalt aber dann doch nach Möglichkeit in Zahlen um.
Beispiel "011.2901.100"
lg

Fuerchau
19-02-07, 10:52
Wenn man ein einfaches Hochkomma davor setzt, interpretiert Excel dies immer als Text.

mwithake
19-02-07, 10:52
Das ist richtig, bei einer solchen Kombination wandelt Excel das Feld in Zahlen um. Der Assistent verhält sich hier aber auch nicht anders, es sei denn man greift bei dem Spaltenformat ein.

Wird ein Apostroph vorangestellt, wird der Wert als Text übernommen, aber - genauso wie bei der Spaltenanpassung des Assistenen - mit einem Hinweis markiert.

Wir sind in der glücklichen Lage, nicht solche Zahlenkombinationen zu haben, echte Texte werden einwandfrei übernommen.

alfredo
19-02-07, 10:56
Wir sind in der "glücklichen" Lage, dass alle Ordnungsbegriffe alphanummerisch sind(Firma, Kostenstellen etc.), da ist das ärgerlich.
Ich halte das für einen Fehler; wozu gibt es denn Textbegrenzer?
Übrigens haben die das bei Openoffice sklavisch nachprogrammiert.
lg