
Start as ABAP developer
In this article we want to deal with the question of what a beginner in ABAP development should learn at all.
Table of contents
As a beginner in ABAP development, what should I still learn? Perhaps you are also currently faced with the question of what you actually need to become a good ABAP developer and what you can actually forget today, which is perhaps already too out of date.
Introduction
The question of technology is not necessarily very easy to answer because not every company is on the same page and not everyone is currently working on a transformation towards S/4 HANA. Likewise, the cloud has not yet arrived at every company or is not desired. Nevertheless, everyone should think about the technologies of the future and, above all, use young developers for them.
Young developers
Young people, like you are perhaps reading the article right now, are fresh from university these days, have learned a lot about programming concepts and web technology and are dying to finally get into "real" development. In the SAP area, however, you mostly encounter old systems and programming from the 90s, which were still developed with good intentions by lateral entrants. Modernization would be necessary here, as well as new processes and a proper CI/CD concept. Usually this leads to a certain degree of frustration and the young talents cannot work on the topics where they should.
Education
Which topics are actually still relevant and what can be largely forgotten today? At this point we want to give an overview of the topics from our perspective, this may differ from your requirements. In addition the following list:
- New ABAP - Focus on the new keywords and constructs, mentioning the old keywords as much as possible.
- ABAP Dictionary - Types in the ABAP Dictionary are still an important part of the system. Tables, structures and how to work with them should be clear and understood.
- ABAP OO - How do you work with classes, how does inheritance work and how do I develop testable applications.
- ABAP Unit - The automation of tests plays a central role in making applications specifically and easily further developable.
- CDS - The modeling of data models in the form of core data services is important, as is the underlying virtual data model (VDM).
- Interfaces - Modern interfaces as OData with SEGW or ABAP RESTful Programming Model (RAP).
- Eclipse - If you look in the direction of S/4 HANA and the cloud, you will quickly find that Eclipse is used for many topics. The work in the SE80 will become less and less and the focus should be on Eclipse when learning.
Which topics do you no longer need to attach great importance to? Here is our list of how we see it:
- Dynpro development - development of reports with dynpros, table controls and containers. It is better to use simple reports with logs and ALV, these cover the majority of reporting requirements.
- Classic development - Classic reports with write output or FORMs should already be avoided today and pay attention to proper forms and OO structure.
- Forms - here only techniques such as Smartforms or SAP Script. Adobe Forms is still a current form of form development.
Stumbling blocks
What is not so easy for young developers, we want to take a closer look at this in this section. Understanding data types and processing tables falls under this topic. Understanding what exactly a table is in a program and how to access it is an important part of daily work. In most programming languages, however, there are no tables, but arrays that are accessed and managed differently.
Debugging is also an important part of the work, especially at the beginning. Using the debugger, you will quickly understand how a piece of code works and how it works and, in the event of an error, you can quickly learn how to correct the error. At first, debugging will take a long time and will be difficult in some places, but over time it will become an important part of your work.
Conclusion
Getting started with modern ABAP development will become easier in the future, as the development concepts and tools are being adapted to more and more general languages. It is important, however, not to put the old technologies in front of new and young developers, but rather to introduce these developers to the new technologies.