TYPE-POOLS : abap.
DATA : o_text TYPE REF TO cl_gui_textedit,
o_cust TYPE REF TO cl_gui_custom_container,
ok_code TYPE sy-ucomm,
mode TYPE i VALUE cl_gui_textedit=>false,
it_text TYPE TABLE OF char65,
wa_text TYPE char65.
START-OF-SELECTION.
wa_text = ‘*———————Write Your Comment ——–*’.
APPEND wa_text TO it_text.
CALL SCREEN 100.
*———————————————————–*
MODULE create_comment_box OUTPUT.
IF o_cust IS NOT BOUND.
CREATE OBJECT o_cust
EXPORTING
container_name = ‘CONT’.
ENDIF.
IF o_text IS NOT BOUND.
CREATE OBJECT o_text
EXPORTING
parent = o_cust.
CALL METHOD o_text->set_toolbar_mode
EXPORTING
toolbar_mode = 0.
CALL METHOD o_text->set_statusbar_mode
EXPORTING
statusbar_mode = 0.
ENDIF.
CALL METHOD o_text->set_text_as_stream
EXPORTING
text = it_text.
ENDMODULE. ” CREATE_COMMENT_BOX OUTPUT
*——————————————————–*
MODULE user_command_0100 INPUT.
CASE ok_code.
WHEN ‘BACK’ OR ‘EXIT’ OR ‘CANCEL’.
LEAVE PROGRAM.
WHEN ‘SAVE’.
CALL METHOD o_text->get_text_as_stream
EXPORTING
only_when_modified = cl_gui_textedit=>true
IMPORTING
text = it_text.
WHEN ‘TOGG’.
IF ( mode = cl_gui_textedit=>true ).
mode = cl_gui_textedit=>false.
ELSE.
mode = cl_gui_textedit=>true.
ENDIF.
CALL METHOD o_text->set_readonly_mode
EXPORTING
readonly_mode = mode.
ENDCASE.
ENDMODULE. ” USER_COMMAND_0100 INPUT
*————————————————————*
MODULE status_0100 OUTPUT.
SET PF-STATUS ‘STATUS’. ” SET (SAVE, BACK,EXIT,CANCEL) IN PF-STATUS
ENDMODULE. ” STATUS_0100 OUTPUT
SCREEN 100 FLOW LOGIC
PROCESS BEFORE OUTPUT.
MODULE status_0100.
MODULE create_comment_box.
PROCESS AFTER INPUT.
MODULE user_command_0100.
