Programming logic can reveal the shortcomings of data

Int4 Team
2020-10-14

Let me introduce my guest

My today’s guest learned ABAP programming in 1995. He is a very prolific blogger who likes to share programming tips and tricks with the rest of the community. He is also the organizer and Speaker of SAP Inside Track Hannover. As used to say about himself, always trying to make the best out of the “ancient” technologies. Privately a husband, a father of two kids, and… a badminton player.

About differences between logic and data in the programmer’s world, changes in the SAP ecosystem in recent years, and finally – why programming resembles cooking? – Enno Wulff is interviewed by Jarosław JZ Ziółkowski.

Reading time: 8 minutes

1. I have read one of your blogs entitled “Logic vs Data // SAP vs SimDia2// programmer vs user” and I have to ask, how to find the golden mean in all this?

It’s a difficult question. In this blog post, I tried to talk about the fact that there are always two sides to a problem or a task. There is often operational blindness that does not let you see simple solutions or even guides you in the wrong direction. Some consultants have a kind of a global view. On the other hand, developers often have extremely technical views and do not understand business backgrounds. Then there are the users who have their own vocabulary and often they know only a limited part of the process. So there are a lot of views, opinions, knowledge, and even the lack of that, in complex processes. Well, you have asked about how to find one’s way through all this? If I had a simple answer, I would have sold many books about that *smile*. I think my advice is:

  • Be open-minded
  • Learn new things
  • Question your work
  • Have fun

2. In reference to the previous question, tell me whether in a programmer’s work logic is more important, or maybe it is data?

This is an extraordinary case in ERP systems because the data constellations and dependencies are very complex. In this case, I’d say that data is the most important part. If you want to implement business logic, you need to know the data. If you don’t, your tests might be insufficient, or you implement logic that is not necessary. You must know what data belongs together (e.g. material + plant + storage location) to install proper business logic. But often logic reveals shortcomings of given data or suggests some business reconsiderations.

3. So, moving on, you say you are addicted to SAP since Release SAP R/3 2.1i. Well, a long time has passed since then. What changes have there been in the SAP world during this time from a programming perspective?

That’s a good question. The most relevant might be the change to object-oriented programming. There are still many discussions if object-oriented programming really is such a great benefit in a data-driven environment like an ERP-system. In my opinion, it definitely is a great advantage. Object orientation gives the ERP developer a much more professional touch. When I started programming, there were much more SAP consultants than ABAP developers.

The consultants sometimes added a simple query into the processing logic. If the query was too complicated or data needed to be stored in the database, then it was the developers turn. Nowadays, programming is much more complicated, and there are higher expectations of what a program should be able to do. You need more professional skills than ever because you are compared to programmers of different programming languages.

4. Well, you have been programming in ABAP for over 25 years – wow! Do you, like my previous interlocutors, think that from an SAP perspective this is one of the best solutions?

I never regret having focused on SAP. From the very first touch, I was thrilled by the complexity and the various possibilities of the SAP system.

5. But isn’t ABAP outdated? Or maybe you see an alternative for it when it comes to the ERP systems?

As long as one of the most popular ERP systems only supports ABAP, it will not be outdated. There might be some further skills a developer needs to learn, that is not only used in the SAP world like UI5, oData and so on. But much logic in the SAP system will be realized in ABAP.

6. A few years ago, you established a portal called tricktresor.de, as you yourself say, for tips and tricks of SAP programming. Why should people visit your portal? Do you share some secret knowledge there?

Well, a few years ago… actually it was17 years ago… *smile*. The first post on my Tricktresor-Blog appeared in March 2003. When I started learning ABAP, I learned a lot each day. Sometimes I wrote down what I learned, but not regularly. In one of my first projects, I was attended by a very experienced Senior consultant: Karl. Karl had a bizarre habit. He recorded everything, literally everything. He used tags to identify persons, dates, SAP-related objects. #EW was Enno Wulff, $ specified a date, %fm was followed by a function module, %rp the name of a report and so on. I always smiled at this weird habit and thought “oh, old man. Maybe if I come to your age, I will also have to write down things?”. After a week of illness, a week of holidays and a week at a different customer, I didn’t know the program that I had to change anymore. Contrary, I had to come to my mentor Karl and ask him If he maybe knows the missed name. Karl opened the text file for this customer, searched for “%rp”, skipped some of the not relevant reports and voila. From that day on, I also wrote down the things I learned.

You asked: Why should people visit my site? Simple answer: because they might get help with their programming problems. They also might get ideas about how to do things. Meanwhile, there are many posts where I try to add useful functions to everyday objects or to simplify programming.

You asked me if I share secret knowledge and I guess sometimes I do*smile*. To be honest: I like it when people say that they find Tricktresor helpful and that they often found a solution to their problem. But the main reason for having the blog is that It helps me to structure my learning and question what I’ve learned so far. It is then easier for me to remember these skills, and additionally, I have a central location to find it.

7. Continuing, I need to ask you the following, how does your experience help you at your current work?

As mentioned previously, one focus has always been to document my learnings. In the first case, it helps me to remember what I learned. At my current company Inwerken AG in Hannover, we regularly do Code-Dojos to work and learn together. Code-Dojo is one way to spread knowledge and learn from each other.

8. Okay, but you are a co-author of the book “Das ABAP-Kochbuch: Erfolgsrezepte für Entwickler – Programmierbeispiele aus der Praxis”. – A great title, by the way. But I have to ask where the metaphor for a cookbook comes from. Does programming resemble cooking?

When Rheinwerk publishing asked if there was someone who had an idea for a programming book, I got in touch with them. I first thought of something like the famous German series of books for car repairing “Now I help myself.”

I wanted to set the focus on the helpful features that already exist in the SAP system and show how to get the most out of it. Rheinwerk then insisted on “ABAP Kochbuch” as a German alternative to the English “ABAP Cookbook”. I was not very happy with this decision because our “ABAP Kochbuch” did not have anything in common with “ABAP Cookbook”.

But yes, there are similarities between cooking and programming. You can start programming when having a recipe, a list of the ingredients and an instruction of what to do. Therefore, the title fits quite well with my intention. My colleagues and I have created a complete application that can be cooked by following our instructions. The chapters are built on each other, but we did our best to let you program every single chapter on your own.

9. Let’s segue a bit. On your official profile on SAP people, I found the following note “Trying to improve things with existing technologies instead of installing the next hype”. What exactly do you mean by that?

That’s my way to outline my weakness in understanding all the new stuff into a positive thing *smile*. I like to understand things as extensively as possible. If you have broad knowledge, then you can solve problems more accurately. And it is easier to identify strengths and weaknesses.

I often experienced that something completely different (new stuff) has been created to solve the problem of some old stuff. That’s okay if the new thing is better. But often the real problem has not been investigated. Without knowing the main problem, it is not wise to install something different, because this might have the same problem. And also often new things are just different, but not always compellingly better.

10. Okay, so what changes would you make to the SAP ecosystem? What do you think should be improved in the first place, and what do you think works very well today and can be set as a model for others?

I would support the current discussion about the completely free SAP developer systems. So far you can install your own SAP system for private developing purposes, but you have to re-register after some time. It would be nice to have a completely free accessible trial SAP system.

11. On another subject – you play Badminton, and I wonder if programming skills are useful during matches? Or is it just a hobby to finally get some rest from ABAP?

The more we sit in front of a PC and the older we get, the more important is it to train the body. Badminton is a hobby of mine and helps me to stay fit and shut down the brain for just hunting a goose feather spiked cork. That is my sport where I can move, run, sweat and stay physically healthy.

12.  Last but not least – Since you have vast experience in programming, I would like to ask – what guidance would you give to the youngest members of our SAP community who, like you, would like to devote themselves to programming – not necessarily just in ABAP.

From my point of view, I would like to encourage everyone to take part in the community events and to get in touch with other similarly-minded people. Investigate and help yourself. But if something is not clear, too complex or not working, then ask other people! Talk to others, reserve at least one or two hours a week to read blogs of a topic you are interested in or working at, read a book, visit community events like SAP Stammtisch or SAP Inside and online tracks. They all boil only with water, so don’t be afraid to ask or to publish your thoughts.

Read also:

1. The “big ideas” of today really are mostly very late realisations of the ideas from half a century ago

2. Autonomous system such as Tesla autopilot could be a future of the ERP