[SAP - ABAP] 第一个例子

<!--StartFragment -->

REPORT  Z_DT0119.

DATA: OK_CODE LIKE SY-UCOMM,
      save_ok LIKE SY-UCOMM,
      mode(10TYPE c.
TABLES DEMO_CONN. // 注意这里声明一个 数据字典 结构的方法

                                   // 这个结构 用来传递 abap程序 和 sap gui的数据。

                                   // P334讲了两种传数据的方法。感觉上本例子用的是第二种方法。即,用数据字典中的结构来

                                   // 传递。

START-OF-SELECTION.
  CALL SCREEN 100.

*&---------------------------------------------------------------------*
*&      Module  STATUS_0100  OUTPUT
*&---------------------------------------------------------------------*


MODULE STATUS_0100 OUTPUT.
   SET PF-STATUS '0100'.     // 设置 gui status
   SET TITLEBAR '100TITLE'.   // 设置 gui title
ENDMODULE.                 " STATUS_0100  OUTPUT


*&---------------------------------------------------------------------*
*&      Module  USER_COMMAND_0100  INPUT
*&---------------------------------------------------------------------*


MODULE USER_COMMAND_0100 INPUT.
  save_ok = ok_code.
  CLEAR ok_code.
  CASE save_ok.
      WHEN 'EXIT'.
        LEAVE PROGRAM.
      WHEN 'DISP'.
        mode = 'display'.
      WHEN 'CLAR'.
        mode = 'clear'.
  ENDCASE.
ENDMODULE.                 " USER_COMMAND_0100  INPUT


*&---------------------------------------------------------------------*
*&      Module  DISPLAY_DATA  OUTPUT
*&---------------------------------------------------------------------*


MODULE DISPLAY_DATA OUTPUT.
  if mode = 'display'.
    SELECT SINGLE * FROM SPFLI INTO CORRESPONDING FIELDS OF DEMO_CONN
      WHERE carrid = DEMO_CONN-carrid   //DEMO_CONN-carrid  和DEMO_CONN-connid的值 是
      AND connid = DEMO_CONN-connid.    // 上一次从 屏幕 传递到 abap 程序的。
  elseif mode = 'clear'.
    clear DEMO_CONN.
  endif.
  clear mode.
ENDMODULE.                 " DISPLAY_DATA  OUTPUT

结合QPT002中 program Z_DT0119理解

猜你喜欢

转载自speed847.iteye.com/blog/574706