PDA

View Full Version : CRLF bei SAP-Unicode-System



NollW
09-07-07, 14:35
Hallo zusammen,
wir haben bislang im IFS Streamfiles an SAP 4.6C (ASCII-System) übertragen. Nun soll auf SAP-Unicode umgestellt werden. Beim Test wurde von SAP das Satzende CRLF (Hex 0D25) nun als # Zeichen interpretiert. Was muß man angeben, damit SAP-Unicode wieder CRLF erkennt?
Alle übrigen Zeichen werden ordnungsgemäß umgesetzt.
Für jeden Hinweis danke im Voraus.

Fuerchau
09-07-07, 16:06
x'000D0025' da Unicode ein 2-byte-code ist.

NollW
09-07-07, 16:22
Wie sollte ich nur CRLF auf Uncicode (2-Byte-Code) konvertieren und die übrigen Daten nicht? Da alle übrigen Daten von SAP ordnungsgemäß gelesen werden, gehe davon aus, daß die Konvertierung von ASCII nach Unicode bei der Datenübernahme durch SAP vorgenommen wird, d.h., ich brauche vorher keine Code-Conversion machen.
Eine testweise Konvertierung auf CCSID 13488 (=UCS-2) hatte keinen Erfolg. Die Daten wurden dann von SAP nicht erkannt.

Fuerchau
09-07-07, 19:56
X'25' = EBCDIC-NL, ASCII = #
X'0A' = ASCII-NL

Vielleicht liegt hier der Fehler und hat nix mit UNICODE zu tun.

NollW
12-07-07, 07:58
Hallo,

ich habe das Problem gelöst. Für alle, die es interessiert:
Mein Problem hat nichts mit Unicode zu tun. Zwar läuft das SAP-System auf Unicode, aber die Schnittstellen-Dateien (IFS Streamfiles) werden weiterhin im EBCDIC dort angeliefert und von SAP (wahrscheinlich beim Datenimport) konvertiert.
Das wichtige dabei ist, daß SAP an dieser Stelle als Satzende-Kennung kein CRLF sondern nur ein LF erwartet und akzeptiert. Ich kann es nicht weiter erklären oder begründen, aber mit LF (Hex 25) läuft alles glatt rein.
Probieren geht über studieren!