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.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s