欢迎来到天天文库
浏览记录
ID:42943517
大小:142.00 KB
页数:14页
时间:2019-09-23
《调用外部程序组件》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、第十一章调用外部程序组件概览在ABAP/4中,有多种使事务模块化的选项可供选择。这些选项包括所有可以调用程序外部代码组件的方法。这些外部组件可以是功能模块、其它事务、对话模块或报表。内容嵌入程序调用1外部程序和滚动区1外部程序和LUW处理1调用功能模块2访问功能库2进行调用2使用功能模块接口2处理例外情况3调用其它事务4转到事务4调用事务4调用与调用程序共享SAPLUW的事务4调用对话模块4运行时执行对话模块4用事务作为对话模块4提交扌艮表5向扌艮表传送数据6保存或打印报表7在程序间传送数据7用SPA/GPA参数传送数据7详细信息,参见:嵌入程序调用(页1)调用功能模块(页2
2、)调用其它事务(页4)调用对话模块(页4)提交报表(页5)在程序间传送数据(页7)嵌入程序调用外部程序组件由系统进行维护,对所有程序都可用。可在事务中按任意组合调用这些组件。外部程序和滚动区滚动区包含程序的运行时间上下文。除运行时间堆栈和其它结构外,所有局部变量和程序可以识别的任何数据都存储在这里。系统是如何处理外部程序组件的滚动区的呢?事务在各自的滚动区中运行报表在各自的滚动区中运行对话模块在各自的滚动区中运行功能模块在其调用程序的滚动区中运行调用运行自己的滚动区的外部程序时,可以最多嵌入9层调用。所调用的功能模块不单独增加一层。外部程序和LUW处理运行时,事务必须以“全都
3、或全都不”方式对数据库进行更新。或者全部执行,或者全部丢弃。’LUW”(逻辑工作单元)是某一时间段,在此期间所需的任何更新都属于“全都或全都不”单元。■FSAPAG第十一章:错误!使用“开始”选项卡将Heading1应用于要在此处显示的文字。乙“SAPLUW”是指ABAP/4事务进行单式组更新的时间段。(SAP-LUW,也称为更新事务(页错误!链接无效。),与数据库LUW不同)。在调用外部程序时,了解相关的被调程序或调用程序如何进行更新非常重要。外部程序与调用程序在同一SAPLUW中运行,还是在单独的SAPLUW运行?事务用单独的SAPLUW运行报表用单独的SAPLUW运行对
4、话模块与调用程序在同一SAPLUW中运行功能模块与调用程序在同一SAPLUW中运行(ALE应用程序)上述规则的唯一例外是用INUPDATETASK(只是72功能)或INBACKGROUNDTASK调用的功能模块。它们总是在自己的(单独的)更新事务中运行。如果程序调用更新任务这一事实会产生特殊效功能或使用COMMITWORK,则外部程序果。详细信息,参见编程数据库更新(页与其调用程序共享(或错误!链接无效。)。不共享)SAPLUW调用功能模块功能模块是通用库例程在整个系统内都能使用。有多种用途,如操作串、进行上的程序或发行标准的屏幕序列。每个功能模块都属于某个“功能组”O功能组
5、是逻辑相关的模块集合,相互共享特殊计算、全局数据。块都包括在同一主程序中。当ABAP/4程序包含CALLFUNCTION语句时,系统会在运行调用远程系统组内的所有模时与程序代码一起将整个功能组装载进去。访问功能库系统在功能库中管理功能模块。从中可查阅现有功能、其调用接口和文档,以及创建新功能等。要访问功能库,请按工作台中的“功能库”。在ABAP/4编辑器中,可以双击代码中的功能模块名,或使用“编辑->插入语句”功能。“插入语句”会查找功能模块接口并在程序中插入功能调用模板。所插入的调用包含预先格式化的参数。进行调用用CALLFUNCTION语句调用功能模块。例女口,假定要在用
6、户未保存就退出事务时给出要求进行的提示。有一个功能模块可以完成这一提不任务:CALLFUNCTION卩OPUP_TO_CONFIRM丄OSS_OF_DATA'EXPORTINGTEXTLINE1=*Doyouwanttosave?*TEXTLINE2TITEL='REMINDER1IMPORTINGANSWER=REPLY.POPUP_TO_CONFIRM_LOSS_OF_DATA使用TEXTLINE参数产生一个弹出窗口:从调用返回后,变量REPLY包含用户的回答:是(’J')或否(’N')o本节讲述如何调用和编写功能模块。关于使用功能库工具的信息,参见ABAP/4工作台工具
7、(页Error!Notavalidlink.)。功能模块传送数据。在参是接口中指定的名字的调用中,调用程序使CALLFUNCTION语句中,参数赋值。v实参〉可以是变量或常数。用形参TEXTLINE1、TEXTLINE2和使用功能模块接口程序只能使用在功能模块接口中说明的参数向的形式通常为:V形参>=v实参〉。其中,形在对POPUPTOCONFIRMLOSSOFDATATITEL将文本串’想保存吗?’、????’和’REMINDER'发送给功能。用户的回答放在变量REPLY中。功能模块通常可以包含四种类
此文档下载收益归作者所有