Ansicht
Dokumentation
ABAPTRANSLATE_OBSOLETE - TRANSLATE OBSOLETE
CPI1466 during Backup General Material DataDiese Dokumentation steht unter dem Copyright der SAP AG.
TRANSLATE - CODE PAGE, NUMBER FORMAT
Obsolete Syntax
Varianten:
1. TRANSLATE dobj [FROM CODE PAGE cp1] [TO CODE PAGE cp2].
2. TRANSLATE dobj [FROM NUMBER FORMAT nf1] [TO NUMBER FORMAT nf2].
Wirkung
Diese nur in obsoleten
Nicht-Unicode-Programmen
erlaubten Varianten der Anweisung TRANSLATE setzen den Inhalt eines Datenobjekts in eine andere
Codepage oder in ein anderes Zahlenformat
(Byte-Reihenfolge) um.
Variante 1
TRANSLATE dobj [FROM CODE PAGE cp1] [TO CODE PAGE cp2].
Wirkung
Der zeichenartige Inhalt eines Datenobjekts dobj wird von der Codepage cp1 in die Codepage cp2 umgesetzt. Wenn dobj keinen zeichenartigen Datentyp hat, wird keine Umsetzung vorgenommen. Wenn dobj eine Struktur ist, werden nur die Komponenten mit zeichenartigem Datentyp umgesetzt. Für dobj dürfen außer Strings keine tiefen Datenobjekte angegeben werden.
Für die Angabe der Codepages cp1, cp2 werden Datenobjekte der Datentypen n mit der Länge 4 erwartet, die bei Ausführung der Anweisung eine SAP-Codepage-Nummer aus der Spalte CPCODEPAGE der Datenbanktabelle TCP00 enthalten müssen.
Es muss mindestens einer der Zusätze FROM CODE PAGE oder TO CODE PAGE angegeben
werden. Wird einer der Zusätze weggelassen, wird für die fehlende Codepage cp1 bzw. cp2 die Codepage des aktuellen Systems verwendet.
Variante 2
TRANSLATE dobj [FROM NUMBER FORMAT nf1] [TO NUMBER FORMAT nf2].
Wirkung
Der plattformabhängige numerische Inhalt eines Datenobjekts dobj wird vom Zahlenformat nf1 in das Zahlenformat nf2 umgesetzt. Wenn dobj nicht vom Datentyp i oder f ist, wird keine Umsetzung vorgenommen. Ist dobj eine Struktur, werden nur die Komponenten umgesetzt, deren Datentyp i oder f ist. Für dobj dürfen außer Strings keine tiefen Datenobjekte angegeben werden.
Für die Angabe des Zahlenformats nf1, nf2 werden Datenobjekte der Datentypen n mit der Länge 4 erwartet, die bei Ausführung der Anweisung einen der Werte "0000" für die Plattformen HP, SINIX, IBM oder "0101" für die Plattformen DEC-OSF enthalten müssen.
Es muss mindestens einer der Zusätze FROM NUMBER FORMAT oder TO NUMBER FORMAT angegeben werden. Wird einer der Zusätze weggelassen, wird für das fehlende Zahlenformat nf1 bzw. nf2 das Zahlenformat der aktuellen Plattform verwendet.
Hinweis
Diese Varianten der Anweisung TRANSLATE sind in Unicode-Programmen verboten und ihre Funktionalität wird durch Methoden folgender Konvertierungsklassen ersetzt:
-
CL_ABAP_CONV_IN_CE
Lesen von Daten aus einem byteartigen Datenobjekt und Konvertieren aus einem externen Format in das Systemformat. -
CL_ABAP_CONV_OUT_CE
Konvertieren von Daten vom Systemformat in ein externes Format und Schreiben in ein byteartiges Datenobjekt. -
CL_ABAP_CONV_X2X_CE
Konvertieren von Daten von einem externen Format in ein anderes externes Format.
Beim Öffnen von Legacy-Dateien
in der ABAP-Dateischnittstelle können die Konvertierungen auch direkt beim Schreiben und Lesen von Dateien vorgenommen werden.
Beispiel
Umsetzen der Komponenten einer Struktur. Zunächst wird die zeichenartige Komponente text von der Codepage "1100" (HP-UX) in die Codepage "0100" (IBM- EBCDIC) umgesetzt. Danach wird die numerische Komponente num vom Zahlenformat "0000" (z.B. für Plattformen der Firmen HP, IBM oder Siemens) in das Zahlenformat "0101" (z.B. für Plattformen der Firma DIGITAL) konvertiert.
DATA: BEGIN OF struc,
text TYPE c LENGTH 80 VALUE 'I know You know',
num TYPE i VALUE 2505,
END OF struc.
TRANSLATE struc FROM CODE PAGE '1100'
TO CODE PAGE '0100'.
TRANSLATE struc FROM NUMBER FORMAT '0000'
TO NUMBER FORMAT '0101'.
Ausnahmen
Unbehandelbare Ausnahmen
-
Ursache: Unzulässiges Zahlenformat.
Laufzeitfehler: TRANSLATE_WRONG_NUM_FORMAT
General Material Data SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 7270 Date: 20240523 Time: 143942 sap01-206 ( 96 ms )