ABAP Keyword Documentation → ABAP - Reference → Obsolete Language Elements → Obsolete character string and byte string processing
TRANSLATE - CODE PAGE, NUMBER FORMAT
Other versions:
7.31 | 7.40 | 7.54
Obsolete Syntax
Variants
1. TRANSLATE dobj [FROM CODE PAGE cp1] [TO CODE PAGE cp2].
2. TRANSLATE dobj [FROM NUMBER FORMAT nf1] [TO NUMBER FORMAT nf2].
Effect
These variants of the statement TRANSLATE
(which are not allowed in
Unicode programs) convert the content of a data object into a different
codepage or into a different number format
(byte sequence).
Variant 1
TRANSLATE dobj [FROM CODE PAGE cp1] [TO CODE PAGE cp2].
Effect
The character-like content of a data object dobj
is translated from code
page cp1
to code page cp2
. If dobj
does not have a character-like data type, no translation takes place. If dobj
is a structure, only the components with character-like data type are translated. Apart from strings, no
deep data objects can be specified for dobj
.
When specifying the code pages cp1
, cp2
, data
objects of data type n
with the length 4 are expected, which upon execution
of the statement must contain an SAP code page number of the column CPCODEPAGE in the database table TCP00.
At least one of the additions FROM CODE PAGE
or TO CODE
PAGE must be specified. If one of the additions is not included, the code page of the current
system is used instead of the missing code page cp2
or cp2
.
Variant 2
TRANSLATE dobj [FROM NUMBER FORMAT nf1] [TO NUMBER FORMAT nf2].
Effect
The platform-dependent numeric content of a data object dobj
is translated
from number format nf1
to number format nf2
. If
dobj
is not of data type i
or f
,
the translation does not take place. If dobj
is a structure, only the components of the data type i
or f
are translated. Apart from strings, no
deep data objects can be specified for dobj
.
When specifying the number formats nf1
, nf2
, data
objects of data type n
with the length 4 are expected, which upon execution
of the statement must contain either the value "0000" for the platforms HP, SINIX
, IBM
, or "0101" for the platform DEC-OSF.
At least one of the additions FROM NUMBER FORMAT
or TO
NUMBER FORMAT must be specified. If one of the additions is not used, the number format of the
current platform is used instead of the missing number format nf1
or nf2
.
Note
These variants of the statement TRANSLATE
are not allowed in
Unicode programs. Their functions are replaced with methods of the following conversion classes:
-
CL_ABAP_CONV_IN_CE
Reading data from a byte-like data object and converting from an external format to the system format. -
CL_ABAP_CONV_OUT_CE
Converting data from the system format to an external format and writing in a byte-like data object. -
CL_ABAP_CONV_X2X_CE
Converting data from an external format to another external format.
When opening legacy files in the ABAP file interface, you can directly convert during reading and writing files.
Example
Translating the components of a structure. The character-like component text
is translated from the code page "1100" (HP-UX) to the code page "0100" (IBM-
EBCDIC). The numeric component
num
is converted from the number format "0000" (for platforms by HP IBM, or Siemens, for example) to the number format "0101" (for platforms provided by DIGITAL, for example).
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'.
Exceptions
Non-Catchable Exceptions
-
Cause: Invalid number format.
Runtime Error:TRANSLATE_WRONG_NUM_FORMAT