CODEPAGE Problem

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
3 Beiträge • Seite 1 von 1
3 Beiträge Seite 1 von 1

CODEPAGE Problem

Beitrag von Beni (ForumUser / 39 / 0 / 0 ) »
Hallo Zusammen,

ich komme echt nicht mehr weiter:

Ich möchte in einem Unicode-System ein DTA-File erzeugen und auf dem Applikationsserver legen. In einem späteren Schritt soll die Datei auf den Präsentationserver in der Codepage 1404 (Microsoft Windows 1250 für Osteuropa) "downgeloaded" werden.

Ich öffne den Dataset zum Schreiben der Datei für den App-Server deshalb wie folgt:

Code: Alles auswählen.

OPEN DATASET hlp_filename FOR OUTPUT IN TEXT MODE
                                     ENCODING NON-UNICODE.
Beim Transfer von polnischen Zeichen kommt es dann zum Kurzdump:

Code: Alles auswählen.

Transfer 'JANA PAWŁA' to file length 10.
Die Meldung lautet:
Bei der Konvertierung eines Textes von Codepage '4102' nach Codepage
'1100' wurde
- entweder ein Zeichen entdeckt, welches in einer der beiden Codepages
nicht dargestellt werden kann;
- oder festgestellt, daß diese Konvertierung nicht unterstützt wird.
Ich muss nun wohl alle Zeichen, die in einer der Codepages nicht dargestellt werden kann ersetzen. So weit ich weiß verwendet man in Unicode-Systemen dazu die Klasse 'cl_abap_conv_out_ce' (?).

Folgendes Coding habe ich aufgebaut:

Code: Alles auswählen.

data: buffer TYPE xstring,
      conv TYPE REF TO cl_abap_conv_out_ce,
      text type string value 'JANA PAWŁA'.
conv = cl_abap_conv_out_ce=>create(
        encoding = 'NON-UNICODE'
        endian = 'L'
        replacement    = '#'
        ignore_cerr  = abap_true
         ).
CALL METHOD conv->write( data = text ).
buffer = conv->get_buffer( ).

Wenn ich den Buffer zurück in einen String umwandle erhalte ich folgendes:

䩁乁⁐䅗⍁???????


Was mache ich falsch?

Vielen Dank für Eure Hilfe. Bin im Moment echt verzweifelt.

Gruß
Beni

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Beitrag von Gast ( / / 0 / 3 ) »
also warum du einen dump bekommst ist ja klar:
du hast einen stream im NON-UNICODE und übermittelst dann ein Unicode zeichen. Warum nicht die datei in binary mode öffnen, und deine zeichen in binary umgewandelt reinschieben?

MfG Frank

Beitrag von Beni (ForumUser / 39 / 0 / 0 ) »
Hallo Frank,

die Sache mit dem binary mode fällt leider aus, da ich dann ein Standard-Prorgramm modifizieren müßte. Ich soll eine andere Lösung finden. Bin auch schon ein Stück weiter gekommen:

1. Ich nehme den string und wandle in über die Klasse cl_abap_conv_out_ce in einen xstring um.

2. Ich nehme den xstring und konvertiere ihn über die Klasse cl_abap_con_x2x_ce von der Codepage '4102' nach Codepage '1404'. Ich erlaube dabei Fehler in der Konvertierung. Dadurch wird aus allen nicht darstellbaren Zeichen eine '#'.

3. Ich wandle den xstring über die Klasse cl_abab_con_in_ce wieder in einen string um und mache dann den transfer.

Wahrscheinlich geht die Sache auch einfacher, aber ich bin zunächst froh, dass mein Coding seinen Zweck erfüllt.

Gruß
Beni

Seite 1 von 1

Vergleichbare Themen

9
Antw.
6497
Views
Problem mit Codepage -> Ausgabe SAPScript
von olli-x » 16.05.2006 15:20 • Verfasst in ABAP® Core
0
Antw.
1112
Views
Chinesische Texte via OLE2 nach EXCEL, Codepage-Problem
von fritz_herma » 04.12.2006 16:11 • Verfasst in ABAP® Core
6
Antw.
5060
Views
Codepage für FTP_R3_TO_SERVER
von schmitzandreas » 06.11.2007 13:17 • Verfasst in ABAP® Core
1
Antw.
3001
Views
Codepage Tschechien
von eschi78 » 05.06.2012 09:24 • Verfasst in ABAP® Core
0
Antw.
1196
Views
Latin2 codepage
von Bajdu » 15.08.2006 08:19 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Regex in where
vor einer Stunde von tar 8 / 176
Daten an Tabelle binden
Gestern von Bright4.5 3 / 1488

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Regex in where
vor einer Stunde von tar 8 / 176
Daten an Tabelle binden
Gestern von Bright4.5 3 / 1488

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 5 Wochen von ralf.wenzel 1 / 3261
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9822