This repository is intended to provide all interested people with an initial overview of the requirements to become an ABAP developer and the options for getting started. The trigger for the creation of this repository were increased questions from trainees and students, job starters and job changers. Instead of giving a lot of single answers to everyone, this hub was created as a central starting point.
The information given here is neither complete nor does it claim to be correct. It's much more a collection of information, experiences, considerations and expectations that is under constant revision. Anyone can and should help to improve the given information here. Take advantage of GitHub to collaborate.
It should also be noted that this is general information. Since everyone is different, everyone has to find his own way based on this information. Of course, you don't have to do this alone. All ABAP developers should offer help to the best of their ability.
For a first online impression, some general information on the ABAP programming language can be found in this Wiki article. There is an ABAP Exercism track where you can solve various programming tasks with ABAP online. Finally, very simple examples can be tried out with Lars Hvam's ABAP Online Transpiler.
In order to experience the programming language, an accompanied course is recommended. There are often corresponding offers for students and trainees.
If you know an ABAP developer, you should get a personal introduction to the programming language, the development tools and the execution environment.
Reading a beginner's book is also recommended. You should make sure that the literature is as new as possible. A well-known publisher for ABAP literature is Rheinwerk-Verlag with the "SAP Press" brand. Highly recommended.
A good starting point might be the book "ABAP - An Introduction" by Brian OβNeill and Jelena Perfiljeva. For German-speaking readers, the book "ABAP - Entwicklung fΓΌr SAP S/4HANA" by Constantin-Catalin Chiuaru et al. could be interesting.
As soon as you've made your first experience with ABAP, read the book "Clean ABAP: A Style Guide for Developers". The book gives many tips and suggestions on how to write maintainable ABAP source code. And that's exactly what it's all about every day.
The following list is a mix of typical core tasks.
Many mentioned tasks here are typical tasks of every developer and therefore do not represent anything special when working with a programming language.
Please note: The term "applications" means also "interfaces" in this context.
- coordinate requirements
- write concepts
- develop new applications
- maintain existing applications
- test applications
- debug applications
- find and fix bugs
- clarify how something works
- write documentation
- work together
- code reviews with colleagues
- knowledge exchange in team
- meetings with customers
- training with users
- continuous learning
Maybe these tasks are also part of the work:
- manage sub-projects
- help to write quotations
- support sales team
- organize development
The following tree view is not meant as "complete". In addition, not every term automatically has to play a role in the working life of an ABAP developer. Furthermore, it's impossible to achieve mastery in every skill or talent. A good mix is sufficient - with strengths and weaknesses. The team you work in should do what you can't do yourself. Find your place in the team.
ABAP developer
|
+-- [ soft skills ]
| |
| +-- analyzing
| +-- structured thinking
| +-- speaking/discussing
| +-- visualizing
| +-- writing
| +-- working in a team
| +-- working independently
| +-- self-organisation
| +-- self-motivation
| +-- open to new ideas
|
+-- [ hard skills ]
|
+-- [ programming/markup/scripting/.. languages ]
| |
| +-- ABAP
| | |
| | +-- object oriented programming
| | +-- procedural programming
| | +-- RESTful application programming
| | +-- ABAP SQL
| | +-- ABAP Core Data Services (CDS)
| |
| +-- HTML/CSS
| +-- JavaScript
| +-- XML
|
+-- [ programming methods/styles ]
| |
| +-- Clean ABAP
| +-- database design
| +-- design patterns
| +-- Unified Modeling Language
|
+-- [ tools ]
| |
| +-- ABAP Development Tools for Eclipse
| +-- ABAP Test Cockpit
| +-- ABAP Unit
| +-- abapGit
| +-- ABAP Formatter
| +-- ABAP Cleaner
| +-- SAP GUI
| +-- Data Dictionary
| +-- Workbench
|
+-- [ interface technologies ]
| |
| +-- [ protocols ]
| | |
| | +-- HTTP/HTTPS
| | +-- OData
| | +-- REST
| | +-- RFC
| |
| +-- [ formats ]
| |
| +-- CSV
| +-- IDoc
| +-- JSON
| +-- XML
|
+-- [ business processes ]
|
+-- <choose your business area, e.g. finance or logistics>
First of all, check out the ABAP Exercism Track. You need nothing more than a browser to solve the tasks contained there.
After that, there is a tutorial called "Learning the Basics of ABAP Programming on SAP BTP". Since there is a lot to discover, you should take your time.
Another good starting point could be this blog from Markus Haug, published on SAP Community.
Actually there are different options to get access to an ABAP Trial system.
Name | Description | Type | Link |
---|---|---|---|
ABAP Cloud Developer Trial 2022 | Docker image containing technical stack, no business functions | on-premises | Blog on SAP Community |
SAP NetWeaver Application Server ABAP Developer Edition 7.52 SP04 | Installations files containing technical stack, no business functions | on-premises | SAP Learning Free Trials and Downloads |
SAP BTP Trial | Shared Cloud-based ABAP runtime environment | Cloud | Get a Free Account on SAP BTP Trial |
Developer Appliance Templates | Trials like SAP NetWeaver 7.52 via SAP Cloud Appliance Library | Cloud | Cloud Appliance Library |
This is a proposal to start a career as ABAP developer:
- Find a company that supports you.
- Get to know and team up with your colleagues. They should write modern ABAP.
- Take ABAP basic courses and learn the fundamentals.
- Make your first experiences in small projects. Your colleagues should support you.
- Build your skills. There is no end.
- Take on more responsibility over time.
- Share your experiences.
ABAP developers exchange information on different platforms. Below is a selection.
Please consider the following points:
- Always respect the Netiquette.
- If you have a question, always search for an answer yourself first.
- If you cannot find an answer after your search, please ask the question as precisely as possible.
- Don't expect an answer to your question. The community works on a voluntary basis alongside their actual jobs.
Here's the platform selection.