abap 中:module ,form, method ,function, define 的区别和联系

望各位大神耐心解答啊... 望各位大神耐心解答啊 展开
 我来答
ielxzhang
2013-08-20 · TA获得超过567个赞
知道小有建树答主
回答量:948
采纳率:0%
帮助的人:723万
展开全部
Module: SE37,一般用call function '';

Form:如果是abap code,那么在SE38中,前面会有perform xxx, 然后就是form xxx,这个form xxx里面写的就是具体执行的代码,这个就是把代码放到一个个xxx 里面,看着舒服,而且可以重复利用;
Method:SE24,这个一般人用不到,也就是java里面的方法、类,call method xxx 实现;
Function:类似Module;
Define:是宏,也只能在SE38里面写,宏是写一段简单的代码,用宏实现;

总结,从ABAP角度来看,Call Function Module,Form这个是SAP的东西,Call function module需要用SE37写一个function module,然后在SE38里面调用,而Form就是在SE38里面直接写就OK了;
Define 一个macro,Call 一个method,这两个呢,不是很常用,Define 宏直接SE38写code,method应该是sap从别的地方,引入OO对象的时候产生的东东,需要在SE24里面创建一个class,然后才可以在SE38里面写code !

噢了~
one_in_zero
推荐于2018-05-18 · TA获得超过1020个赞
知道小有建树答主
回答量:383
采纳率:60%
帮助的人:156万
展开全部
module:在屏幕开发中使用。在屏幕开发中,有PBO和PAI两个模块,PBO和PAI中可以写多个module,在程序执行调用屏幕的时候,在显示屏幕之前,PBO下面的所有的module的代码都会执行一次;在用户输入以后,进行任何一个操作,PAI下面所有的module的代码都会执行一次。

form:子程序。将一些程序逻辑进行分类写成子程序,可以使程序的逻辑更加清晰。对于大量的重复使用的代码也可以写到子程序中。form XXX是子程序的实现,要调用子程序,则需要使用perform XXX。

method:方法。是面向对象编程(OO)里面使用的,一般在定义类中使用。类有两种定义方式,一种是SE24定义,另外一种就是在程序中定义本地类。OO编程在ERP中很少用到,但在CRM的组件开发中,全是OO的编程。类中定义的方法就是method,这与java、C#等中的类和方法一样。

function:函数。函数是实现一个功能的逻辑实现。函数有传入参数和传出参数,它是将传出参数进行一系列的复杂运算,得到传出参数的值。传入参数和传出参数都可以是内表,这是SAP比较灵活的地方。函数定义在SE37中,调用函数则是在程序中用语句call function来实现。

define:定义宏。宏是一组直接替换的代码,宏不易调试,错误不容易被发现,因此一般很简单的逻辑才用宏,比如,ALV添加显示的字段信息。

form可以用在module、method和function中,而且一般在module中都是只调用form的,因为module中定义的变量都是全局变量,而form中定义的变量都是局部变量。如果直接在module中定义变量很容易出错。

如果还有疑问,可以联系我,希望对你有帮助。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式