Untuk kebutuhan mengubah text panjang yang diinput user dan mengubahnya ke beberapa baris dengan panjang karakter yang sudah didefinisikan, silahkan gunakan function module ‘TEXT_SPLIT’. Dengan menggunakan FM ini, secara otomatis text panjang akan menjadi beberapa baris sesuai dengan standard text.
Berikut ini adalah contoh penggunaannya dalam program.
REPORT ysplittext. DATA: i_freetext TYPE t8j_modif-code OCCURS 0, wa_freetext TYPE t8j_modif-code. DATA: v_text TYPE string. DATA: v_line(100), v_rest(1000). CALL FUNCTION 'CATSXT_SIMPLE_TEXT_EDITOR' EXPORTING im_title = 'Free Text' im_start_column = 20 im_start_row = 20 CHANGING ch_text = i_freetext. LOOP AT i_freetext INTO wa_freetext. IF v_text IS INITIAL. v_text = wa_freetext. ELSE. CONCATENATE v_text wa_freetext INTO v_text SEPARATED BY space. ENDIF. ENDLOOP. v_rest = v_text. DO. IF v_rest IS INITIAL. EXIT. ENDIF. CALL FUNCTION 'TEXT_SPLIT' EXPORTING length = 100 text = v_rest IMPORTING line = v_line rest = v_rest. write v_line. ENDDO.
Namun, bila ingin mengubah long text menjadi beberapa baris dalam satu table, bisa memodifikasi code di atas, atau untuk lebih mudahnya bisa gunakan saja FM SOTR_SERV_STRING_TO_TABLE.