长文本输入

从屏幕输入长文本

*&---------------------------------------------------------------------*
*& 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

猜你喜欢

转载自blog.csdn.net/qq_37968127/article/details/89021599
今日推荐