如何学习“ABAP之道”?

发布于 2024-08-06 10:16:24 字数 1436 浏览 7 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

韵柒 2024-08-13 10:16:24

如果您了解其他编程语言,学习 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世界”是如何运作的;为此,您需要具备一些技术、功能和架构知识,并且由于模块在所有这些方面都有很大的不同,因此需要花费大量时间才能对所有内容有一个全面的概述。但即使具备技术和一些功能知识,您也能顺利上路;正如他们所说,“在 SAP 中,没有人期望您了解一切”。

Learning ABAP is not particularly difficult if you know other programming languages.

Let's first distinguish between ABAP and ABAP OO. ABAP is the old, procedural language and ABAP OO is its extension with classes.

ABAP has the usual control structures, like if-then-else or loops. Its syntax takes a bit of getting used to (I found especially annoying the part about putting or not putting spaces before parentheses), but is definitely doable.
There are some structures you don't find in C++ and C#, for example the grouping of functions in function groups, which have their own local variables, so if you call something that is in a different function group, things can get messy.
But generally, if you understand scope and namespaces, it shouldn't be a problem.

I found ABAP OO pretty straightforward compared to ABAP, because it basically only added the classes / packages that I knew from C++ / C# before.

How to learn them, I would propose the following for someone who is new to ABAP and wants a DEEP knowledge of it (see later the more functional aspects):
-buy yourself a proper ABAP book, e.g. something from SAP Press
-don't read it just yet
-start with a web course or a simple book, along the lines of "learn ABAP in 24 hours"
-start coding
-as you are coding, you will inevitably ask yourself: "how does this and that work? is the PERFORM using pass-by-reference or pass-by-value for passing the arguments?" Look those questions up in your proper ABAP book
-probably after a few months, you will be familiar enough with the language that you can read through the book without falling asleep

Just a caveat: It IS a useful skill to know ABAP programming, but even if you don't consider the other technologies SAP consists of (like workflow or PDF Forms, that don't have anything to do with ABAP), there are still a lot of frameworks that differ in their logic. So just like even though you know C++, knowing the Win32 framework does not mean you can start banging out code that runs under UNIX, knowing ABAP does not mean that you can work productively in a specific module right away. Unfortunately, SAP modules tend to use different frameworks, some of them more reused than others.

If you do not want a deep knowledge of ABAP, but want to understand the SAP modules functionally, you should consider using the products themselves in addition to programming and learning about the functional aspects.

I'm afraid there is really no quick way to learn how the "SAP World" functions; you need to have a bit of technical, functional and also architectural knowledge for that and since the modules are so vastly different from all those aspects, it takes a lot of time until you can have a vast overview of everything. But even with technical and some functional knowledge you would be well on your way; as they say, "in SAP, nobody expects you to know everything".

忘年祭陌 2024-08-13 10:16:24

您至少应该寻找两组不同的问题:

  1. ABAP 作为编程语言的知识
  2. 了解您编写软件的“业务领域”及其在 SAP 中的实现 - 表格、表单、程序、报告等, (并且每个模块,例如 FI HR 等,都超出了正常人通常可以精通的范围)

(1)为您提供有关如何编写程序、读取和更新数据库以及可能编写 GUI 的一般知识。但您编写的程序几乎总是处于 (2) 的上下文中,因此您也需要了解这一点。

如果想入门的话,最好对ABAP语言有一些常识,业务领域真的不能从书本上学到。实际的项目工作更有帮助。

There are at least two different sets of issues you should be looking for:

  1. Knowledge of ABAP as a programming language
  2. Knowledge of the "Business Domain" that your writing your software for and its implementation in SAP - tables, forms, programs, reports etc, (and each of the modules such as FI HR etc. is more than a normal person can usually be proficient in)

(1) gives you general knowledge on how to write a program, read and update the database, and maybe write a GUI. But the programs that you write will almost always be in the context of (2), so you will need to know that as well.

If you want to get started, it is best to have some general knowledge of the ABAP language, the business domain can't really be learned from a book. Actual project work is much more helpful.

梦里的微风 2024-08-13 10:16:24

首先从 sdn.sap 下载 netweaver 试用系统之一。 com(选择 ABAP 试用系统之一)。

作为参考,您可以在此处获取ABAP在线手册(参考文档还有很多小示例程序)。如需更多示例代码,您可以输入事务 SE38(报告编辑器)并搜索以 BC 开头或以 DEMO 开头的程序(将 BC* 放入名称框中,然后按 F4)。

Start by downloading one of the netweaver trial systems from sdn.sap.com (choose one of the ABAP trial systems).

For reference you have the ABAP manuals online here (the reference documents also have a lot of small example programs). For more example code you can enter transaction SE38 (report editor) and search for programs starting with BC or starting with DEMO (put BC* in the name box and press F4).

情深已缘浅 2024-08-13 10:16:24

既然你也要求我回答这个问题。我被聘为一名 sap-java-开发人员,因为市场上的开发人员非常非常少,尽管我在进入之前对 sap java 一无所知。我从同事那里得到了建议,并尽快学习以提高工作效率。最终这没什么大不了的。
我进入这个行业已经一年了,但仍处于新手状态。 SAP技术环境巨大。每当我陷入困境时,SDN(Sap Developer Network)就是我最好的朋友。

当您最终加入一家具有 sap 知识的公司时,这肯定会有所帮助,因为您不必从头开始构建所有系统,并且您手头有各种 sap 产品的许可证。从长远来看,SAP 的大多数试用版都无法发挥作用。

since you asked me to respond to this question as well. I was hired as a sap-java-developer because there are very very few on the market, even though I didn't know anything about sap java before I entered. I got advice from my co-workers and learned as fast as possible to become productive. It wasnt such a big deal in the end.
I'm one year into the business now but I'm still in a newbie-state. The sap technology environment is huge. SDN (Sap Developer Network) is my best friend whenever I'm stuck.

It definitely helps when you end up in a company with sap-knowledge because you dont have to build up all systems from scratch and you have the licenses for the various sap products at hand. Most trial versions from sap just wont do the trick on the long run.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文