1 REPORT ytest_012 MESSAGE-ID oo. 2 3 DATA: l_string(1024) TYPE c. 4 DATA: l_string1(1024) TYPE c. 5 DATA: l_string2(1024) TYPE c. 6 DATA: l_pos TYPE i. 7 DATA: BEGIN OF ls_line, 8 line(100) TYPE c, 9 END OF ls_line, 10 lt_line LIKE TABLE OF ls_line. 11 12 l_string = 'asdgtrtfjdsjfiuiowhjhqhbdsnbkjjvkjckl'. 13 14 DO. 15 CALL FUNCTION 'STRING_SPLIT_AT_POSITION' 16 EXPORTING 17 string = l_string 18 pos = 5 19 * LANGU = SY-LANGU 20 IMPORTING 21 string1 = l_string1 22 string2 = l_string 23 pos_new = l_pos 24 EXCEPTIONS 25 string1_too_small = 1 26 string2_too_small = 2 27 pos_not_valid = 3 28 OTHERS = 4 29 . 30 IF sy-subrc = 0 . 31 * WRITE:/ l_string1, '-'. 32 ls_line-line = l_string1 . 33 APPEND ls_line TO lt_line . 34 ELSEIF sy-subrc = 3 . 35 * WRITE:/ l_string. 36 ls_line-line = l_string . 37 APPEND ls_line TO lt_line . 38 EXIT . 39 ENDIF. 40 41 ENDDO. 42 43 CLEAR: ls_line . 44 LOOP AT lt_line INTO ls_line. 45 46 WRITE:/ ls_line-line. 47 48 ENDLOOP. 49 50 51 " 用下面的这个方法来截,不会把中文截断,而且中文当2个长度(as_character <> 'X') 52 CALL FUNCTION 'TEXT_SPLIT' 53 EXPORTING 54 length = 3 55 text = lv_str 56 * as_character = 'X' 57 IMPORTING 58 line = lv_str1 59 rest = lv_str2 . 60 61 WRITE:/ lv_str . 62 WRITE:/ lv_str1 . 63 WRITE:/ lv_str2 .
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/19203.html