文章目录
- 程序类型
- Report程序:1类型程序
- Online程序:M类型程序
- Online程序的主要对象
- Screen
- 界面中的事件块(Event Block)
- 界面中常用关键字
程序类型
Report程序:1类型程序
- 制作报表,数据列表(DataList)输出
Online程序:M类型程序
- 查询数据,录入、修改、删除等
- Module Pool程序:以Module Pool形态进行业务流程的逻辑处理
- Online程序,强调用Online Transaction来处理业务流程进行过程
- Screen程序,主要使用Screen(及屏幕对象),并实现界面间Flow Logic(流逻辑)
Online程序的主要对象
界面(Screen)
模块池(Module Pool)
- 全局字段(Global Data):声明模块池中所有模块都可使用的数据-TOP
- PBO模块(PB0 Modules):屏幕输出前调用的模块-O01
- PAI模块(PAI Modules):相应用户输入而调用的模块-I01
- 子程序(Subroutines):可以在模块中任何位置调用的子程序-F01
菜单(GUl Status)
标题(GUI TITLE)
事务代码(Transaction Code)
用户可以访问的部分是Screen,用户对界面进行操作,相应的操作是通过Screen中的逻辑流控制,而数据声明和界面逻辑代码实现部分是在ABAP程序中。
Screen
1.SAP的屏幕开发
ABAP List代码实现(例:选择界面的创建)
- Report程序直接执行即可以显示查询界面或结果界面
Dialog Screen绘制:较复杂,界面丰富 - Online程序想要显示查询或结果界面必须建立Screen
- 事件驱动程序(Event-Driven)
2.屏幕功能实现
- ABAP程序不能直接定义Screen,要通过Screen Painter这个工具来实现。界面元素设定通过Screen Layout Designer来实现
- 界面的设定:属性/大小/模式
- 界面中的元素:描述或帮助。可以进行有效性检查
- 界面中可以设置独立的Menu Bar或Title,点选按钮或回车可以触发相应功能
- 功能实现位置:逻辑流中设定
3.Online程序不能被直接执行,必须通过事务代码,指定界面执行
界面中的事件块(Event Block)
(1) 用户访问界面,对界面进行操作,相应的操作是通过逻辑流控制的。也就是Screen Painter中定义Flow Logic的位置
(2) 4个事件块:
- PROCESS BEFORE OUTPUT
PBO中的处理逻辑控制界面输出前处理,如更改一些元素的值或属性 - PROCESS AFTER INPUT.
PAI中的处理逻辑控制用户对界面操作后的处理,如按回车键对输入数据进行检查 - PROCESS ON HELP-REQUEST.
FieldHelp的实现(F1帮助) - PROCESS ON VALUE-REQUEST.
输入帮助SearchHelp的实现(F4帮助)
(3) 界面定义的步骤:
创建界面,在Screen Attributes中定义Screen的属性
在Screen Layout Designer和Element List中定义界面中的元素(位置及属性)
在Screen Flow Logic中设定在Screen显示的逻辑处理和显示后对界面进行相应操作的逻辑处理
界面中常用关键字
- MODULE:调用Dialog Module
- FIELD:指Element list中特定的Screen field。可以判断Screen Field的值或状态是否发生变化。在PAI中对相关Field进行控制时,一定要使用的关键字。
- ON:FIELD…ON(Field的连接语)
- VALUE:FIELD……VALUE(Field的连接语)
- CHAIN:CHAIN的开始。CHAIN可以将多个Field捆绑成一个同时进行管理。
- ENDCHAIN:结束CHAIN。
- CALL:调用(CALL a Subscreen)。
- LOOP:开始处理Screen Table。
- ENDLOOP:结束Screen Table处理。