首页 > 其他分享 >ABAP 方法调用的参数传递里,通过引用传递的方式,能修改原始参数值吗?

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

时间:2023-02-18 22:33:06浏览次数:48  
标签:传递 调用 参数传递 ABAP 参数 引用 Pass 参数值

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

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

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

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

答案是看具体情况而定。

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

总结

本文介绍的关键点:

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

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

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

标签:传递,调用,参数传递,ABAP,参数,引用,Pass,参数值
From: https://www.cnblogs.com/sap-jerry/p/17133854.html

相关文章

  • SAP ABAP 方法调用里传值(Pass Value)和传引用(Pass Reference)的区别试读版
    笔者这篇教程ABAPfunctionmodule的使用,有朋友在评论区留言:想问问对于functionmodule里面的导入和导出参数里面,有传递值一项,让你勾选,想请教下这个是何种情况下要勾选......
  • ABAP 数据库表 Size Category 字段的准确含义
    有朋友在我这篇教程文章里留言:14.如何创建最简单的ABAP数据库表,以及编码从数据库表中读取数据(上)这位朋友的问题是想咨询ABAP数据库表TechnicalSettings里这......
  • 关于C#方法中引用类型参数传递
    本文叙述的问题的根源在于对C#基础知识掌握不牢固,从而在遇到难以理解的问题时浪费了大量时间;在此也警示自己,该啃啃基础书籍了!话不多说,先上代码:先看问题services.AddEas......
  • ABAP开发:获取当前时间前n个小时做过修改的数据
    1.问题描述OA设置每隔1小时从SAP同步采购订单,由于没做筛选每次同步SAP全部数据,响应报文太大导致OA系统卡顿。2.解决办法采购订单抬头(ekko)表,有个字段叫"LASTCHANGEDAT......
  • ABAP read_text 使用 快速开始
      PERFORM frm_read_text USING 'B01' lv_name 'EBANH' CHANGING ls_ZMMS001d-txz01.FORM frm_read_text USING fid fname fobject CHANGING c_text. ......
  • 关于ABAP的变量声明规范
    数据定义(datadefinitions):type类型(variabletype): TY_全局变量(globalvariable):GV_局部变量(localvariable):LV_全局工作区(globa......
  • 54.函数参数传递的三种方式
    #define_CRT_SECURE_NO_WARNINGS#include<iostream>usingnamespacestd;//值传递voidswap(inta,intb){ inttmp=a; a=b; b=tmp;}//指针传递void......
  • 结构体参数传递的方法
    结构体参数在容器及其适配器传递的方法在刷二叉树前序迭代遍历的时候,我要用栈存入这样的一个结构体(二叉树的定义):structTreeNode{intval;TreeNode*left......
  • Vue项目中使用中央事件总成进行参数传递
    Vue项目中使用中央事件总成进行参数传递 作用场景:当不使用VueX的情况下,且组件之间不存在父子关系,就可以使用到中央事件总成进行参数传递 步骤一:先是需要在工......
  • EXCEL中日期对应的数值如何转换为ABAP中的日期
    在开发批导程序时会从Excel中获取数据,但有些获取Excel内容的方法获取到的日期是其对应的数字原来Excel在本质上是将日期和时间的存储为一个数字的.默认情况下,Excel把1900......