FM ‘Text_Split’ to split long text to multiple lines

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.

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.