Many people enter the SAP world with clear purpose, but my SAP journey began purely by incident.
I worked as a mainframe consultant at a company that decided to replace their aging Unisys system with SAP ERP. Even though the plan was for me to help support the legacy mainframe system, one person from the SAP project suddenly left and I inherited their position of an ABAP developer. I had no idea what ABAP was. One BC400 course later, I started cranking out my first code under the watchful eye of the experienced consultants. And it just took off from there.
Fast forward to present day, I have been working in ABAP and SAP development for over 15 years. I had an opportunity to work in many different companies, both in internal IT and as a consultant. I worked on many SAP rollouts, upgrade projects, and anything in between. In 2019, Brian O'Neill and I published the book ABAP: An Introduction where we shared our wealth of knowledge with anyone who wants to learn ABAP. But what do ABAP developers (aka ABAPers) do in real life, exactly? That’s a good question.
What Do ABAP Developers Do?
Mostly magic. And debugging. Joking aside, it’s difficult to describe a typical day of an average ABAP developer because our work can be so different. Here are just some examples of the common development tasks:
- Creating executable programs (ABAP reports) to display business data, perform transactions in the system, or automate complex processes.
- Enhancements and customizations of the SAP standard, which have odd names like “user exit” and BADI.
- Output forms using PDF or smart forms.
- Creating web services that help to integrate SAP ERP with other systems or provide data for UX applications.
In newer environments based on the SAP HANA platform, developers work with the objects like Core Data Service (CDS) views or ABAP Managed Database Procedures (AMDP) that even use their own languages. Since SAP development evolved beyond just ABAP code, job titles more commonly seen these days are “SAP Developer” instead of “ABAP Developer.”
How Does SAP Development Compare to Non-SAP Development?
When I wanted to learn Java, all I needed to do was to download a compiler. I could create simple code in any text editor, then compile and execute it on an average PC. In SAP development, this is not really a thing. Even though ABAP trial system access is becoming more easily available to developers, SAP development generally requires an IDE, an ABAP platform, a database, and many other things that we are so used to having that we barely know exist. For example, we never need to do anything special in ABAP to establish a database connection. It’s just somehow there all the time and we simply write SQL statements within ABAP code.
SAP ERP is enterprise software that is in a special class by itself. When it comes to scale, stability or security, enterprise applications have different requirements than an average video game, for example. Some people perceive enterprise software as “boring,” but one person’s boring is another person’s exciting. SAP development might not look flashy, but how do all the “cool” programmers get their laptops, drinks, hoodies, and fancy headsets? From manufacturing through delivery, all these goods most likely “touch” an SAP ERP system along the way, and ABAP is instrumental in making this happen.
But when it comes to the code itself, ABAP in general is not that different from other programming languages. We also use the object-oriented programming principles (well, most of us do), we have clean ABAP and abapGit. We access data using a flavor of the SQL language. Using ABAP, we can develop RESTful applications and OData services. Unit testing, test-driven development, and DevOps are also making their way into the SAP ecosystem. And, of course, there is a brave new world of ABAP in the cloud.
Should I Learn ABAP?
As an ABAP for beginners book author, I might be biased. But as Oscar Wilde said, “You can never be overdressed or overeducated.” Learning programming languages is just as beneficial as learning human languages. Even if you don’t become a professional ABAP developer, knowledge of ABAP can be helpful to functional SAP consultants, SAP Fiori and SAPUI5 developers, or those who need to integrate their programs and systems with SAP’s ABAP-based products.
Is There a Future For ABAP Developers?
We have been getting mixed messages on this from SAP. One year, ABAP is dead. Then suddenly it’s not dead. Then it’s super not dead and is going to the cloud. Then it’s barely acknowledged again. Make up your mind, please.
No one can see the future, but based on the last decade’s trends, we can make some educated predictions. Here are my top three:
- The job market for classic ABAP will continue to dry out. These days the ALV reports and function modules are just not cutting it. Developers who want to be employed will have to embrace CDS, the ABAP RESTful programming model, and SAP HANA development or face diminishing employment opportunities.
- Existing SAP customers will remain in the on-premise world for quite some time. But SAP developers should not use this as an excuse for “cloud denial.” Learn about cloud architecture, and development models, and be prepared for a wild ride.
- A large number of ABAP developers will either move to other jobs or retire in the next decade, and there is no wave of new developers to replace them. Unless someone steps up and starts training SAP developers right now, I foresee an increase in demand for ABAP and SAP developers around that time, just like what happened with COBOL before.
Keep in mind though that there will always be a future for SAP developers with a good knowledge of the data model, business process, and best development practices.
I Have Many More Questions
Excellent! Asking good questions is what separates a developer from merely a coder.
This neat GitHub page created by SAP Community Champion Michael Keller features the ABAP Starter repo with all the links and references that a beginner might need.
For the specific career-related questions, I recommend looking (on LinkedIn or any popular local platform) for the people in your geographical area that work in the jobs that you are interested in. Reach out and ask (politely) what they do and what does their day look like. I’ve heard from many colleagues that they are more than willing to answer specific questions about their job from those who want to enter the field or make a career change. (Learn more about SAP careers here.)
And as Boring Enterprise Nerds, in collaboration with another SAP PRESS author (Paul Modderman), we are always there to answer many SAP questions in our newsletter or podcast.
Learn ABAP OOP in Our Upcoming Rheinwerk Course!
Enhance your ABAP skills with object-oriented programming! Create classes, implement polymorphism, and more. Use exceptions for error handling and write unit tests to improve your code. Learn about key design patterns and apply your ABAP Objects knowledge to the ALV object model (SAP List Viewer). This upcoming course in January is live on the web and will teach you all you need to know about these topics. Click on the banner below to learn more and order your ticket.
I hope this post has been helpful and you will consider joining us in the wonderful world of ABAP, where the magic (and debugging) happens.
Comments