2011 Feb 18 4:46 AM
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.
2011 Feb 18 4:50 AM
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.
2011 Feb 18 4:50 AM
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
2011 Feb 18 5:40 AM
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.
2011 Feb 18 5:55 AM
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
2011 Jun 16 6:37 PM
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.
| User | Count |
|---|---|
| 3 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |