SAP PERFORM与INCLUDE的区别

我做功能的,但也需要经常看一下程序。在SAP中,经常看到有用PERFORM接一个子程序的用法,也有看到INCLUDE接一下子程序的用法。所以我比较好奇,这两种用法有什么区... 我做功能的,但也需要经常看一下程序。在SAP中,经常看到有用PERFORM接一个子程序的用法,也有看到INCLUDE接一下子程序的用法。所以我比较好奇,这两种用法有什么区别。如同一程序中同时出现如下:
PERFORM QUERY_DATA.

PERFORM SET_FIELD_CAT.

PERFORM DISPLAY_DATA.

INCLUDE ZDMS_RP011_F01.
展开
 我来答
TB_Mass
2015-04-28 · 超过15用户采纳过TA的回答
知道答主
回答量:21
采纳率:0%
帮助的人:21.9万
展开全部
perform 也叫sub routine,是独立存在于这个程序本身。除了这个程序别人都看不到。
include后面跟的,是另外一个程序,可以用SE38去看,但是该程序的本身属性是include,不能直接F8执行。
用你的例子来说就是,你SE38打开了一个程序A。程序里面有PERFORM QUERY_DATA.
那么就是程序A能够使用或者说看到这个perform下的所有逻辑。
至于 INCLUDE ZDMS_RP011_F01.他本身不能被直接执行,但是可以被任何的程序去调用。
还是程序A,里面写了INCLUDE ZDMS_RP011_F01,那么你就可以去SE38下面看到ZDMS_RP011_F01这个include程序下的所有逻辑,都被A使用了。
需要注意的是,假设include下也有PERFORM QUERY_DATA.
那么A程序如果调用了这个include,在A程序本身就不能再存在这个同名的perform:PERFORM QUERY_DATA。

举例一个常见的例子,假设一个大型项目开发。我们要兴建3个报表A B C(这些报表有一定的功能交集和数据交集)
那么我们通常会这么做,
首先去建一个include D,把所有的数据定义都放在D里面
那么ABC程序只要在程序中使用include D。就不用再定义公共的数据类型了。
ABC都可以有叫perform show_result. 这个名字的perfrom,但是都是为各自的程序独立服务,相互不会冲突。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式