第十一章1调用外部程序组件概览在ABAP/4中,有多种使事务模块化的选项可供选择。这些选项包括所有可以调用程序外部代码组件的方法。这些外部组件可以是功能模块、其它事务、对话模块或报表。内容嵌入程序调用 外部程序和滚动区 外部程序和LUW处理 调用功能模块 访问功能库 进行调用 使用功能模块接口 处理例外情况 调用其它事务 转到事务 调用事务 调用与调用程序共享SAPLUW的事务 调用对话模块 运行时执行对话模块 用事务作为对话模块 提交报表 向报表传送数据 保存或打印报表 在程序间传送数据 用SPA/GPA参数传送数据 详细信息,参见:嵌入程序调用(页1)调用功能模块(页2)调用其它事务(页4)调用对话模块(页4)提交报表(页5)在程序间传送数据(页7)1嵌入程序调用外部程序组件由系统进行维护,对所有程序都可用。可在事务中按任意组合调用这些组件。外部程序和滚动区滚动区包含程序的运行时间上下文。除运行时间堆栈和其它结构外,所有局部变量和程序可以识别的任何数据都存储在这里。系统是如何处理外部程序组件的滚动区的呢?
事务在各自的滚动区中运行
报表在各自的滚动区中运行
对话模块在各自的滚动区中运行
功能模块在其调用程序的滚动区中运行调用运行自己的滚动区的外部程序时,可以最多嵌入9层调用。所调用的功能模块不单独增加一层。外部程序和LUW处理运行时,事务必须以“全都或全都不”方式对数据库进行更新。或者全部执行,或者全部丢弃。“LUW”(逻辑工作单元)是某一时间段,在此期间所需的任何更新都属于“全都或全都不”单元。“SAPLUW”是指ABAP/4事务进行单式组更新的时间段。(SAP-LUW,也称为更新事务(页Error!Notavalidlink.),与数据库LUW不同)。在调用外部程序时,了解相关的被调程序或调用程序如何进行更新非常重要。外部程序与调用程序在同一SAPLUW中运行,还是在单独的SAPLUW运行?
事务用单独的SAPLUW运行
报表用单独的SAPLUW运行
对话模块与调用程序在同一SAPLUW中运行
功能模块与调用程序在同一SAPLUW中运行上述规则的唯一例外是用INUPDATETASK(只是V2功能)或INBACKGROUNDTASK(ALE应用程序)调用的功能模块。它们总是在自己的(单独的)更新事务中运行。MITWORK,则外部程序与其调用程序共享(或不共享)SAPLUW这一事实会产生特殊效果。详细信息,参见编程数据库更新(页Error!Notavalidlink.)。2调用功能模块功能模块是通用库例程,在整个系统内都能使用。有多种用途,如操作串、进行特殊计算、调用远程系统上的程序或发行标准的屏幕序列。每个功能模块都属于某个“功能组”。功能组是逻辑相关的模块集合,相互共享全局数据。组内的所有模块都包括在同一主程序中。当ABAP/4程序包含CALLFUNCTION语句时,系统会在运行时与程序代码一起将整个功能组装载进去。访问功能库系统在功能库中管理功能模块。从中可查阅现有功能、其调用接口和文档,以及创建新功能等。要访问功能库,请按工作台中的“功能库”。在ABAP/4编辑器中,可以双击代码中的功能模块名,或使用“编辑->插入语句”功能。“插入语句”会查找功能模块接口并在程序中插入功能调用模板。所插入的调用包含预先格式化的参数。进行调
第十一章调用外部程序组件 来自淘豆网www.taodocs.com转载请标明出处.