我从未使用过 SAP 解决方案。我对商业有一定的了解,但没有会计背景。如何通过“SAP 方式”同时启发我的示例学习 ABAP?
它不一定是深厚的知识,对于那些在 Python 和 C# 领域但需要了解 SAP 世界如何运作的人来说,这只是一个开始。
(这不是“学习 SAP-ABAP”的副本)
我从未使用过 SAP 解决方案。我对商业有一定的了解,但没有会计背景。如何通过“SAP 方式”同时启发我的示例学习 ABAP?
它不一定是深厚的知识,对于那些在 Python 和 C# 领域但需要了解 SAP 世界如何运作的人来说,这只是一个开始。
(这不是“学习 SAP-ABAP”的副本)
如果您了解其他编程语言,学习 ABAP 并不是特别困难。
我们先来区分ABAP和ABAP OO。ABAP 是旧的过程语言,ABAP OO 是它的类扩展。
ABAP 具有通常的控制结构,例如 if-then-else 或循环。它的语法需要一些时间来适应(我发现在括号前放置或不放置空格的部分特别烦人),但绝对是可行的。有些结构在 C++ 和 C# 中是找不到的,例如函数组中的函数分组,它们有自己的局部变量,所以如果你调用不同函数组中的东西,事情会变得一团糟。但一般来说,如果您了解范围和命名空间,这应该不是问题。
我发现 ABAP OO 与 ABAP 相比非常简单,因为它基本上只添加了我之前从 C++/C# 中知道的类/包。
如何学习它们,我会为刚接触 ABAP 并想要深入了解它的人提出以下建议(请参阅稍后的更多功能方面):
-给自己买一本合适的 ABAP 书,例如来自 SAP Press 的东西 -
不要刚读完——
从网络课程或简单的书开始,按照“24 小时内学习 ABAP”的思路——开始
编码
——当你编码时,你不可避免地会问自己:“这个和那个是如何工作的? PERFORM 使用按引用传递或按值传递来传递参数?” 在适当的 ABAP 书中查找这些问题 -
可能几个月后,您将足够熟悉可以阅读这本书而不会睡着的语言
只是一个警告:了解 ABAP 编程是一项有用的技能,但即使您不考虑 SAP 包含的其他技术(如工作流或 PDF 表单,与 ABAP 没有任何关系),仍然有许多框架在逻辑上有所不同。因此,就像即使您了解 C++,了解 Win32 框架并不意味着您可以开始编写在 UNIX 下运行的代码,了解 ABAP 并不意味着您可以立即在特定模块中高效地工作。不幸的是,SAP 模块倾向于使用不同的框架,其中一些比其他的更重用。
如果您不想深入了解 ABAP,但想从功能上了解 SAP 模块,则除了编程和学习功能方面外,您还应该考虑使用产品本身。
恐怕真的没有快速的方法来了解“SAP World”的功能;您需要为此具备一些技术、功能和架构知识,并且由于模块与所有这些方面有很大不同,因此您需要花费大量时间才能对所有内容有一个全面的了解。但即使有技术和一些功能知识,你也能顺利上路;正如他们所说,“在 SAP 中,没有人希望您了解一切”。
您应该寻找至少两组不同的问题:
(1) 为您提供有关如何编写程序、读取和更新数据库以及编写 GUI 的一般知识。但是您编写的程序几乎总是在 (2) 的上下文中,因此您也需要知道这一点。
想要入门的话,最好对ABAP语言有一定的了解,业务领域真的不是书本上学的。实际的项目工作更有帮助。
首先从 sdn.sap.com 下载一个netweaver 试用系统(选择 ABAP 试用系统之一)。
作为参考,您可以在此处在线获得 ABAP 手册(参考文档也有很多小示例程序)。有关更多示例代码,您可以输入事务 SE38(报告编辑器)并搜索以 BC 开头或以 DEMO 开头的程序(在名称框中输入 BC* 并按 F4)。
因为你也让我回答这个问题。我被聘为 sap-java-developer 是因为市场上的人非常少,尽管在我进入之前我对 sap java 一无所知。我从同事那里得到建议,并尽可能快地学习以提高工作效率。最后也没什么大不了的。我现在进入这个行业一年了,但我仍然处于新手状态。sap 技术环境是巨大的。每当我遇到困难时,SDN(Sap Developer Network)是我最好的朋友。
当您最终进入一家拥有 sap 知识的公司时,这绝对会有所帮助,因为您不必从头开始构建所有系统,并且您拥有各种 sap 产品的许可证。从长远来看,大多数来自 sap 的试用版都不会奏效。