Welcome to the next episode of the SAP Learning Insights
Podcast. I am your host David Chaviano,
together with Doctor Clemens Manor.
Today we're going to be talking about ABAP.
A few of you out there have probably heard of it.
I'm sure I have. And what is it?
What is it used for and how can I learn it?
So before we go into it, we always have to welcome our
guests. So welcome to the podcast,
Clemens. At the start of every podcast,
we want to get our heroes origin story.
Tell us a little bit about yourself, your professional
background, academic origins. How did you get started?
SAP, Hi. Everyone.
Well, my story with ABAP starts in the 1990s when I studied
physics in Heidelberg. Most of you will know Heidelberg
is not far from Waldorf SA PS headquarters and at the time SAP
was growing a lot and desperately looking for new
employees and as real programmers, trained programmers
were scare on on the market. They took all kinds of academics
and many physicists were among those and saw many friends,
fellow students, university staff even leave Heidelberg
University and starting a career at SAP.
So a few years later, that was not the time when I actually
joined SAP. It was a bit a few years later
when I realized that there is a life outside of academics.
And so I started as developer at SAP working with ABAP our topic
today. OK, very cool.
And with your background in in physics, would you say that
maybe that mentality or the thought processes involved in
understanding the concepts of physics was well fitted to the
technology sector? Yes, I would think so.
It's all about solving problems and it's problem solving skills
that you learn most when you do scientific study, especially in
physics. And so this helped me a lot in
solving technology problems, solving software problems, OK.
So you started at SAP as an ABAP developer then or a general
developer or sort of what what language are you going in?
ABAP. It was ABAP.
Application development in SAP was mostly ABAP at the time.
There was a Java as a new alternative programming language
pouring in and fading out later, but most of the application
development at the time was ABAP.
OK. All right.
I got it. And at SAP approached you or you
approached SAP, I'm wondering how did you get introduced to
ABAP yourself? How did you learn it and then
get hired? So what was that process like?
It was the other way round. I got hired and then I learned
ABAP. OK.
So they hired me and not me alone.
There were lots of new employees who and if the intention was
that we do ABAP programming, they sent us to a training
program where we learned it from scrap.
OK, understood. So you learned ABAP from scratch
at the beginning of your SAP career.
You've been working with ABAP ever since you've started at
SAP. So I think there is no better
qualified person to ask this very simple question.
What is ABAP? Yeah, Well, maybe I I should.
Before I answer that, I should mention that I'm not a
programmer anymore. Well, not in the literal sense.
In the training department, I teach ABBA to new employees, to
partners, to customers, to everyone who wants to learn ABBA
programming. I do that for almost 20 years
now. So that's my profession today.
So yes, I should be able to explain what other is, because
that's the first question in in our basic training.
Well, people don't ask it if if they come to the training, they
have a rough idea what it is. They know it is a programming
language. They know it is a programming
language that was invented at SAP for SA PS own application
programming and that it is used still by Sapa lot but also by
partners by customers to build add-ons or to build customer
specific applications on the SAP system.
OK. So it's something that's
exclusive to SAP and SA PS ecosystem.
How would you say it, it differs from other programming languages
out there? Is it more difficult, more
complex, more niche in terms of learning, applying it, that sort
of thing? Well, the main difference is the
platform. You only can program ABAP on SAP
ABAP platform. In the past, it was an ABAP
system, so you had to buy a license for an SAP product to do
ABAP programming. Nowadays we also have cloud
solutions, most of all the ABAP environment in the SAP Business
Technology platform, where you can do ABAP programming, but yet
you cannot just start doing ABAP programming locally on your
computer. That's the main difference to
other programming languages. OK, understood.
What exactly is it used for? Could you help us with some
examples on how ABAP is applied in the practical world?
Well, that also changed over the years.
In the past, ABAP was used a lot to build reports that say
programs with a screen where you select some data.
You enter, let's say a region or a country or a department,
anything like that. And you execute the report that
then you get a list of of data, like for example, your revenues
in region distributed by country or a list of employees working
for a department with their annual salary, all, all kinds of
evaluation of data. Those were those reports.
They were built with the ABAP programming language.
Then ABAP was used a lot for, we called it transactions.
That's a bit more flexible dialogue programs where you
enter new data for a database, like for example in new sales
order or you create a new employee, things like that.
So the whole dialogue logic was also done in ABAP.
Those are old passioned technologies and we do not well
you still can use them in on premise system.
That's a system we call when you where you buy the license and
you install the SAP system on your own machine.
But in the cloud we don't do not use these old technologies
anymore. We work with different
approaches with old data services for those who know
about those. And then the the front and the
user dialogue is done outside of the ABAP world.
ABAP is used to develop the back end, the service for user
dialogues but also for AP is that means not a user
communicating with a computer, but a computer communicating
with a computer. So that's what we do in ABAP.
OK. And maybe just a question on the
origins of ABAP. I'm assuming it predated any
other language that can do the things that it could do.
So that's sort of the reason why SAP had to come up with its own
language. But would that be the why ABAB
was created? There is no other languages out
there that that could basically do what what SAP was trying to
do at the time. Well, I wasn't around when they
decided to come up with their own programming language, but
that's what I assume that the languages that were there did
not. None of those did perfectly fit
the requirements SAP, the founders of SAP, the people who
were there in the 1980s, had for a programming language to use,
so they came up with their own. OK, a both move.
So going into the day-to-day ABAP, it's changed quite a bit I
guess with time as things have progressed, but still used, what
sort of people are still using it?
Could you like name some of the titles of of people who still
use ABAP on the day-to-day and what they do with it?
Well, the software developers, programmers, our support
departments, they have to provide support for the code
that is written in ABAP. So what they have to understand
to read the code, make corrections to the existing ABAP
code. That's people inside SAP working
with ABAP. There are lots of people outside
of SAP working with ABAP. There are partners who build
add-ons for SAP systems in ABAP which they then offer to SA PS
customers, so providing functionality that's not part of
the SAP core. And there are customers using
ABAP to build their own applications, extending the SAP
software with logic, with functionality those customers
want to see there in addition. And they do their own, their
completely own programs as well. So in the past they did a lot of
reports. Some customers still do, if
they're still working with the traditional SAP products and in
the new products they more and more do reports or a dialogue
programs with the new technologies I just mentioned.
OK. So a keyword new technologies
and one could infer that ALAP is being used less due to new
technological developments. So specifically from the
perspective of a new person who's approaching SAP and trying
to figure out what they want to do within the ecosystem, is it
worth it for a net new person joining the SP ecosystem,
specifically somebody maybe with a computer science background,
somebody who's interested in being a developer, Is it worth a
a brand new developer going into this ecosystem to, to Start
learning with ABAP? Yes, I, I, I would think so,
being an ABAP trainer, I have to say that.
But but apart from that, I still think ABAP is a very important
part of software development inside SAP.
Our flagship product S for HANA is on the ABAP stack, and most
of the application software is developed in the ABAP
programming language. So if you're going that
direction, ABAP is a must. OK.
And if you know ABAP, then you're the person who's who A,
for example, an implementation team is going to go to build an
extension or customize the application in some way that
fits a customer better, hopefully using those clean core
principles. Well, we have extension
techniques in place that do not require a developer.
There are different ways to extend an application that is
written in ABAP. There are key user extensibility
just dropping dropping keywords here, but there is the developer
extensibility as well. Some things can be achieved with
the key user extensibility with INACT extensibility, but some
things can't. And then the developer
extensibility has to be used, and that's something that
involves another. Developer.
OK, understood. So I imagine, and forgive my
ignorance here as I'm not a developer, I'm imagining sort of
the most complex or the most complicated sort of
extensibility. Such scenario would probably
need the ABAP developer and the quote UN quote.
Simpler ones would not need it. Yes, you can put it like that.
OK, so I'm going to go a step further and say the ABAP
developer is a superhero and the Cape coming into a situation to
solve a problem that nobody else could probably solve, right?
I like that picture, all right. I like it very much.
All right, so back to the like the beginner, like the beginner
who's looking at everything they could possibly learn or, or, or
role they could choose within the SAP ecosystem.
Is there a concern about market saturation for this language?
So I'm, I'm imagining it's been around for a while.
ABOP has been around for a while.
A lot of people know it already. This is not necessarily
something that's going to be a differentiator to get your job.
It's sort of maybe a prerequisite that everybody
already has. And then you just need to build
up on that after you you've basically learned ABOP.
Is that accurate? It's interesting.
I'm I'm asking myself the same question for many years now,
doing ABAP trainings for 20 years, I have trained lots of
people and together with my colleagues, it was in the 10s of
thousands, hundreds of thousands people, we trained in ABAP and I
sometimes wondered, is there still space out there for ABAP
developers? Is there still enough to do for
ABAP developers? But I think yes, because there
is fluctuation that people going to retirement being replaced by
new hires who do their work and to need ABAP knowledge.
And on the other hand, ABAP is a language that evolves a lot.
I already mentioned things were completely different 20 years
ago when I started being an ABAP trainer.
We teach completely new things. ABAP has been reinvented several
times and therefore people need to learn the new ways of ABAP
and come to our trainings. OK, got it.
But as I'm still surprised that we get so many people who start
with ABAP, not only young people coming from the university, but
there are also more experienced people having experience with
SAP who decided, well, I think I need to learn ABAP to understand
it all better or I want to change, go to another direction
within our company. OK, so keywords start.
How difficult is ABAP to learn? Is this something you could
learn as a first programming language?
Or should a newbie start with something else like Python or or
or something along those lines? If you have never learned any
programming language, I think programming languages like
Python or Java are easier to start with simply because you
don't need the dedicated infrastructure, the dedicated
platform to get going. OK.
It's not so much a question of the programming language, it's
more like the the infrastructure.
OK, understood. So you would assuming the
infrastructure was was there, that the level of difficulty
would be equivalent to maybe Java, just purely focused on
the. Language difficult question.
This brings us brings us to another problem with the ABAP
programming language. I said ABAP is evolving or has
been evolved over the years and there came new concepts and new
ideas and new syntax elements. The problem with ABAP is that
the old concepts did not go away, so they are still there.
So it's a huge variety of syntax, elements, statements,
expressions, which could be a bit overwhelming for someone who
has never done any any software development.
Programming OK. Again, there is a kind of a
problem here, but if you have a good training class where you
only get taught one of the concepts to do something and not
all 567 variations, then you could Start learning programming
with ABAP. OK.
And in terms of learning strategies, you, you, you
mentioned that a language is always evolving and I, I find it
to be quite intimidating, especially from a beginner's
perspective because you're just trying to grasp get a hang on to
like the basic stuff already and the stuff you're holding on like
trying to learn is, is changing at the same time.
What would you say are some some learning strategies for people
who are nude to learning programming languages in
general? Just not necessarily ABAP, but
just trying to get wrap their head around the basic principles
of programming. When we design our training
classes, we at least try to keep that in mind and not to put too
many things into the beginning classes.
So in the beginning classes, we try to focus on the essentials
and the most important things and then the old possibilities
and the latest possibilities. They come in later classes.
So starting ABAP, if you have some experience with programming
in another programming language, then I recommend to go to
learning.sap.com and look for the acquiring core ABAP skills
learning journey. Acquiring core ABAP skills
learning journey, and that's the path to learn ABAP.
It leads up to certification. So you're certified ABAP
developer when you've done that learning journey.
And that's the way I recommend to start ABAP learning or come
to our training classes. OK, so prerequisite would
definitely be some some experience with Java or Python
before so you understand the basic principles of computer
science. Move on to AB up from there.
You can do that for free learning.sap.com.
But you did mention there are sort of the infrastructure
requirements. So the practical exercises would
need to be on SAP Learning System Access I assume, right?
Yes, but that's with SAPBTP, the business technology platform.
That's easier to come by than ever because on the business
technology platform you can simply create trial account and
in this trial account you can deploy an ABAP instance, connect
to the ABAP instance and start doing the ABAP development.
OK, understood. And for everybody that's maybe a
bit overwhelmed by all this, we'll try to get this all into
the show notes so you know where to go.
So you have a nice list of URLs to go to.
And in terms of, again, going to perspective of somebody who's
making the decision to learn ABAP, what would you say is the
outlook for the language? Do you see any implications for
it, good or not so good with the emergence of AI or large
language models? Well, the outlook, when I
started doing ABAP, there were people who seriously asked me,
why do you start doing ABAP programming?
ABAP will be replaced by Java and in in the near future or in
a few years, no one at SAP will do any ABAP programming
anywhere. ABAP is dead.
It was a slogan that's well over 20 years ago.
That was more than 20 years ago that people told me ABAP is dead
or is going to die. And I heard that ever since it
came in waves and look where we are.
ABAP is still alive and ABAP is used in many SAP products and it
has its place and I think ABAP will be around for many, many
years. All right, so have No Fear when
new people out there, you Start learning ABAP there, there's
going to be work for you at the other end of your learning
journey. Yeah, absolutely not.
Don't believe the people who say ABAP is dead.
All right, so far we've gotten quite a good education on what
ABAP's all about, where it came from, how long it's been around.
I I want to maybe pick your brain for some final words of
wisdom for our listeners, specifically the ones who are
either starting or maybe in the middle of their learning journey
on ABAP, if you could give them some words of encouragement or
share some of your wisdom. Oh, that's a difficult question.
I think ABAP is cool. I'm still fascinated by the
concepts that are in ABAP. I'm fascinated by its stability
and by the way it is evolved further.
People are now working on AI integration into the ABAP
development so that you can use artificial intelligence to do
the tedious, tiresome parts of the programming.
So you can focus on the concept, on the design and actually
typing the code, writing down the code, artificial
intelligence, that's for you. That's a very fascinating thing
and I'm looking forward to see more of that happening.
OK, So AI is definitely going to be a friend and assistant for
everybody who's learning and applying up, up and don't
hesitate to embrace it. All right, very cool and hope we
stay in contact, claimants. And maybe we had to do a follow
up episode when we see some of those advancements arise in the
horizon as those developments approach us in the timeline.
Appreciate your time claimants and sharing your wisdom and your
knowledge and all your experience.
Thanks for being on the show. Thanks for having me.
And thanks to everybody for listening.
Bye and goodbye.