关于缺少编程基础的朋友想转行|关于缺少编程基础的朋友想转行 ABAP 开发岗提出的一些咨询问题和解答

最近接到一位朋友的咨询,关于非编程专业背景想转行 ABAP 开发岗的可行性和具体的努力方向,我觉得问题有一定的代表性,因为以前也接收到类似的咨询。所以单独写一篇短文分享。本文仅代表作者个人观点,和 SAP 官方无关。
关于缺少编程基础的朋友想转行|关于缺少编程基础的朋友想转行 ABAP 开发岗提出的一些咨询问题和解答
文章图片

1. ABAP 开发岗的职业发展大致是什么样的?是不是真的“越老越吃香”?目前的市场需求如何? 我们以本地部署(On-Premises)的基于 ABAP 的 SAP 产品为例,比如 SAP CRM,SAP ERP,SAP S/4HANA,在这些产品里,ABAP 既是开发语言,也是 SAP 应用的运行环境和平台。同时,ABAP 开发出来的应用都是面向企业级用户的应用,因此 ABAP 开发人员,不仅仅需要了解和掌握 ABAP 这门编程语言本身的开发技术,也要对自己工作领域的业务知识(即业内通常说的模块知识)有所了解。
个人认为,如果走纯粹的 ABAP 开发路线,即只满足于交付别人分配的开发任务,那么发展的天花板相对较低。个人认为 SAP 顾问的真正价值还是在于帮助客户梳理和整合其企业业务流程,使其能够完美运行在 SAP 系统上。而 ABAP 开发人员如果在工作过程中,能够充分利用工作优势不断充实自己相关模块的业务知识,这样发展控件就会更加广阔。实际上不少成功的 SAP 从业者,都是走 技术+业务,或者 技术+管理的综合发展路线。业务和管理知识,相对于纯粹的开发技术本身,才是不随时间的推移而贬值,值得长期去投资和耕耘掌握的,当然技术也是进入 SAP 行业的一块敲门砖。
至于 ABAP 开发顾问的市场需求,因为 Jerry 是 SAP 研究院的开发人员,对这一块也不清楚。欢迎其他业内人士评论和分享。
2. 如果零基础的话,大概需要学习多久才能入行呢? ABAP 开发环境的搭建,相对来说不像其他编程语言比如 Java,JavaScript 这些容易搭建:需要在自己本地装一台 ABAP 服务器,或者通过其他渠道寻找一些安装好的专门用于学习的 ABAP 服务器。ABAP 开发技术本身同其他流行的编程语言相比不算太难,只是相对来说中文资料要少一些,使用者的绝对数目也要小一些。零基础的话,学习 ABAP 相对来说我觉得要比学习 Java 和 JavaScript 要困难一些,因为 Java 和 JavaScript 的学习教程,无论是文字的还是视频的,网络上已经非常多了,而且这两门编程语言,按照教程可以短时间内快速写出一些可以运行和使用的应用出来,学习者很容易得到积极的正反馈。而 ABAP 这方面的学习资料相对较少。
因此零基础学习 ABAP 的话,最好有一位有经验的人引导,或者是在工作中,边学习,边入门。纯粹靠自学的话,可能花费的时间要长一些。
3. 具体的学习线路是什么? SAP 有标准的 ABAP 培训课程(付费),课程编号和描述信息如下:

  • BC400: ABAP Workbench Foundation
  • BC401: ABAP Objects
  • BC402: Advanced ABAP
以及 SAP 官方的 ABAP 帮助文档:
https://help.sap.com/docs/ABAP
关于缺少编程基础的朋友想转行|关于缺少编程基础的朋友想转行 ABAP 开发岗提出的一些咨询问题和解答
文章图片

关于缺少编程基础的朋友想转行|关于缺少编程基础的朋友想转行 ABAP 开发岗提出的一些咨询问题和解答
文章图片

我其实自己也在编写一套 ABAP 自学教程:目前已经完成了 38 篇文章的编写:
【关于缺少编程基础的朋友想转行|关于缺少编程基础的朋友想转行 ABAP 开发岗提出的一些咨询问题和解答】关于缺少编程基础的朋友想转行|关于缺少编程基础的朋友想转行 ABAP 开发岗提出的一些咨询问题和解答
文章图片

零基础 ABAP 学习教程系列文章的目录
  • ABAP 标准培训教程 BC400 学习笔记之一:ABAP 服务器的架构和一个典型的 ABAP 程序结构介绍
  • ABAP 标准培训教程 BC400 学习笔记之二:Cross-client 和 Client-specific 的区别
  • ABAP 标准培训教程 BC400 学习笔记之三:ABAP 编程语言的特性和基本构成要素
  • ABAP 标准培训教程 BC400 学习笔记之四:ABAP 编程语言的数据类型
  • ABAP 标准培训教程 BC400 学习笔记之五:ABAP 编程语言的变量,常量和字面量,以及文本符号
ABAP 基础知识
  • 通过实际的例子,介绍 SAP ABAP 里的 Repository Information System 的使用技巧
  • ABAP function module 的使用
  • ABAP subroutine 的定义和使用
  • ABAP 中的变量和常量
  • ABAP 编程语言中的系统字段(System Fields)
  • 什么是 ABAP Field Symbol
  • ABAP 引用类型介绍
  • 最浅显易懂的 SAPGUI 里 ABAP 调试器的使用方法介绍
  • 如何创建最简单的 ABAP 数据库表,以及编码从数据库表中读取数据 (上)
  • 如何创建最简单的 ABAP 数据库表,以及编码从数据库表中读取数据 (下)
  • 用 ABAP 读取本地文本文件内容
  • 用 ABAP 新建本地 Excel 文件并写入数据
  • 26 行 ABAP 代码使用 HTTP_GET 函数下载百度网站的首页数据
  • ABAP 如何解析 JSON 数据
  • 如何从本地文件里拷贝某个 ABAP 类到 SAP 系统
  • 面向对象的 ABAP 编程初探 - 什么是类,实例,和 Public 方法
  • SAP ABAP 报表的用户输入功能
  • 使用 ABAP 事物码 SM59 创建 Destination 来读取外网的数据
  • 通过一个具体的例子,讲解 SAP BDC 技术的使用步骤
  • 从解读 BDC 自动生成的代码谈起,讲解 SAPGUI 的程序组成部分
  • 如何查询 SAPGUI 屏幕上某个字段对应的数据库表存储
  • 如何使用事物码 SAT 查找某个 SAPGUI 屏幕字段对应的后台存储数据库表的名称
  • 一步步创建包含自定义 Screen 的 ABAP 程序的详细步骤
  • 授人以渔-在 SAP MM 物料显示界面上看到一个字段,如何查找哪张数据库表的哪个字段进行的存储
  • SAP ABAP 系统进行数据库表查询的几种常用方法
  • 如何让 ABAP 服务器能够响应通过浏览器发起的自定义 HTTP 请求
  • 更多文章正在写作中
ALV 开发专题
  • 27 行代码开发一个最简单的 SAP ALV 报表
  • 48 行代码给 ABAP ALV 报表的数据行增添颜色效果
  • 77 行代码实现ABAP ALV 中的双击事件处理

    推荐阅读