SAP 如何实现文本框多行输入[代码直接可用]

先看看屏幕设计

再来看看PBO /PAI

 

代码如下:

REPORT zjw_test01.
CONSTANTS: gc_text_line_length TYPE i VALUE 72.
TYPES: text_table_type(gc_text_line_length) TYPE c OCCURS 0.
DATA: gv_splitter TYPE REF TO cl_gui_easy_splitter_container.
DATA: gv_custom_container TYPE REF TO cl_gui_custom_container.
DATA: gv_text_editor TYPE REF TO cl_gui_textedit.
DATA: lt_text_table                         TYPE text_table_type,
      ls_text_table_wa(gc_text_line_length) TYPE c,
      gv_xthead_updkz                       TYPE i.
CALL SCREEN 100.

MODULE splitter_control_vorbereiten OUTPUT.

  IF gv_splitter IS INITIAL.
    CREATE OBJECT gv_custom_container
      EXPORTING
        container_name = 'SPLITTER_CONTAINER'.

    CREATE OBJECT gv_splitter
      EXPORTING
        parent        = gv_custom_container
        orientation   = 1
        sash_position = 39.

  ENDIF.

  IF gv_text_editor IS INITIAL.
    CREATE OBJECT gv_text_editor
      EXPORTING
        parent                     = gv_splitter->bottom_right_container
*       wordwrap_mode              = cl_gui_textedit=>wordwrap_at_windowborder
        wordwrap_to_linebreak_mode = cl_gui_textedit=>false
      EXCEPTIONS
        error_cntl_create          = 1
        error_cntl_init            = 2
        error_cntl_link            = 3
        error_dp_create            = 4
        gui_type_not_supported     = 5.    CALL METHOD gv_text_editor->set_readonly_mode      EXPORTING        readonly_mode = cl_gui_textedit=>true.
  ENDIF.




ENDMODULE.                 " SPLITTER_CONTROL_VORBEREITEN  OUTPUT
*&---------------------------------------------------------------------*
*&      Module  STATUS_0100  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
  SET PF-STATUS 'STATUS_0100'.
*  SET TITLEBAR 'xxx'.
ENDMODULE.
*&---------------------------------------------------------------------*
*&      Module  EXIT  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE exit INPUT.
  LEAVE TO SCREEN 0.
ENDMODULE.
*&---------------------------------------------------------------------*
*&      Module  USER_COMMAND_0100  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE user_command_0100 INPUT.
  DATA t_tdline1 TYPE TABLE OF STANDARD .
* Texttabelle aus Control abholen
  CALL METHOD gv_text_editor->get_text_as_stream
    IMPORTING
      text                   = lt_text_table
      is_modified            = gv_xthead_updkz
    EXCEPTIONS
      error_dp               = 1
      error_cntl_call_method = 2
      OTHERS                 = 3.
  IF sy-subrc = 0.

  ENDIF.

  CALL METHOD gv_text_editor->get_text_as_r3table
    IMPORTING
      table = t_tdline1.
  IF sy-subrc = 0.

  ENDIF.
ENDMODULE.

猜你喜欢

转载自blog.csdn.net/SAPmatinal/article/details/130882962
SAP