SAP | Processing Blocks 的三种类型
前面我们说过,处理块可以大致分类为事件块、对话框模块或过程。接下来,我们将对处理快的这三种类型进行一个讨论。
event blocks
事件块通过事件关键字在程序中引入。 每个事件都有一个特定的关键字,我们可以在程序中使用相应的事件关键字来使其对该事件做出反应。 当 ABAP 运行环境触发事件时,执行 event 关键字下的代码。
事件块与过程还有一个明显的区别,那就是事件块它并不需要使用任何 END 语句来结束事件块。事件块是程序内部的,它也不能使用任何 ABAP 语句以编程方式调用。
事件块总是由 ABAP 运行时环境中的事件触发。如果我们在 ABAP 程序中为 ABAP 运行环境的一个事件维护了一个合适的事件块,那么事件块中的代码就会被执行; 否则,该事件将被忽略。
简单来说,就算你维护了一个事件块在你的程序中,那也不能保证他肯定会执行,只有在程序运行过程中,触发了这个事件,事件块才会被执行。
dialog modules
对话框模块在 MODULE 和 ENDMODULE 之间的可执行程序中实现。需要注意的一点是,你不能使用 ABAP 对象定义屏幕和模块。你可以在定义屏幕的主程序中维护对话框模块,并使用 MODULE 关键字从屏幕流逻辑调用这些模块。
与事件块一样,对话框模块中的数据声明也被添加到全局数据中。
procedures
过程和前两者是不一样的,过程支持为调用程序导入和导出数据(参数接口)并包含本地数据区的机制。可以通过参数接口,进行数据的交换。这也就意味着,过程可以从同一程序内部调用,也可以从其他 ABAP 程序外部调用。
了解过程至关重要,因为这样做有助于利用许多 SAP 提供的可重用库😎
版权声明: 本文为 InfoQ 作者【暮春零贰】的原创文章。
原文链接:【http://xie.infoq.cn/article/e4fe0a3a4832c1c1fd4ead247】。文章转载请联系作者。
评论