ABAP文本錄入(Editor Container)

ABAP GUI 编辑器操作指南
本文介绍了一个使用 ABAP 开发的 GUI 应用程序,该应用程序包括初始化编辑器、处理用户命令等功能。用户可以进行保存、清除、打印等操作。

 *&---------------------------------------------------------------------*
*&  Include           ZINC_703
*&---------------------------------------------------------------------*
TABLES: USR01.

DATA: ECON TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
      EDITOR TYPE REF TO CL_GUI_TEXTEDIT.
DATA: ETABLE(256TYPE C OCCURS 0.   "NO HEADER LINE沒有表頭的內表
DATA: WA_ETABLE LIKE LINE OF ETABLE.
*&---------------------------------------------------------------------*
*&      Module  STATUS_0703  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE STATUS_0703 OUTPUT.
  SET PF-STATUS 'TESTING'.
  SET TITLEBAR '0703'.
  IF ECON IS INITIAL.
      CREATE OBJECT ECON
        EXPORTING
           CONTAINER_NAME = 'ELONG'.
      CREATE OBJECT EDITOR
        EXPORTING
          PARENT = ECON
          WORDWRAP_MODE = CL_GUI_TEXTEDIT=>WORDWRAP_AT_FIXED_POSITION
          WORDWRAP_POSITION = 256
          WORDWRAP_TO_LINEBREAK_MODE = CL_GUI_TEXTEDIT=>TRUE.
      CALL METHOD EDITOR->SET_FOCUS
        EXPORTING
          CONTROL = EDITOR.
      "--READ INITIAL DATA
   ENDIF.

ENDMODULE.                 " STATUS_0703  OUTPUT
*&---------------------------------------------------------------------*
*&      Module  USER_COMMAND_0703  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_0703 INPUT.
  OK_CODE = SY-UCOMM.
  CLEAR: SY-UCOMM.
    CASE OK_CODE.
      WHEN 'BACK' OR 'RETURN' OR 'CANCEL'.
          LEAVE TO SCREEN 0.
      WHEN 'SAV'.
          CALL METHOD EDITOR->GET_TEXT_AS_R3TABLE
             IMPORTING
               TABLE = ETABLE.
          MESSAGE 'SAVE DATA SUCCESSFULLY' TYPE 'S'.
      WHEN 'CLR'.
          CLEAR: ETABLE[].
          CALL METHOD EDITOR->SET_TEXT_AS_R3TABLE
             EXPORTING
               TABLE = ETABLE.
          MESSAGE 'CLEAR DATA SUCCESSFULLY' TYPE 'S'.
      WHEN 'PRIS'.  "PRINT SMARTFORM
        IF ETABLE[] IS NOT INITIAL.
          PERFORM SUB_SET_PRINTER_CONTROL USING '1' 'X' '' 'E'.  "pcopies,preview,print no dialog,print language
          PERFORM SUB_BEGIN_PRINTER_MODULE USING 'ZSMART_TEST_EDIT'.
          PERFORM SUB_CALL_OPENFORM.
          PERFORM SUB_BEGIN_PRINTER.  "LOOP
          PERFORM SUB_CALL_CLOSEFORM.
*          if JOB_OUTPUT_INFO-OUTPUTDONE = 'X'.   "print result
*            ...
*          endif.
        ELSE.
          MESSAGE 'NO DATA, PLEASE SAVE DATA !' TYPE 'S'.
        ENDIF.
      WHEN 'PRIF'.   "PRINT FORM
        IF ETABLE[] IS NOT INITIAL.
          PERFORM SUB_FORM_OPEN USING 'ZSCREEN_TESTFORM' '1' 'X' 'X' 'E'"FORM_NAME "pcopies,preview,print dialog,print language
          PERFORM SUB_FORM_WRITE_DATA.
          PERFORM SUB_FORM_CLOSE.
        ELSE.
          MESSAGE 'NO DATA, PLEASE SAVE DATA !' TYPE 'S'.
        ENDIF.
      WHEN OTHERS.
        ...
    ENDCASE.
  CLEAR: OK_CODE.
ENDMODULE.                 " USER_COMMAND_0703  INPUT

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值