1、创建屏幕100,
2、在屏幕上添加自定义控制对象元素和退出、输出按钮
3、代码实现部分:
*&---------------------------------------------------------------------*
*& Report YTEST020
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ytest020.
*功能码返回值
DATA:ok_code TYPE sy-ucomm,
save_ok TYPE sy-ucomm.
**初始化标识字段定义*定制控制和编辑器
DATA:init,
container TYPE REF TO cl_gui_custom_container,
editor TYPE REF TO cl_gui_textedit.
*定义编辑器读出内部
DATA:m1(256) TYPE c OCCURS 0,
line(256) TYPE c.
*m1 like standard table of line .
*输出初始数据
line = '请输入:'.
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 USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE user_command_0100 INPUT.
save_ok = ok_code.
CLEAR ok_code.
* 退出按钮时退出程序
CASE save_ok.
WHEN 'WRITE'.
LEAVE TO SCREEN 0. “离开屏幕
WHEN 'EXIT'.
LEAVE PROGRAM. “离开程序
ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
*& Module STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
* SET PF-STATUS 'xxxxxxxx'.
* SET TITLEBAR 'xxx'.
IF init IS INITIAL.
CREATE OBJECT:container EXPORTING container_name = 'P1'.
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.
*读取初始数据
CALL METHOD editor->set_text_as_r3table
EXPORTING
table = m1.
ENDMODULE. " STATUS_0100 OUTPUT
INCLUDE ytest020_exiti01.