2020-09-01 02:40发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
任何人都可以帮我给我子程序和功能模块之间的区别
嗨shwetha,
您可以使用PERFORM命令从任何程序中调用ABAP子例程(窗体),但要遵守 正常的ABAP运行时授权检查。 您可以使用对子例程的此类调用来执行计算,从数据库中获取显示或打印时所需的数据,格式化数据等。
PERFORM命令和所有控制命令一样,是在格式化文档以进行显示或打印时执行的。 调用的子例程与文档之间的通信是通过符号来实现的,这些符号的值在子例程中设置。
表单窗口中的语法:
/:PERFORM
/:使用&INVAR1&
/:使用&INVAR2&
...
/:更改&OUTVAR1&
/:更改&OUTVAR2&
.. 。
/:ENDPERFORM
INVAR1和INVAR2是变量符号,可以是四种SAPscript符号类型中的任何一种。
OUTVAR1和OUTVAR2是本地文本符号,因此必须是字符串。
必须通过以下命令在ABAP报告程序中定义通过上述命令行调用的ABAP子例程:
FORM
OUT_TAB结构ITCSY。
ENDFORM。
功能模块是在功能组中定义的过程(特殊ABAP) 类型为F的程序),并且可以从任何ABAP程序中调用。 功能组充当逻辑上属于在一起的功能模块的容器。 您可以使用功能构建器在ABAP工作台中创建功能组和功能模块。
功能模块允许您封装和重用R/3系统中的全局功能。 它们存储在中央库中。 R/3系统包含许多预定义的功能模块,您可以从任何ABAP程序中调用它们。 功能模块在数据库更新以及R/3系统之间或R/3系统与非SAP系统之间的远程通信中也起着重要作用。
与子例程不同,您不会在程序的源代码中定义功能模块。 而是使用功能构建器。 实际的ABAP接口定义对程序员而言仍然是隐藏的。 您可以将功能模块的输入参数定义为可选。 您也可以为其分配默认值。 功能模块还支持异常处理。 这使您可以在功能模块运行时捕获某些错误。 您可以使用功能构建器测试功能模块,而不必将其包含在程序中。
希望这对您有所帮助,奖励积分。
您好Shwetha,
功能模块和子例程之间的主要区别如下:
1)功能模块具有用于定义参数的特殊屏幕-参数不是通过ABAP/4语句定义的。
2)表的工作区不在功能模块和调用程序之间共享。
3)调用功能模块所用的语法不同于调用子例程。
4)离开功能模块是通过 raise 语句而不是检查,退出或停止来完成的。
此致
Vijay
嗨
子例程在特定程序内使用,特别是为了实现模块化,而功能模块可以在各个程序中使用,并且由于它们按功能组分组而具有全局可见性。
谢谢
Vasudha
功能模块:
1。 它是预先编译的,当我们在那时创建功能模块时,它将自行编译。
2。 通过事务SE37可以创建功能模块。
3。 功能模块可以通过按键调用" CALL FUNCTION"
SUBRUTINE:
1. 尚未预先编译,当此时执行的程序本身的子例程将 编译。
2。子例程可以在程序中创建。
3。 Subrountine可以通过关键字" FORM"进行调用
如果获得正常奖励
嗨,
子例程
1>子例程只能在该程序中使用。
2>子例程不能返回任何值。
3>在子例程中,异常需要显式处理。
功能模块
1>功能模块集中存储在sap库中,因此可以在任何程序中全局使用。
2>功能模块返回值。
3>存在自动错误处理。
Manjunath M
最多设置5个标签!
嗨shwetha,
您可以使用PERFORM命令从任何程序中调用ABAP子例程(窗体),但要遵守 正常的ABAP运行时授权检查。 您可以使用对子例程的此类调用来执行计算,从数据库中获取显示或打印时所需的数据,格式化数据等。
PERFORM命令和所有控制命令一样,是在格式化文档以进行显示或打印时执行的。 调用的子例程与文档之间的通信是通过符号来实现的,这些符号的值在子例程中设置。
表单窗口中的语法:
/:PERFORM
您好Shwetha,
功能模块和子例程之间的主要区别如下:
1)功能模块具有用于定义参数的特殊屏幕-参数不是通过ABAP/4语句定义的。
2)表的工作区不在功能模块和调用程序之间共享。
3)调用功能模块所用的语法不同于调用子例程。
4)离开功能模块是通过 raise 语句而不是检查,退出或停止来完成的。
此致
Vijay
嗨
子例程在特定程序内使用,特别是为了实现模块化,而功能模块可以在各个程序中使用,并且由于它们按功能组分组而具有全局可见性。
谢谢
Vasudha
功能模块:
1。 它是预先编译的,当我们在那时创建功能模块时,它将自行编译。
2。 通过事务SE37可以创建功能模块。
3。 功能模块可以通过按键调用" CALL FUNCTION"
SUBRUTINE:
1. 尚未预先编译,当此时执行的程序本身的子例程将 编译。
2。子例程可以在程序中创建。
3。 Subrountine可以通过关键字" FORM"进行调用
如果获得正常奖励
嗨,
子例程
1>子例程只能在该程序中使用。
2>子例程不能返回任何值。
3>在子例程中,异常需要显式处理。
功能模块
1>功能模块集中存储在sap库中,因此可以在任何程序中全局使用。
2>功能模块返回值。
3>存在自动错误处理。
此致
Manjunath M
一周热门 更多>