知识点
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调用。
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/18277.html