1、参数引用传递(Parameters Passed byReference)
使用USING或CHANGING不带value关键字来声明参数引用传递。代码样例:
FORM subrUSING    p1[{TYPE type}|{LIKE field}] 
                  p2 [{TYPE type}|{LIKE field}]
                  ...
         CHANGING p1 [{TYPE type}|{LIKE field}] 
                  p2 [{TYPE type}|{LIKE field}]
                  ...
在引用传递的方式,参数不在堆中占有内存,传入的是变量的地址,在子程序中对变量的修改实际上是对实际参数的修改。在这种方式using和changing是等价的。

2、输入参数传值传递(Input Parameters That PassValues)
使用USING带value关键字来声明输入参数传值传递。代码样例:
FORM subrUSING   value(p1) [{TYPE type}|{LIKE field}] 
                  value(p2) [{TYPE type}|{LIKE field}]
                  ...
在输入参数传值传递的方式,参数在堆中占有内存,传入的是变量的值,在子程序中对变量的修改不会对实际参数的造成修改。

3、输出参数传值传递(Output Parameters That PassValues)
使用CHANGING带value关键字来声明输入参数传值传递。代码样例:
FORM subrCHANGING   value(p1) [{TYPE type}|{LIKE field}] 
                  value(p2) [{TYPE type}|{LIKE field}]
                  ...
在输出参数传值传递的方式,形式参数在堆中占有内存,传入的是变量的值,在子程序中对变量的修改只有正常结束(Endform,CHECK,EXIT等语句结束)时才会有形式参数拷贝到对实际参数,如果是错误消息退出则不会影响实际参数。

abap的子程序参数 USING 和 CHANGING 使用问题相关推荐

  1. ABAP中 PERFORM USING与CHANGING的用法

    ABAP中FORM参数的传递有以下几种方式. 1.引用传递(CALL BY REFERENCE) 传递参数时将参数的地址(ADDRESS)传至子程序中,也就是子程序中的参数变量与外部程序的参数变量共享 ...

  2. ABAP的子程序参数注意点

    1.参数引用传递(Parameters Passed by Reference) 使用USING或CHANGING不带value关键字来声明参数引用传递.代码样例: FORM subr USING  ...

  3. ABAP中USING与CHANGING的用法

    在ABAP/4中参数的传递可分成  1. Call By Reference:  传参数时将资料的存放地址(address)传至参数中, 也就是子程序中的参数变量与外部实际变量共享地址内的值, 又称为 ...

  4. ABAP using与changing超详解 传值 技巧 使用习惯

    PERFORM 提示:运用PERFORM 子程序,常用的是USING CHANGING, 用来传值,涉及到传值的变化,但还有些两个一起用,这里作出细致的解释 文章目录 PERFORM 前言 一.关于U ...

  5. ABAP 关键字(1)

    1.定义DATA ,TYPES TYPES关键字用于创建自定义数据类型,就像JAVA里面创建类一样,用TYPES创建的数据类型可以被其它变量引用(类似于实例化对象),而本身不能直接引用或者赋值. DA ...

  6. 使用ABAP编程实现对微软Office Word文档的操作

    SAP ABAP里提供了一个标准的类CL_DOCX_DOCUMENT,提供了本地以".docx"结尾的微软Office word文档的读和写操作. 本文介绍了ABAP类CL_DOC ...

  7. ABAP实现粘贴板的操作,复制粘贴

    ABAP可以实现复制粘贴的操作 自己玩儿 项目里暂时用不到 在ABAP中的 CLASS :CL_GUI_FRONTEND_SERVICES中提供了两个方法来控制与剪贴板内容的导入导出, 分别是:CLI ...

  8. ABAP:ALV List报表

    ALV List是SAP中的一种报表方式,一般的ALV报表有一个表头,再加上表内容.对报表的设置有排序,分类汇总和合计等预设置. ALV报表显示方式有2种,一种是Grid方式,一种是List方式,分别 ...

  9. 【ABAP】 屏幕图片显示Demo

    在ABAP屏幕容器中显示图片用到的类是"CL_GUI_PICTURE",下面则以一个简单的小例子说明其用法,个人学习收藏使用,不代表任何意义. [效果图] [样例代码] REPOR ...

最新文章

  1. 怎么控制table的大小java_如何查询Table占用空间的大小
  2. 服务器如何删除所有磁盘信息,关于怎样删除EFI分区,简单省事,很多换下来的硬盘都有这个分区...
  3. tensorflow笔记
  4. [转]memset用法详解
  5. Loadrunner通过ssh连接linux进行hadoop基准测试
  6. 并发编程之多进程3 (生产者与消费者模型) 回调函数
  7. SAP BRF+ ruleset里维护多条rule,每条rule逐一执行
  8. 《那些年啊,那些事——一个程序员的奋斗史》——122
  9. Manjaro oh-my-zsh安装配置
  10. Linux查看磁盘块大小
  11. kafka 消费者API操作入门
  12. 数字货币交易系统_区块链交易所开发,数字货币平台功能与安全
  13. 《暗黑破坏神2》关于d2loader的使用说明
  14. python人狗大战游戏_6.5 人狗大战.py
  15. java对redis的基本操作 - edisonfeng
  16. android 图片闪光动画_闪烁android图片
  17. 用python绘制高光谱图像的光谱曲线图
  18. IEEE 802.15介绍
  19. ath9k驱动内的数据发送过程
  20. 发散性测试用例设计题

热门文章

  1. 代表中国为世界做出探索,杭州城市大脑获IDC亚太区智慧城市大奖
  2. 实际部署遇到的一些问题
  3. 《易学C++(第2版)》——1.10 习题
  4. C++一维数组和指针的关系总结
  5. iOS个人中心渐变动画、微信对话框、标签选择器、自定义导航栏、短信验证输入框等源码...
  6. The application server could not be contacted
  7. Linux深入理解Socket异常
  8. day41——多进程的消息队列、消息队列pipe
  9. 【云上ELK系列】Logstash迁移Elasticsearch数据方法解读
  10. Linux系统安装中文环境,中文帮助,中文输入法的实现