sap中abaa执行程序

时间:2022-07-11 05:49:27 阅读: 最新文章 文档下载
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。
sapabaa执行程序

SAP系统中,ABAP程序主要有两类,一个是报表程序,程序类型为另一个是模块池程序,程序类型为M。这两类程序的执行过程还是有很大的区别的。

模块池程序

模块池程序Module pool programs也可以叫用户对话程序。在此类程序中,最重要的概念是屏幕(Screen),所有的操作基本上都是围绕屏幕的PBOPAI进行的。

此类程序有个最大的特点就是只能通过事务代码执行(T-code)程序执行的过程从表象上看就是一系列屏幕切换的过程,详细的程序执行过程如下:

当执行模块池程序时:

首先触发LOAD-OF-PROGRAM事件,由ABAP处理器(ABAP Processor)完成。此事件结束后,ABAP处理器将控制交给屏幕处理器(Screen Processor)。

屏幕处理器初始化由T-code指定的初始屏幕(The initial screen)先触发PBO事件,屏幕处理器将控制交还给ABAP处理器来执行相应的PBO模块。在处理PBO模块时,主要是对定义在其中的ABAP程序字段(ABAP Fields)进行操作,处理完的ABAP程序字段的值会传送给相应的屏幕字段(Screen fields),然后输出屏幕。PBO事件结束。


屏幕输出后,由屏幕处理器进行控制,等待着用户在屏幕上进行输入,输入结束后(一般以按下Enter键作为标志),屏幕处理器触PAI事件并将用户输入到屏幕字段的值传给相应的ABAP程序字段。ABAP处理器接管控制,执行相应的PAI模块。

报表程序

报表程序类型为1也是SAP系统中最为常见和重要的程序类型。它有两个特点:1)报表程序的事件是按照系统预定义好的顺序来触发并执行的,程序员不能更改,只能编写每个特定事件块中的操作。2)通常报表程序都包括选择屏幕。此外,在此提一点,报表程序可以通过Job在后台执行。详细的执行过程如下:

同模块池程序一样,首先触发LOAD-OF-PROGRAM事件 触发INITIALIZATION事件

触发START-OF-SELECTION事件。这是选择屏幕中的最主要的事件,有点像Java程序中的public static void main()。

如果存在逻辑数据库,则调用GET nodeGET node LATE事件。 最后触发END-OF-SELECTION事件


本文来源:https://www.wddqw.com/doc/19f6153701020740be1e650e52ea551811a6c95b.html