ABAP Dialog笔记

知识点

1,Screen(屏幕)

2,PBO(PROCESS BEFORE OUTPUT.)

3,PAI(PROCESS AFTER INPUT)

4,Module

5,GUI Title

6,GUI Status

 

一点点理解

1,上述6个对象都从属于程序(Report XXXXX),在Report定义的变量上述对象均能访问。

REPORT ZBC_LCL_DIALOG001.
*定义类是内表的结构用以承接数据
TABLES spfli.
*定义ucommn类型字段,承接按钮事件
DATA OK_CODE  TYPE sy-ucomm.

PARAMETERS p_carr TYPE spfli-CARRID.
parameters p_conn TYPE spfli-CONNID.

call screen 100.

INCLUDE zbc_lcl_dialog001_100_pbo.

INCLUDE zbc_lcl_dialog001_100_pai.

2,Report调用Screen是通过屏幕号Call。屏幕元素可以通过设置断点方式查看。屏幕元素均有是否可见、命名、显示名称、是否只读等属性,还可以设置Gourp1/2/3/4属性,方便分组设置(比如多个字段一起只读)。屏幕元素赋值,可以通过在主程序(Report)中设置同名字段或者同名结构来赋值。

3,操作屏幕需定义PBO和PAI程序块,分别代表屏幕运行前加载和屏幕操作后执行代码。SAP提供快速子程序或者Module程序块生成方法。

PROCESS BEFORE OUTPUT.
MODULE STATUS_0100.
*
MODULE GETDATA.
Module SETSCREEN.


PROCESS AFTER INPUT.
MODULE USER_COMMAND_0100.
MODULE EXIT.

4,Module可以放在不同的INCLUDE文件中,建议是按PBO和PAI区分放置,再在主程序中通过INCLUDE引入文件。

*----------------------------------------------------------------------*
***INCLUDE ZBC_LCL_DIALOG001_100_PAI.
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&      Module  EXIT  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE EXIT INPUT.

    LEAVE TO SCREEN 0 .

ENDMODULE.                 " EXIT  INPUT
*&---------------------------------------------------------------------*
*&      Module  USER_COMMAND_0100  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_0100 INPUT.

   case ok_code.
     when 'MOD'.
     write 'MOD'.
   ENDCASE.


ENDMODULE.                 " USER_COMMAND_0100  INPUT

5,Title定义比较简单,在对象浏览器中右键创建即可,需要注意的是需要单独激活,可以右键选择激活也可以双击后在屏幕上激活。定义好的Title可以被PBO文件中的Module执行,例如“SET TITLEBAR 'TITLE_100'.”。当然这个Module已经在屏幕的flow logic调用。

6,GUI Status 在对象浏览器中右键创建,可以定义成应用工具栏或者菜单中,详细定义见下图,需要注意的是需要单独激活,可以右键选择激活也可以双击后在屏幕上激活。定义好的Status 可以被PBO文件中的Module执行,例如“SET TITLEBAR 'Status _100'.”。当然这个Module已经在屏幕的flow logic调用。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值