Code20070529 - ooxxvv/MySAPnotes GitHub Wiki
Code20070529
- 此範列程式碼的作用為:在 「unicode」的系統下計算中英文字串夾雜字串的輸出長度 (Output length)。
- 在 「非 unicode」 系統下,SAP 會將一個中文字的長度視為兩個英文字母。但在 「unicode」的系統下,一個中文字和一個英文字的長度相同。在某些需將一個中文字視為兩個英文字母的情況下 (例如:有些銀行的電子媒體付款檔是以固定位置來捉取資料) 可使用此方式來取得字串的 Output length。
- 使用 「cl_abap_list_utilities=>dynamic_output_length」 這個 Method 來計算中英文字串夾雜的字串長度。這個 Method 會將一個中文字的輸出長度視為兩個英文字母的長度。
Code
DATA: l_str LIKE tline-tdline,
l_len TYPE i.
l_str='測試中文長度'.
CALL METHOD cl_abap_list_utilities=>dynamic_output_length
EXPORTING
field=l_str
RECEIVING
len=l_len.
WRITE: / l_str,
l_len.
l_str='測試中文長度 and english string'.
CALL METHOD cl_abap_list_utilities=>dynamic_output_length
EXPORTING
field=l_str
RECEIVING
len=l_len.
WRITE: / l_str,
l_len.