Whether you are new to ABAP or just want to learn something new this year, this blog post will give you an overview and a handful of helpful resources about all the new technologies in the ABAP cosmos. Not only the universe is expanding, but the ABAP world is also. And in recent years it has expanded faster and wider than ever before.
To describe everything you need to learn in detail would easily fill an entire bookshelf (Most likely even more). Therefore, I will give you a short overview and my personal recommendations for the best free and paid courses to master your ABAP skills!
This is my personal recommendation. There might be a ton of different other learning resources out there. I’m trying to focus on our official training offerings and tutorials. Since I am a trainer at SAP for programming and technology topics, I am very familiar with our world-class course curriculum. Therefore, I want to point out our comprehensive course curricula besides the free alternatives.
Start learning ABAP
(If you have more than 3 years of ABAP experience, then you can continue with the next paragraph.)
The ABAP technology is the solid longtime foundation for SAP’s solution portfolio. Its proven robustness, scalability, and extensibility make it the platform of choice for running mission-critical business processes.
It is the underlying technology of SAP’s traditional Business Suite, SAP’s flagship solution SAP S/4HANA, and other forthcoming innovative solutions such as next-generation data warehouse SAP BW/4HANA. It is also a complete application development and runtime platform. It combines the innovation potential of SAP’s in-memory database SAP HANA on the back end; the proven reliability and robustness of the ABAP server; and a digital user experience through SAP’s UI technology SAP Fiori. ABAP technology is continuously extended to serve new business scenarios and innovative application development.
But before diving deeper, you should first start with building a solid understanding of all the underlying technologies and concepts of an SAP system. Make yourself first familiar with the SAP Netweaver Architecture.
You can read more about the architecture here or visit our comprehensive 4-day SAPTEC course.
After you know how the SAP System works from a technical point of view, it is time for you to get your hands on it and start writing your first ABAP code.
The ABAP Workbench is the central development environment when it comes to classic ABAP programming. You have a lot of different development objects which are called Repository Objects. For each Repository-Object (e.g. Database Table, Structure, Program, Dynpro, etc.) you have an extra bunch of tools on your workbench. You can access the workbench with the transaction code SE80 (Object Navigator). There you can use all the different tools to develop your application.
Since we have 2021, I would rather recommend starting with the ABAP Development Tools (ADT). ADT is fully Eclipse-based and the successor of the ABAP workbench. You will profit from a modern development toolset and from higher developer productivity. So starting with ADT will be a safe investment in 2021!
After visiting the SAPTEC you can now learn the ABAP Workbench Fundamentals in our BC400 course. This will enable you to develop your very own ABAP applications. Followed directly by the BC401 (ABAP Objects) and the BC402 (Advanced ABAP) will teach you about the object-oriented programming approach in ABAP and all the advanced ABAP programming topics (new ABAP syntax with fancy expressions, new ABAP-SQL syntax, ABAP-Runtime and memory environment, generic programming, etc.)
After these courses, you should definitely have a deep(er) understanding of all the concepts.
Instead of visiting all the single BC4xx courses, you can also visit our Consultant Academy which consists of the TAW10, TAW11, and TAW12. These three courses are made up of the individual BC4xx courses and will teach you the most important things. You will also write the ABAP developer certification on the last day of the TAW12. Of course, you can also visit all the individual courses. They will dive deeper into the specific topics.
Upskill your ABAP skills first
As an experienced ABAP developer, you probably would like to get familiar with the latest features in ABAP development. In our ABAP delta course (D75AW), all changes in the ABAP programming language and the ABAP development tools from SAP Netweaver 7.0 to 7.5 will be discussed.
Diving deeper and becoming competent
Once you are familiar with the SAP ERP technology you should take your next steps towards S/4HANA.
S/4HANA is SAP’s latest ERP-suite for on-prem and the cloud. It is to a large extent comparable to SAP ERP, but as mentioned in the first lines of this blog, the ABAP cosmos has expanded rapidly in the past few years, and this strongly affects S/4HANA.
SAP S/4HANA is completely built on top of the in-memory computation platform SAP HANA. (Learn more about SAP HANA here.) One goal of S/4HANA is to unleash and leverage all the capabilities and the full potential of SAP HANA. This is done by changing the programming paradigm from data-to-code to code-to-data aka “code pushdown”. Every operation which is being performed on the data can be pushed down to the database layer. Only additional logic shall then be performed on the ABAP application server. This results in higher performance for your business applications.
Another big shift took place in the way how the end-user interacts with the system. During the SAP ERP era, SAP GUI was the central user interface to interact with the SAP ERP system. But from the release of S/4HANA onwards, SAP Fiori is the new web-based user interface (UI). It offers a completely new role-based user experience (UX) to replace the complexity in several transactions. Read more about SAP Fiori here. To develop SAP Fiori applications you can use the new ABAP RESTful programming model. We will come back later on it.
Yes, that’s a lot to learn so far. I recommend learning more about the new database platform first. Get a deeper understanding of all the new key features like in-memory, columnar store, high data compression, etc.
For this, I highly recommend booking a seat in one of our HAxxx courses. HA100 is perfect for beginners who want the “big picture”. The HA400 (ABAP for SAP HANA) and the S4D430 (ABAP CDS) is the right choice to start learning how to apply the code-to-data approach in your ABAP projects. In these courses, you will learn more about the core data services (CDS) which are one of the underlying core technologies of S/4HANA. Basically, they are views that are defined on top of the relational database tables on the ABAP application layer, but they are pushed down to the database for execution. This has a huge impact on the general performance. Furthermore, they can be semantically enriched to reduce the complexity in the model and to provide a more business-oriented view of the data.
This brings us to the next big thing in S/4HANA: The Virtual Data Model (VDM).
Enabled by core data services, the VDM is the main way to retrieve your data from the database. Instead of using ABAP SQL to query your database table, you will first create a CDS-based view layer on top. The VDM uses basic views to create simple projections that can be enriched with additional semantics and associations (relations to other tables). These basic views can be reused in other views. View-on-View models can be created simply without any effort. The basic views are also known as interface views, which then can be reused in multiple consumption views. Consumption Views are special-tailored views for specific use-cases. For instance, if you want to develop a Fiori app, then creating a consumption view that consumes the interface view is the best-practice. This allows you to reuse your interface views in multiple consumption views but enables you to enrich each consumption view specific for each use case.
Expand your skills even further
Of course, there are many other things to learn when it comes to ABAP development. But, I would recommend making yourself familiar with the new ABAP RESTful programming model.
In the ABAP RESTful programming model, the core data services (CDS) are the basis for the application development in SAP S/4HANA. Eclipse is used for the end-to-end development process.
First and foremost, you create your virtual data model, which consists of Interface Views and Consumption Views, which are particularly created for the current use-case. On top of that, you can define your Service Definition, which defines which fields shall be exposed to the generated OData Service (industry standard for exchanging business data via the web / HTTP protocol ).
Next, you define or generate your Service Binding, which creates the OData Service for your defined service. Now it is possible to generate an SAP Fiori Elements application based on predefined templates and on your service.
Thus, this delivers only a read-only application and not a full transactional app with Create, Read, Update and Delete (CRUD) functionality, we can add specific Behaviors to our views so that we can perform CRUD-operations on our data model.
I also recommend visiting our CLD400 course for this. This course is intended for the ABAP Environment on the Cloud Platform, but the RAP can also be used on-prem.
Your ABAP learning journey might have already been started and you might have learned a lot so far.
Keeping yourself on track and becoming more competent in the above-mentioned topics, will be a 100% safe investment for 2021 and beyond.
If you are also interested in further learning resources for SAP Fiori or the Cloud Platform you can also check out individual courses for these particular topics.
Each course mentioned above can be booked via training.sap.com.
I hope this post helped you as a beginner or as an already experienced developer to get a broader picture of all the different solutions and technologies in our cosmos and that it helps you to create your own sustainable learning journey.
Furthermore, we have already created a lot of different learning journeys. You can check them out via this link.
Please feel free to add any other helpful tips for beginners or experienced developers in the comments.