SAP MM 模块的入门者,想学习 ABAP 编程语言应该如何入手?
本人自 2007年计算机专业研究生毕业加入 SAP 成都研究院,在这之前也从未听说过 ABAP 这门编程语言,我算是 ABAP 零基础开始学习。根据我的过往经验,可以先简单了解一下 ABAP 这门编程语言诞生的时代背景,它是为了解决一个什么特定领域的问题而设计的?ABAP 编程语言的现状和将来的发展方向?了解了这些问题,学习 ABAP 时会更有针对性。对于这些问题,笔者另一篇知乎文章已经做了详细的解答:
ABAP 真的会过时吗?聊聊 ABAP 的过去,现在和未来
https://zhuanlan.zhihu.com/p/400094018
然后是 ABAP 具体的学习方法。因为这是一门编程语言的学习,所以除了解决学习资料的问题之外,最重要的就是搞定 ABAP 编程环境。因为就像在岸上学习理论知识永远不能让你真正学会游泳一样,唯有在实际的 ABAP 系统中不断动手和实践,才能掌握这门编程语言。
其实笔者经常收到知乎朋友类似的咨询:
想比较全面地学习 SAP XXX,能指导下从哪儿开始学习吗?XXX 可以替换成 ABAP 或者任意一个 SAP 模块,因此笔者写了另一篇知乎文章,分享自己的学习经验:
https://zhuanlan.zhihu.com/p/563383972
我当时在文章里给出的四点泛泛的经验就是:
设法找到一个能用的系统或环境 最好能够在实际工作中学习 充分利用搜索引擎来查找 SAP XXX 的学习资料 学习时注意调整自己的心态,不要急于求成
回到题主的问题,因为题主提到自己在从事 MM 模块的工作,这意味着 ABAP 系统的问题已经解决了。如果时间允许的话,可以找来 SAP ABAP 标准培训教材,BC400 这本书按部就班进行学习,并完成书中每一章节课后的联系。
笔者根据自己在 SAP 研究院工作15年积累的 ABAP 开发经验,也撰写了一套适合 ABAP 初学者的入门学习教程,目录如下,也可以跟着这套教材来学习 ABAP:
https://jerry.blog.csdn.net/article/details/116904063
当 ABAP 有一定的基础后,我建议题主可以从自己从事 MM 模块中最熟悉的功能出发,通过研究 SAP 标准产品是如何实现这些功能的,从标准代码实现中学习,来加深自己对 ABAP 的理解。
比如物料主数据的 ID 和描述信息在 MM03 这个事物码里显示这个最基本的需求,如下图 MM03 事物码所示:
我们可以首先利用搜索引擎或者我上面提到的 ABAP 学习教材里介绍的使用 F1 功能键的技巧,找到 ID 和描述信息这两个字段是存储在 ABAP 系统哪张数据库表的,然后根据搜索引擎或者我编写的学习教材里介绍的 SAT 事物码和单步调试的技巧,找到 SAP MM 事物码读取物料主数据的 Function Module,然后在这些 Function Module 里设置断点,通过单步调试的方法,一步步深入学习 MM 模块标准的 ABAP 代码实现。
祝题主 ABAP 学习愉快。
相关文章
- GitHub 桌面版 v3.0 新特性「GitHub 热点速览」
- 高手过招不用鼠标,一款超好用的跨平台命令行界面库
- 感恩陪伴 HelloGitHub 定制的红包封面
- 在 GitHub 复活 80 年代的游戏代码,它们出自第一本售出百万册的计算机书籍
- Tomcat 应用中并行流带来的类加载问题
- 函数式编程杂谈
- Kafka 原理和实战
- 基于 Lerna 管理 packages 的 Monorepo 项目最佳实践
- Spring Session工作原理
- 一篇文章教你如何捕获前端错误
- Elasticsearch搜索调优权威指南 (2/3)
- Elasticsearch搜索调优权威指南 (1/3)
- 【大数据】SparkSql 连接查询中的谓词下推处理 (二)
- 【大数据】SparkSql 连接查询中的谓词下推处理 (一)
- 搜索和其他机器学习问题有什么不同?
- Searching with Deep Learning 深度学习的搜索应用
- 翻译 | The Principles of OOD 面向对象设计原则
- 400+节点的 Elasticsearch 集群运维
- 深入理解 MySQL ——锁、事务与并发控制
- 源码面前没有秘密,推荐 9 个带你阅读源码的开源项目