ABAP 实战屏幕screen设计

1.工具条和菜单设计

REPORT YHELLOA.
DATA:FORINPUT(20) TYPE C VALUE '初始值',
      FORCODE(20) TYPE C.
*功能码返回值
DATA:OK_CODE TYPE SY-UCOMM,
      SAVE_OK TYPE SY-UCOMM.

*直接调用窗口
CALL SCREEN 100.
*输出返回变量
WRITE:FORINPUT,/ FORCODE.

MODULE STATUS_0100 OUTPUT.
*定义状态条、包括菜单、工具条按钮、系统按钮等
  SET PF-STATUS 'TESTSTA1'.
*将变量值输出至屏幕字段
  FORCODE = SAVE_OK.
  ENDMODULE.
  
  MODULE CANCEL INPUT.
    LEAVE PROGRAM.
    ENDMODULE.
    
 MODULE USER_COMMAND_0100 INPUT.
   SAVE_OK = OK_CODE.
   CLEAR OK_CODE.   
   
*分析功能码,如果是工具条上的第二个按钮,泽退出当前屏幕
   CASE SAVE_OK.
     WHEN 'BIN2'.
       LEAVE TO SCREEN 0.
       ENDCASE.
  ENDMODULE.
      

2.数据字典关联字段

使用YTDSCHOOL学校表,在屏幕上定义相关该表字段,并根据输入的主关键字检索其他字段的信息,并显示到输入输出字段.

REPORT YHELLOB.
*功能码返回值
DATA:OK_CODE TYPE C,
      SAVE_OK TYPE C.
*使用学校表
TABLES YTDSCHOOL.
*直接调用窗口
CALL SCREEN 100.

MODULE CANCEL INPUT.
  LEAVE PROGRAM.
  ENDMODULE.
  
MODULE STATUS_O100 OUTPUT.
  SET PF-STATUS 'STATUS1'.
  ENDMODULE.

MODULE STATUS_0100 OUTPUT.
  SAVE_OK = OK_CODE.
  CLEAR OK_CODE.
  CASE SAVE_OK.
    WHEN 'EXIT'.
      LEAVE PROGRAM.
      ENDCASE.
*将SELECT数据赋给SCHOOL记录,SCHOOL记录关联屏幕字段
   SELECT SINGLE *
     INTO CORRESPONDING FIELDS OF YTDSCHOOL
     FROM YTDSCHOOL
     WHERE YSH_ID = YTDSCHOOL-YSH_ID.
     IF SY-SUBRC NE 0.
       CLEAR YTDSCHOOL.
      ENDIF.
ENDMODULE.

3.逻辑流

发布消息。

*功能码返回值
DATA: OK_CODE TYPE SY-UCOMM,
      SAVE_OK TYPE SY-UCOMM.
*定义输入字段变量
DATA: FLD1(20) TYPE C,
      FLD2(20) TYPE C,
      FLD3(20) TYPE C,
      FLD4(20) TYPE C,
      ACTION(50) TYPE C.
*直接调用窗口
CALL SCREEN 100.

MODULE CANCEL INPUT.
  LEAVE PROGRAM.
ENDMODULE.

MODULE STATUS_0100 OUTPUT.
  SET PF-STATUS 'TESTST

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值