文章目录

  • ABAP subroutine 的参数传递
  • 注意-关于 subroutine 名称的大小写问题
  • 2023年2月17日更新

Subroutine 是面向对象的 ABAP 编程模型诞生之前的一种 ABAP程序模块化编程方式,广泛应用于 SAP ECC 等传统产品中。

举个例子,看下图这个 ABAP 报表。在主程序中,执行4个包含业务逻辑的代码块(我们用给ABAP 变量赋值,并打印变量值,来模拟业务逻辑的执行)

因为模拟逻辑比较简单,所以上图的报表,大家看起来可能还是觉得不是很复杂。然而,在实际场景中,如果把一个业务场景里所有的业务逻辑,都书写在主程序里,会带来以下弊端:

  1. 为了确保代码的可读性和后续可维护性,需要为每个业务逻辑代码块,手动书写一些注释,例如上图第8,12,16,20行代码。

  2. 上图代码第3行~第6行定义的变量,从业务逻辑上说,只属于对应的业务逻辑代码

ABAP subroutine 的定义和使用相关推荐

  1. 获得ABAP report里定义的所有变量及type - GET_GLOBAL_SYMBOLS

    Created by Jerry Wang on Dec 22, 2014 使用如下FM,传入report name: 结果的前半部分都是framework 自动定义的变量,且对application ...

  2. 用 ABAP 读取本地文本文件内容试读版

    零基础 ABAP 学习教程系列文章的目录 ABAP 标准培训教程 BC400 学习笔记之一:ABAP 服务器的架构和一个典型的 ABAP 程序结构介绍 ABAP 标准培训教程 BC400 学习笔记之二 ...

  3. 77 行代码实现 ABAP ALV 中的双击事件处理试读版

    零基础 ABAP 学习教程系列文章的目录 ABAP 标准培训教程 BC400 学习笔记之一:ABAP 服务器的架构和一个典型的 ABAP 程序结构介绍 ABAP 标准培训教程 BC400 学习笔记之二 ...

  4. 给 ABAP ALV 报表的数据行增添颜色效果试读版

    零基础 ABAP 学习教程系列文章的目录 ABAP 标准培训教程 BC400 学习笔记之一:ABAP 服务器的架构和一个典型的 ABAP 程序结构介绍 ABAP 标准培训教程 BC400 学习笔记之二 ...

  5. 如何创建最简单的 ABAP 数据库表,以及编码从数据库表中读取数据 (上) 试读版

    ABAP 标准培训教程 BC400 学习笔记之一:ABAP 服务器的架构和一个典型的 ABAP 程序结构介绍 ABAP 标准培训教程 BC400 学习笔记之二:Cross-client 和 Clien ...

  6. 零基础 ABAP 学习教程系列文章的目录

    零基础 ABAP 学习教程系列文章的目录 ABAP 标准培训教程 BC400 学习笔记之一:ABAP 服务器的架构和一个典型的 ABAP 程序结构介绍 ABAP 标准培训教程 BC400 学习笔记之二 ...

  7. 使用 ABAP 代码制作手机能够扫描的二维码(QRCode)试读版

    本专栏计划的文章数在 150 篇左右,到 2022年9月12日为止,目前已经更新了 51 篇,专栏完成度为 34% 零基础 ABAP 学习教程系列文章的目录 1. ABAP 标准培训教程 BC400 ...

  8. 关于 SAP ABAP 报表的多语言显示问题试读版

    本专栏计划的文章数在 150 篇左右,到 2022年11月9日为止,目前已经更新了 63 篇,专栏完成度为 42% 笔者这套零基础快速学习 ABAP从 2021年4月10日写下第一篇文章以来,感谢广大 ...

  9. 动手开发一个有用的 ABAP ALV 工具 - 查看指定用户的 ABAP 传输请求试读版

    本专栏计划的文章数在 150 篇左右,到 2022年10月6日为止,目前已经更新了 56 篇,专栏完成度为 37.3% 零基础 ABAP 学习教程系列文章的目录 1. ABAP 标准培训教程 BC40 ...

最新文章

  1. 一份520页的机器学习笔记!附下载链接
  2. 仿脉脉PHP源码,php - 如何实现类似脉脉网的二维人际关系
  3. 训练好的神经网络 如何预测_显存不够,如何训练大型神经网络?
  4. 你用哪种工具进行iOS app自动化功能测试?
  5. 队列Queue:任务间的消息读写,安排起来~
  6. java subset_Java TreeSet subSet()方法
  7. 两大微服务框架dubbo和spring cloud对比
  8. python把某列改为日期格式_如何更改整列的日期格式?
  9. 想要实现自动驾驶?高精度地图不可或缺
  10. WebSocket使用教程 - 带完整实例--网址:https://my.oschina.net/u/1266171/blog/357488
  11. 【CSS3】纯CSS代码实现模拟时钟,+js对时功能。
  12. 李克秋 加盟天津大学 计算机学院,天津大学
  13. Unity—火焰特效制作
  14. 点击链接跳转到微信公众号关注页、微信关注链接
  15. 【Python】如何实现列表的升序排列
  16. NeuroImage:对情绪表现的快速接近—回避反应反映了基于价值的决策:来自脑电图研究的神经证据
  17. [机器学习] 树模型(xgboost,lightgbm)特征重要性原理总结
  18. 用Python + Wxpy 为女友搭建简单微信机器人
  19. 12864图片显示操作
  20. java 调用oracle视图,Oracle视图的使用

热门文章

  1. 电阻/电抗/阻抗/电导/电纳/导纳
  2. java分布式事务——最终一致性,最大努力通知总结!
  3. Django REST 框架详解 07 | 三大认证与权限六表
  4. 手机展示mysql实例_mysql 视图示例
  5. Matlab预测人口
  6. 盘点智能养猪场常用设备,养殖智能监控系统作用大
  7. 用鼠标按下事件和鼠标松开事件实现长按事件
  8. 【离散数学】数理逻辑 第二章 谓词逻辑(1) 谓词、量词(全称和存在量词、全总个体域和特性谓词)
  9. 「北京seo」seo是什么?工作细则是什么?
  10. jQuery获取指定ul下的li