【问题标题】:How the EXPORTING method parameters passed by value?EXPORTING 方法的参数如何通过值传递?
【发布时间】:2015-07-06 21:24:27
【问题描述】:

我想知道 ABAP 方法调用的按值调用 EXPORTING 参数的定义。

SAP Help Portal 声明 EXPORTING 参数可以定义为按值调用(和按引用调用)。它没有给出如何处理此参数类型的精确定义。相反,它指出

有关相关 ABAP 语句的详细信息,请参阅 ABAP 编辑器中的相应关键字文档。

现在,SAP 编辑器的 ABAP 关键字文档没有提及 EXPORTING 的传递值。 (它确实提到了 IMPORTING 和 CHANGING 的传递值)。

我可以猜到pass-by-value EXPORTING的含义。但我想阅读定义。从 FORM/PERFORM 中,我知道细节可能很微妙。你能指出我对这个案例的官方描述吗?

【问题讨论】:

  • 嗯,ABAP 引用声明“调用时,会传递对实际参数的引用,[...] 取决于传递的类型。也许这可以算作一个答案。

标签: abap method-call call-by-value


【解决方案1】:

我不确定即使在使用 FORMs 时细节会以何种方式变得微妙 - 但无论如何,它在 the documentation:

参数传递有两种方式:通过 引用并按值传递。在函数中选择按值传递 生成器通过选择按值传递,并且在上述语法中有所不同 来自VALUE( )规范的引用传递。

  • 在引用传递中,形参直接指向实参,这样对形参的改动就有了
    对实际参数立即产生影响。
  • 在传值中,当函数模块被调用时,形参被创建为实参的副本(在IMPORTINGCHANGING 参数),或初始(在EXPORTING 参数中) 堆栈。在CHANGINGEXPORTING 参数中,形式 从返回时将参数复制到实际参数 功能模块。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-24
    • 2016-04-26
    • 1970-01-01
    相关资源
    最近更新 更多