在执行子例程中使用和更改之间的区别

2020-08-22 10:05发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)任何人都可以通过简单的例子来说明...

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

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


任何人都可以通过简单的例子来说明在执行子例程中使用和更改之间的确切区别。.

提前谢谢...

6条回答
小c菟菟
2020-08-22 10:30

报告ZRK_PGM2_SUB_ROUTINES。 数据:AVAR1(100)C型值"外壳"。 类型:STRUCT_VBAP的开头,像VBELN的VBAP-VBELN,像POSNR的VBAP-POSNR,STRUCT_VBAP的结尾。 数据:STRUCT_VBAP的IT_VBAP1类型标准表。 数据:WA_VBAP类型STRUCT_VBAP。 使用AVAR1执行SUBROUTINE1。 "按引用传递USING(与按引用传递CHANGING相同。写:/'实际参数值=',AVAR1。ULINE。使用AVAR1执行SUBROUTINE2。""按引用传递CHINGING(与按引用传递USING相同) 。 写:/'实际参数值=',AVAR1。 ULINE。 执行SUBROUTINE3更改AVAR1。 "按值传递使用。写:/'实际参数值=',AVAR1。ULINE。执行SUBROUTINE4更改AVAR1。"按值传递(我们也可以使用USING)。 写:/'实际参数值=',AVAR1。 执行SUBROUTINE5表IT_VBAP1 []。 "将表参数LOOP AT IT_VBAP1传入WA_VBAP。写:/WA_VBAP-VBELN,WA_VBAP-POSNR。ENDLOOP。* ----------通过引用传递使用---------- *表格 使用FVAR1进行SUBROUTINE1。写:/'通过引用开始使用。'写:/'形式参数值=',FVAR1.FVAR1 ='SHELL123'。写:/'更改值=',FVAR1。写:/'结束 "通过引用传递"。ENDFORM。* ---------------------------------------- --------- * * -----------按引用传递CHANGING ------------ * FORM SUBROUTINE2 CHANGING FVAR1。WRITE:/'开始于 *传递:/'正式参数值=',FVAR1。FVAR1 ='SHELL123'。写入:/'更改值=',FVAR1。写:/'传递参考结束改变'。ENDFORM。* ------------------------------------------------- * * -------------按值传递使用----------------- *使用值(FVAR1)的SUBROUTINE3表格。WRITE:/'开始的 通过值传递使用'。写:/'形式参数值=',FVAR1。FVAR1 ='SHELL123'。写:/'更改值=',FVAR1。写:/'结束 通过价值传递'。 ENDFORM。 * ------------------------------------------------- -* * -------------按值传递更改--------------- *表单SUBROUTINE4更改值(FVAR1)。 WRITE:/"按值开始更改通行证"。 写:/"形式参数值=",FVAR1。 FVAR1 ='SHELL123'。 写:/'Changed Value =',FVAR1。 写:/"按值传递结束"。 ENDFORM。 * ------------------------------------------------- -* * ----------------表格参数------------------- * FORM SUBROUTINE5表格IT_VBAP2。 从VBAP中选择VBELN POSNR到表IT_VBAP2中。 ENDFORM。 * ------------------------------------------------- *

一周热门 更多>