REPORT ytest_012 MESSAGE-ID oo. DATA: l_string() TYPE c.
DATA: l_string1() TYPE c.
DATA: l_string2() TYPE c.
DATA: l_pos TYPE i.
DATA: BEGIN OF ls_line,
line() TYPE c,
END OF ls_line,
lt_line LIKE TABLE OF ls_line. l_string = 'asdgtrtfjdsjfiuiowhjhqhbdsnbkjjvkjckl'. DO.
CALL FUNCTION 'STRING_SPLIT_AT_POSITION'
EXPORTING
string = l_string
pos =
* LANGU = SY-LANGU
IMPORTING
string1 = l_string1
string2 = l_string
pos_new = l_pos
EXCEPTIONS
string1_too_small =
string2_too_small =
pos_not_valid =
OTHERS =
.
IF sy-subrc = .
* WRITE:/ l_string1, '-'.
ls_line-line = l_string1 .
APPEND ls_line TO lt_line .
ELSEIF sy-subrc = .
* WRITE:/ l_string.
ls_line-line = l_string .
APPEND ls_line TO lt_line .
EXIT .
ENDIF. ENDDO. CLEAR: ls_line .
LOOP AT lt_line INTO ls_line. WRITE:/ ls_line-line. ENDLOOP. " 用下面的这个方法来截,不会把中文截断,而且中文当2个长度(as_character <> 'X')
CALL FUNCTION 'TEXT_SPLIT'
EXPORTING
length =
text = lv_str
* as_character = 'X'
IMPORTING
line = lv_str1
rest = lv_str2 . WRITE:/ lv_str .
WRITE:/ lv_str1 .
WRITE:/ lv_str2 .