子程序和功能模块之间的区别

2020-09-01 02:40发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)任何人都可以帮我给我子程序和功能...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


任何人都可以帮我给我子程序和功能模块之间的区别

11条回答
落灬小鱼
2020-09-01 03:20

嗨shwetha,

您可以使用PERFORM命令从任何程序中调用ABAP子例程(窗体),但要遵守 正常的ABAP运行时授权检查。 您可以使用对子例程的此类调用来执行计算,从数据库中获取显示或打印时所需的数据,格式化数据等。

PERFORM命令和所有控制命令一样,是在格式化文档以进行显示或打印时执行的。 调用的子例程与文档之间的通信是通过符号来实现的,这些符号的值在子例程中设置。

表单窗口中的语法:

/:PERFORM

程序中的

/:使用&INVAR1&

/:使用&INVAR2&

...

/:更改&OUTVAR1&

/:更改&OUTVAR2&

.. 。

/:ENDPERFORM

INVAR1和INVAR2是变量符号,可以是四种SAPscript符号类型中的任何一种。

OUTVAR1和OUTVAR2是本地文本符号,因此必须是字符串。

必须通过以下命令在ABAP报告程序中定义通过上述命令行调用的ABAP子例程:

FORM TABLES IN_TAB STRUCTURE ITCSY

OUT_TAB结构ITCSY。

...

ENDFORM。

功能模块是在功能组中定义的过程(特殊ABAP) 类型为F的程序),并且可以从任何ABAP程序中调用。 功能组充当逻辑上属于在一起的功能模块的容器。 您可以使用功能构建器在ABAP工作台中创建功能组和功能模块。

功能模块允许您封装和重用R/3系统中的全局功能。 它们存储在中央库中。 R/3系统包含许多预定义的功能模块,您可以从任何ABAP程序中调用它们。 功能模块在数据库更新以及R/3系统之间或R/3系统与非SAP系统之间的远程通信中也起着重要作用。

子例程不同,您不会在程序的源代码中定义功能模块。 而是使用功能构建器。 实际的ABAP接口定义对程序员而言仍然是隐藏的。 您可以将功能模块的输入参数定义为可选。 您也可以为其分配默认值。 功能模块还支持异常处理。 这使您可以在功能模块运行时捕获某些错误。 您可以使用功能构建器测试功能模块,而不必将其包含在程序中。

希望这对您有所帮助,奖励积分。

一周热门 更多>