从屏幕输入长文本
*&---------------------------------------------------------------------*
*& Report YZS_LONGTEXT
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT yzs_longtext.
DATA: ok_code TYPE sy-ucomm,
save_ok LIKE ok_code.
*定制控制 编辑对象定义
DATA container TYPE REF TO cl_gui_custom_container.
DATA editor TYPE REF TO cl_gui_textedit.
DATA: init,
m1 TYPE TABLE OF lines,
line TYPE lines.
line = '请输入: '.
APPEND line TO m1.
APPEND line TO m1.
CALL SCREEN 100.
REFRESH m1.
CALL METHOD editor->get_text_as_r3table "获取长文本输入框内容
IMPORTING
table = m1.
LOOP AT m1 INTO line.
WRITE / line.
ENDLOOP.
*&---------------------------------------------------------------------*
*& Module STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
SET PF-STATUS '0100'.
* SET TITLEBAR 'xxx'.
IF init IS INITIAL.
init = 'X'.
CREATE OBJECT: container EXPORTING container_name = 'PP'.
CREATE OBJECT editor
EXPORTING
parent = container
wordwrap_mode = cl_gui_textedit=>wordwrap_at_fixed_position
wordwrap_position = 256
wordwrap_to_linebreak_mode = cl_gui_textedit=>true.
ENDIF.
"隐藏TOOLBAR,可以放开试一下
CALL METHOD editor->set_toolbar_mode
EXPORTING
toolbar_mode = 0
EXCEPTIONS
error_cntl_call_method = 1
invalid_parameter = 2
OTHERS = 3.
CALL METHOD editor->set_text_as_r3table "给长文本输入框输入默认值
EXPORTING
table = m1.
ENDMODULE. " STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE user_command_0100 INPUT.
save_ok = ok_code.
CLEAR ok_code.
CASE save_ok.
WHEN OTHERS.
LEAVE TO SCREEN 0.
ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT