ABAP 方法调用的参数传递里,通过引用传递的方式,能修改原始参数值吗?

简介: ABAP 方法调用的参数传递里,通过引用传递的方式,能修改原始参数值吗?

本教程前一篇文章,我们已经介绍了 ABAP 方法调用里,参数传递 Pass Value 这个 checkbox 勾上与否的行为差异。简单复习一下,勾上 Pass Value 说明开发人员期望调用函数时传递参数值采取值拷贝的方式进行;如果不勾上,将输入参数的引用传递到函数内定义的形式参数。

我们指定参数时,系统开发工具的默认行为是不勾上 Pass Value.

  • 87. SAP ABAP 方法调用里传值(Pass Value)和传引用(Pass Reference)的区别

38af95089773cb6bef4a5ffa435d1e9b.png

教程末尾我们提出了一个问题:

比如我调用一个函数计算 3+2 的和,能否在函数体内,当加法计算完毕后,把传递进来的第一个参数,从 3 改成其他值呢?

答案是看具体情况而定。

本文我们就来详细探讨这个问题。


总结


本文介绍的关键点:

(1) ABAP 方法传递默认采用 Pass by Reference 即引用传递。


(2) 对于 ABAP 类的方法调用和 ABAP Function Module 调用,输入参数即使采用引用传递,也无法在方法和函数实现体内对输入参数的值进行修改。


(3) ABAP subroutine 通过 USING 关键字指定的参数,也是通过引用传递传值,但是可以在 subroutine 实现体内被修改。如果想避免这种情况发生,可以采用 VALUE 关键字来修饰该参数。

相关文章
SAP ABAP 方法调用里传值(Pass Value)和传引用(Pass Reference)的区别试读版
SAP ABAP 方法调用里传值(Pass Value)和传引用(Pass Reference)的区别试读版
使用ABAP代码获得tcode RZ11里的参数值
使用ABAP代码获得tcode RZ11里的参数值
125 0
使用ABAP代码获得tcode RZ11里的参数值
|
6月前
|
前端开发 开发工具 Android开发
小技巧分享 - 使用 Visual Studio Code 查看和修改 ABAP 代码试读版
小技巧分享 - 使用 Visual Studio Code 查看和修改 ABAP 代码试读版
小技巧分享 - 使用 Visual Studio Code 查看和修改 ABAP 代码试读版
|
6月前
|
BI
工具分享 - 将一个 ABAP Function Group 内所有 Function Module 按照代码行数从高到低排序并显示
工具分享 - 将一个 ABAP Function Group 内所有 Function Module 按照代码行数从高到低排序并显示
工具分享 - 将一个 ABAP Function Group 内所有 Function Module 按照代码行数从高到低排序并显示
|
6月前
|
开发者 供应链 BI
SAP ABAP CALL SUBSCREEN 代码解析
SAP ABAP CALL SUBSCREEN 代码解析
|
6月前
|
存储 数据处理 开发者
ABAP 如何把 unicode 代码点转换成字符
ABAP 如何把 unicode 代码点转换成字符
|
6月前
|
存储
使用 ABAP 代码打印出 SAP CRM 系统里所有维护了 Sales Area 的 business partner id
使用 ABAP 代码打印出 SAP CRM 系统里所有维护了 Sales Area 的 business partner id
|
6月前
|
SQL 数据库
小技巧:如何让 ABAP OPEN SQL 代码具有自解释性(Self-Explained)
小技巧:如何让 ABAP OPEN SQL 代码具有自解释性(Self-Explained)
|
6月前
|
JSON 应用服务中间件 API
使用 ABAP 代码消费 SAP 系统的 OData 服务
使用 ABAP 代码消费 SAP 系统的 OData 服务
|
6月前
|
开发工具 Web App开发 IDE
如何对 SAPGUI 里的 ABAP 代码语法检查功能进行自定义增强配套代码
如何对 SAPGUI 里的 ABAP 代码语法检查功能进行自定义增强配套代码
如何对 SAPGUI 里的 ABAP 代码语法检查功能进行自定义增强配套代码

热门文章

最新文章