Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Text Editor not fetching value

Former Member
0 Likes
2,140

Hi All,

We need to add a text editor for the user to enter comments. We wrote the below logic but the text is not being fecthed.



MODULE pbo OUTPUT.
  DATA: lv_text1 TYPE string.
  gv_mycontainer = 'CC_TEXT'.
  IF gv_ss_editor IS INITIAL.
*   create control container
    CREATE OBJECT gv_ss_container
        EXPORTING
            container_name = gv_mycontainer
        EXCEPTIONS
            cntl_error = 1
            cntl_system_error = 2
            create_error = 3
            lifetime_error = 4
            lifetime_dynpro_dynpro_link = 5.
    IF sy-subrc NE 0.
    ENDIF.

    CREATE OBJECT gv_ss_editor
          EXPORTING
           parent = gv_ss_container
           wordwrap_mode =
              cl_gui_textedit=>wordwrap_at_fixed_position
           wordwrap_position = 25
           wordwrap_to_linebreak_mode = cl_gui_textedit=>true.
  ENDIF.

  CALL METHOD gv_ss_editor->set_toolbar_mode
    EXPORTING
      toolbar_mode = cl_gui_textedit=>false.
  CALL METHOD gv_ss_editor->set_statusbar_mode
    EXPORTING
      statusbar_mode = cl_gui_textedit=>false.

  IF NOT proj-details IS INITIAL.
    lv_text1 = proj-details.
    CALL METHOD gv_ss_editor->set_textstream
      EXPORTING
        text = lv_text1.
  ENDIF.
ENDMODULE.                 " pbo  OUTPUT

MODULE pai INPUT.
  DATA: lv_text TYPE string.
  CALL METHOD gv_ss_editor->get_selected_textstream
    IMPORTING
      selected_text = lv_text.
  proj-details = lv_text.
ENDMODULE.                 " pai  INPUT

When I see in debugging mode, in PAI module, sy-tabix is becoming 1 but lv_text doesn't have any value. Did I go wrong somewhere?

Kindly suggest.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,378

Why don't you use the method GET_TEXTSTREAM, GET_TEXT_AS_R3TABLE or GET_TEXT_AS_STREAM of class CL_GUI_TEXTEDIT instead of GET_SELECTED_TEXTSTREAM in the PAI.

Regards

Ranganath

Hi All,

We need to add a text editor for the user to enter comments. We wrote the below logic but the text is not being fecthed.



MODULE pbo OUTPUT.
  DATA: lv_text1 TYPE string.
  gv_mycontainer = 'CC_TEXT'.
  IF gv_ss_editor IS INITIAL.
*   create control container
    CREATE OBJECT gv_ss_container
        EXPORTING
            container_name = gv_mycontainer
        EXCEPTIONS
            cntl_error = 1
            cntl_system_error = 2
            create_error = 3
            lifetime_error = 4
            lifetime_dynpro_dynpro_link = 5.
    IF sy-subrc NE 0.
    ENDIF.

    CREATE OBJECT gv_ss_editor
          EXPORTING
           parent = gv_ss_container
           wordwrap_mode =
              cl_gui_textedit=>wordwrap_at_fixed_position
           wordwrap_position = 25
           wordwrap_to_linebreak_mode = cl_gui_textedit=>true.
  ENDIF.

  CALL METHOD gv_ss_editor->set_toolbar_mode
    EXPORTING
      toolbar_mode = cl_gui_textedit=>false.
  CALL METHOD gv_ss_editor->set_statusbar_mode
    EXPORTING
      statusbar_mode = cl_gui_textedit=>false.

  IF NOT proj-details IS INITIAL.
    lv_text1 = proj-details.
    CALL METHOD gv_ss_editor->set_textstream
      EXPORTING
        text = lv_text1.
  ENDIF.
ENDMODULE.                 " pbo  OUTPUT

MODULE pai INPUT.
  DATA: lv_text TYPE string.
  CALL METHOD gv_ss_editor->get_selected_textstream
    IMPORTING
      selected_text = lv_text.
  proj-details = lv_text.
ENDMODULE.                 " pai  INPUT

When I see in debugging mode, in PAI module, sy-tabix is becoming 1 but lv_text doesn't have any value. Did I go wrong somewhere?

Kindly suggest.

4 REPLIES 4
Read only

Former Member
0 Likes
1,379

Why don't you use the method GET_TEXTSTREAM, GET_TEXT_AS_R3TABLE or GET_TEXT_AS_STREAM of class CL_GUI_TEXTEDIT instead of GET_SELECTED_TEXTSTREAM in the PAI.

Regards

Ranganath

Read only

0 Likes
1,376

I tried using GET_TEXTSTREAM. But still the problem persists. When I open the screen for the first time and enter some text and save, it's being saved in the table. But when I reopen it again and change the text, though sy-tabix is 1, value is not being fetched.

Please suggest.

Read only

0 Likes
1,376

Looks to be the data is buffered in the container. Hence, you might not be able to view the changes done to the editor. Why don't you refresh the buffer or flush the buffer before each time it is opened.

Regards

Ranganath

Read only

0 Likes
1,376

HI Ranganath

I'm also facing the similar issue of what srinivas has faced. Could you please explain me how to flush the buffer of the container before each time it is opened.

please help me in solving my problem. Thanks in advacne!

The below is the code written.

IN PBO:

IF init IS INITIAL.

init = 'X'.

CREATE OBJECT:

container EXPORTING container_name = 'TEXTEDIT',

editor EXPORTING parent = container,

handle.

event-eventid = cl_gui_textedit=>event_f1.

event-appl_event = 'X'. "system event

APPEND event TO event_tab.

event-eventid = cl_gui_textedit=>event_f4.

event-appl_event = 'X'. "application event

APPEND event TO event_tab.

CALL METHOD: editor->set_registered_events

EXPORTING events = event_tab.

SET HANDLER handle->handle_f1

handle->handle_f4 FOR editor.

it_text1] = it_text[.

CLEAR it_text[].

CALL METHOD editor->set_text_as_stream

EXPORTING

text = it_text1.

CLEAR : lv_lines , lv_lines_to.

DESCRIBE TABLE it_text1 LINES lv_lines.

lv_lines_to = lv_lines + 1.

ENDIF.

IN PAI:

IF NOT editor IS INITIAL.

CALL METHOD editor->get_text_as_stream

IMPORTING

text = it_text1.

CALL METHOD editor->free

EXCEPTIONS

OTHERS = 1.

IF sy-subrc NE 0.

  • add your handling

ENDIF.