Professional Documents
Culture Documents
When working on Asian projects, many times we face problem with multi-byte characters.
There are numerous situations where we need to Identify whether multi-byte characters are used or
not, number of bytes required for the display of one character, how many multi-byte characters are
used so that and so on.
Way 1:
DESCRIBE FIELD TEXT: LENGTH BYTELEN IN BYTE MODE,
LENGTH CHARLEN IN CHARACTER MODE.
IF BYTELEN <> CHARLEN.
*----- MULTI-BYTE CHARACTERS ARE USED.
ENDIF.
Way 2:
*----- Method DYNAMIC_OUTPUT_LENGTH calculate the actual Output Length
CALL METHOD CL_ABAP_LIST_UTILITIES=>DYNAMIC_OUTPUT_LENGTH
EXPORTING
FIELD = TEXT
RECEIVING
LEN = BYTELEN.
CHARLEN = STRLEN( TEXT ).
IF BYTELEN <> CHARLEN.
*----- MULTI-BYTE CHARACTERS ARE USED.
ENDIF.
DESCRIBE FIELD TEXT: LENGTH BYTELEN IN BYTE MODE,
LENGTH CHARLEN IN CHARACTER MODE.
NUMBER_OF_BYTES = BYTELEN / CHARLEN.
3. Number of multi-byte characters used in given text
For this, let us consider example of Japanese Single and double byte characters.
TEXT = 'チェックスミトモテスト'.
CALL METHOD CL_ABAP_LIST_UTILITIES=>DYNAMIC_OUTPUT_LENGTH
EXPORTING
FIELD = TEXT
RECEIVING
LEN = BYTELEN. " BYTELEN = 14
NUMBER_OF_DOUBLEBYTE_CHARACTERS = BYTELEN - CHARLEN = 3.