Skip to Content
Personal Insights
Author's profile photo Radoslaw Chudziak

Learning frustrations of an SAP Developer

SAP Ecosystem is becoming more and more complex for developers with the introduction of S/4 HANA and Cloud offerings. They have released a lot of new technologies e.g., SAPUI5, CDS Views, ABAP Programming Model for FIORI, ABAP RAP, CAP, SAP BTP, etc. It takes quite some time to acquire that knowledge and become proficient (as with everything) but I think the learning process could be smoother if better real life demo examples (source code) could be provided for each technology.

The learning material is all over the place (SAP Learning Hub, SAP Press Books, Official SAP Help, openSAP courses, Blogs, Tutorials and the most recent https://learning.sap.com/). Some courses are better than the others, but are hardly complete, hence you have to go through the material from all these different learning platforms and connect the dots. But even then, you find out this is not enough and you are still missing a puzzle or two to deliver your solution.

It was different back in the day when I was learning ABAP as a graduate. I had a lot of experienced people around me, I could just turn my head and ask a question. With the new technologies this is not the case, unless you are lucky enough to work along some passionate people that already have the knowledge in a field you are trying to master. The SAP Community Network forums are not as active as they used to be, so it is hard to get any help there as well.

I remember when I was first learning SAPUI5 about 7 years ago. I spent countless hours to figure out how to do a deep insert as all the official SAP demo apps and documentation were showing a basic example of a single entity, not a parent-child relationship. Then I spent another good chunk of time to figure out how to do OData batch processing as there was no examples, nothing in the GW100 book or the SAP Press book on how to do it end to end. Just a brief mention that it is a thing. After all I digged out and reverse engineered standard SAP’s SEGW service. And also before the introduction of SAP WEB IDE and it’s ‘kick start’ templates, people had not clue how to structure the app and I saw a lot of messy code.

Now I am learning the ABAP Programming Model for FIORI (as the system is not up to date to use ABAP RAP). And again, the official documentation only gives an example of app with custom tables, where I really want to develop an app with NON GUID keys, calling a BAPI to post data to standard tables. Neither the official documentation nor the learning hub material talk about the /bobf/if_frw_draft~copy_draft_to_active_entity method to use for calling a BAPI. So, you either have to reverse engineer standard FIORI apps (which takes a lot of time) or hope that someone has already done it for you and documented (which thankfully has been done and must have taken a lot of time and effort). And FIORI Elements is another technology where all the information is spread across different websites, without a single source of truth.

This is all not a rocket science. Once you figure out how to do it, then it becomes really easy. The pain here lies in finding the relevant information on how to achieve something that is not described in the official documents.

The bottom line is that we have to deliver real world solutions which are more complex than all these “develop SAPUI5 app in 5 minutes” or using the famous Flight data model. We also work under time pressure as per estimates and don’t really have time to dive into standard SAP code for a few days to figure out how to do stuff.

All these learning platforms mentioned above are great to get the basic understanding. You even get hands on exercises with openSAP, but this is not always enough. I would like to see SAP to provide use with comprehensive demo programs/apps for more complex scenarios, showcasing all possible features of given technology. Example – a real life end to end SAPUI5/FIORI app scenario calling a BAPI, using on of the recent programming models accompanied by a documentation with source code available on Github, providing as a reference on ‘how tos’ and ‘best practices’.

I think if SAP wants developers to embrace the new technologies, they have to make the learning process quicker. No developers with new skills  = no adoption of new technologies by companies.

I am curious to see if other people are having the same frustrations, or should I change my learning approach? Or am I asking for too much and trying to create an utopian developer world?

 

Assigned Tags

      27 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Bence Bodzsar
      Bence Bodzsar

      Fully agree. We need real life tutorials based on sales / purchase orders materials etc to start with instead of made up examples.

      Author's profile photo Dominik Tylczynski
      Dominik Tylczynski

      Well, pure ABAP skills are of little value in real life projects. What counts is to know how to use ABAP within the context of SAP standard functions - how to get required data, how to enhance standard processes. Very rarely are substantial ABAP developments build from scratch. The point of buying an out-of-the-box system like SAP S/4HANA is to use its standard functions, not to develop them during an implementation project.

      That's why I don't really like the segregation between functional and technical (ABAP) consultants. The best ones merge those two realms.

      Author's profile photo Michael Keller
      Michael Keller

      You raise a very important topic. Thank you for your critical words in this context. In my job, I am very busy with the subject of training, further education and studies. So here is my impression:

      Getting started with many topics is not trivial. If you have no experience with SAP software and the many learning opportunities (and probably less time), you will quickly lose yourself.

      Furthermore, from a technology point: It's often very difficult to choose from 3 possible solutions for the implementation of a requirement. 2 possible solutions are outdated, only one possible solution is state of the art. It's precisely this dilemma that my students encounter again and again. Building understanding in an technology environment that has grown over time (maybe 40 years) is so tedious.

      Accordingly, I see more and more the problem that one either only masters the current technology or mainly only the old technology. The connection to the actual business process is often only there with older colleagues. Many younger colleagues are overwhelmed by the technology alone. Then the sense and purpose of programming is quickly lost. Basically, it's not about programming (even if it's a lot of fun), it's about supporting business processes.

      ... I could write here for hours, but yes: We have to make SAP software accessible for future generations. Otherwise it becomes a COBOL issue.

      Jelena Perfiljeva, Michelle Crapo; Enno Wulff, Sandra Rossi and all the other brave SAP community members: Your opinion on this topic?

      Author's profile photo Radoslaw Chudziak
      Radoslaw Chudziak
      Blog Post Author

      Thank you Michael for your comment. My main issue is to shorten the path from learning the basics of a given technology to being able to deliver a productive solution (which is quite important in current dynamic world, and a new technology being introduced every year). Let's take for example FIORI Elements + ABAP Programming Model For Fiori. I can learn the basics from the SAP Help and the Learning Hub. And with the access to S/4 HANA system I can take for example 'Manage Purchase Orders' FIORI app, reverse engineer it and debug it to see how stuff gets done, as the scope of the functionality of this app goes far beyond what is in the learning material. And I can use the findings to create my own solution. I am not saying this is impossible I am just saying it takes a lot of time to learn through reverse engineering, especially when new to the technology. This could be solved by providing more comprehensive Tutorials/demo apps with documentation describing how to go about more advanced things. I think SAPUI5 documentation has come a long way and is quite good although in the demo apps there could be a template for freestyle CRUD app with header->item relationship.

      Author's profile photo Radoslaw Chudziak
      Radoslaw Chudziak
      Blog Post Author

      Long story short - this issue could be solved by a step-by-step tutorials on how to create a complex real life app like the 'Manage Purhase Order' with the source code of both front end and backend available in Github for reference. Reading such tutorial, would really speed things up. I really like this style of tutorials: https://github.com/SAP-samples/abap-platform-rap-opensap. But again, this is giving you a basic overview again. What if you want to upload a file using RAP? You have to again hope that someone has written a blog, or try to find standard SAP app to see how it is done, or try to come up with your own solution - which again, takes a lot of time.

      Author's profile photo Mahesh Deshmukh
      Mahesh Deshmukh

      Hello, I'm new to all this technologies. Where can I find the tutorials for the same? Can you please help me out with this, it will be really helpful for me.

      Author's profile photo Enno Wulff
      Enno Wulff

      As requested: my 2 cents... 🙂

      IMHO the SAP world has created a maximum complex environment in a very short period. I am totally overstrained by the huge amount of techniques that came up the last 5 years. And all techniques are entangled somehow, but I could not say which belongs to what and requires which underlaying architecture.

      I think SAP is doing the best they can by offering a lots of OpenSAP courses, documentation and a lot of engaged people promoting things.

      My main issue is to shorten the path from learning the basics of a given technology to being able to deliver a productive solution 

      Productive solutions often are huge and complicated and need to cover a lot of requirements. Therefor I think it might not be constructive to build and document a complete productive application. And even when: this application will not fit the needs of your solution. So all parts needed in your special case can only be parts of many different techniques, settings and best-practices.

      Things will be and stay complicated. As far as I am right with this statement you will have to fight yourself through the jungle of techniques.

      By the way: I am impressed by the way your have described, Radoslaw, ! And in my opinion this is the only way to go: have a requirement and learn bit by bit was is needed for this solution. 👍

      btw: Often enough I experienced that SAP itself didn't have the solution for problems that I thought should be a common problem. There are still companies that print their forms with SAP-Script. Not because they were not capable of using new technologies but because it's the fastest technology. If you need to print thousands of forms in two days Adobe Forms might not be the best solution.

      I for myself try to keep eyes on what is going around the SAP universe loosely. If there is the need to learn something special I try to go on with it. Piece by piece.

       

       

      Author's profile photo Jelena Perfiljeva
      Jelena Perfiljeva

      I agree with Radoslaw and I've observed the same thing myself many times: you get the examples for very simple scenarios but it's not really what ABAPers need for actual work that we do.

      What developers need is a cookbook. You want to do X? Here is a code example. And I totally understand that it may not be a "blindly copy-paste into client's system" example, but I think most of us are smart enough to adapt samples to real-life use cases.

      For example, we've already started developing using ABAP RAP, so I'm always on the lookout for any content on it. And I can't tell you how many times I've already seen the same exact slides, the same examples. We have seen so many "RAP introduction" presentations, where is "now that you've already met RAP, let's get to know it better"? In the real project, I do not need to just update a Z table to create a booking. I need to update a sales contract using same old poorly documented BAPI and to download a document stored in DMS, Where are examples for that?

      Author's profile photo Michael Keller
      Michael Keller

      If it would be a "blindly copy-paste into client's system"-example, you could maybe automate it = welcome to templates 🙂

      By the way: There was once a great ALV guide as "SDN Community Contribution" with a lot of examples. That document saved my life more than once. Whis there would be something like this document for Fiori Element List Report.

      Author's profile photo Radoslaw Chudziak
      Radoslaw Chudziak
      Blog Post Author

      There is a package SABAPDEMOS if I remember correctly. And it has tons of ALV examples that you can copy bits of code and adapt. That's what we need for the new technologies.

      Author's profile photo Radoslaw Chudziak
      Radoslaw Chudziak
      Blog Post Author

      Exactly! Calling a BAPI, uploading/downloading files whether it is GOS or DMS are common scenarios we do most of the time. These are not outlier scenarios that SAP can't find time to cover in learning/examples. Neptune Software for SAPUI5 development may be disliked by a lot of people (it has its pros and cons) but they actually had good documentation, a library of examples for common scenarios (e.g. GOS attachments) and very good support (forums) and if you still struggled with an issue they would put you through to one of their developers to help you out. That's why they got successful and grew. But obviously they were a start-up just a few years ago so they had to care and go above and beyond to attract customers and developers. SAP is at a different stage. They already have loads of customers married to them so they don't really care. But SAP's prime time may not last forever just like Nokia's or Kodak's haven't. If they keep making life difficult to developers, they will start switching to different technologies like Azure that I suppose has much better learning resources and community as it is not as  niche as SAP. I really enjoy learning new technologies, but not if the learning process is painful and takes a lot of time due to limited resources.

      Author's profile photo Helmut Tammen
      Helmut Tammen

      Hi Radoslaw,

      I partly agree. As you mentioned at the top of your post technologies change quickly and new technologies arise quicker and quicker. I think that it is important for SAP to support all these new technologies to open the SAP ecosystem to a wide range of (young) developers.

      Cause there are so many technologies it's hard to write and maintain a real life example for each of them, even when it is just published. Reality also shows that customers adopt those new technologies very slowly.
      So at the beginning the learning curve is steaper than after some time.

      My suggestion is to blog your findings and reveal your learning projects to the public. I think SAP customers should do more community work and see the benefit of it. Currently a lot of customers think that SAP has to deliver everything to them and also just in time.
      I see that SAP is eager to do a lot of support and they write a lot of tutorials and sample applications. With openSAP and learning.sap.com they also made and make learning SAP technology easier than it was in the past.

      To summarize the before said I shout out:

      SAP CUSTOMERS DON'T SIT ON YOUR KNOWLEDGE CAUSE IT'S OUTDATED SOONER AS YOU HAVE SPREAD IT EVEN TO YOUR OWN DEVELOPERS. SO SHARE IT AND BENEFIT FROM THE KNOWLEDGE OF THE COMMUNITY.

      Regards Helmut

      Author's profile photo Michael Keller
      Michael Keller

      Support for your shouting 🙂

      Author's profile photo Bärbel Winkler
      Bärbel Winkler

      Thanks for your blog post, Radoslav!

      For me, things start getting complicated even earlier, namely with placing all the various technologies and solutions where they possibly belong and how they relate to each other. With all the available options, how do you decide which one will be the best to use for your project and what all do you need to pull it off? After last year's TechEd I tried to order my thoughts by writing a blog post Trying to stop the spinning of terms in my head. It's a little bit clearer now for me but still a work in progress.

      Cheers

      Bärbel

      Author's profile photo Helmut Tammen
      Helmut Tammen

      Hi Bärbel,

      good point but as business processes get more complex also technologies get more complex. There is no single way to solve a problem today as there was years or decades ago.

      Cause there are much more stakeholders involved today a wide range of technologies can be used and is used to solve problems. So projects need architects who have an overview of these technologies, of the know-how of the workforce and know about the strategy a company pursues.

      Personally, I am a bit surprised that SAP customers stick to ABAP technology to such a high degree. Of course, ABAP and the ecosystem are evolving, but in my opinion it cannot keep up with all the other technologies.
      To be competitive in the long term, you have to be able to act quickly. This is (in my opinion) much better possible in the non-ABAP ecosystems Kubernetes and Cloud Foundry. In addition, you can get all the excellent architects and developers on board who have been working with these technologies outside the SAP world for years and successfully already implemented large-scale projects.

      Regards Helmut

      Author's profile photo Richie Feeney
      Richie Feeney

      Hi Radoslaw, ,

      I agree completely with your frustrations. I am currently trying to get familiar with developing in the BTP environment and even though some of the tutorials are very good(see learning.sap.com) I find like you the tutorials cover only very simple use cases.

      When I first joined SAP, I was working in the PDI area learning ABSL. As is now, the tutorials covered simple topics only. The difference I would say back then is there was a very active sap blog community posting Q&A and some very dedicated developers who wrote countless blogs to help share the knowledge they had gained. I also had a really experienced mentor who was invaluable to me gaining knowledge.

      I think the idea of building an active community is where we could all improve. Maybe SAP could even give people incentive's to write blogs and share the knowledge they have gained. #BuildBridgesNotSilos

      BR,

      Richie

      Author's profile photo Radoslaw Chudziak
      Radoslaw Chudziak
      Blog Post Author

      Does it mean, that you, working as an SAP employee, don't have access to BTP subject matter experts (within the company) to ask them questions? If it is true, and there is no knowledge sharing between SAP employees, then us, 3rd party developers can't count for better times!

      Author's profile photo Björn Harzer
      Björn Harzer

      wholeheartedly agree with a lot what is already said here. Although SAP makes great strides with getting their house in order (like learning.sap.com, api.sap.com, opensap etc.) there still seems a game of hide&seek.

      For me as a Functional/technical consultant i want to take the example for S/4HANA Cloud public edition for example where the community is actually a closed community and there is a restricted access. Why hide all that knowledge how to use SAP the best?

      And as commented elsewhere above, SAP should blog the real-life requirements and solutions here and more actively contribute and moderate blog.sap.com

      Thumbs up to all contributors here!

      Author's profile photo Venu Ravipati
      Venu Ravipati

      Some times the underlying technology stack of the systems drives what technologies we need to learn for enhancing business processes in these systems.

      For example, some things i can think of

      For S/4HANA (on-prem):

      ABAP + CDS,  Modelling, latest advancements in S/4HANA extensions, Fiori, SAPUI5 apps and extensions, CPI middleware

      SAP BTP:

      This has a world of services that caters to basically anything we can imagine

      • Data services like SAP data intelligence, BODS, CPI-DS, HANA Cloud, SDI
      • Integration like CPI, API Management, Open connectors
      • Workflows
      • IOT
      • RPA
      • Master data maintenance
      • ...just to say a few

      SAP has really done a great job in SAP BTP area to give comprehensive use cases and reference architectures to follow for implementing projects on SAP BTP. Below is a great resource.

      https://github.com/SAP-samples/

      From SAP, I would like to see the same on S/4HANA technology enhancements. It is good to have best practice implementations and reference projects using the latest technologies for some complex business use cases of what these latest technologies are capable of, what are the best practices SAP recommend, what are the limitations if any.

      Author's profile photo Rodrigo Ariel Giner de la Vega
      Rodrigo Ariel Giner de la Vega

      Honestly I don't see the point of RAP and even less ABAP Cloud.

      The main problem that SAP has right now is "Jack of all trades, master of none" they opened the door and released the kraken ! an uncontrollable beast.

      Advanced Business Application Programming (The idea was to have a high level programming language to focus at the business level and not so much technical)

      You have so many different things to do the same things, lots of services being deprecated and also even in different technologies because SAP buys products rename them and there you go... Like SAP C4C, SAP CAI or SAP iRPA... and now Appgyver.

      Instead of going rogue with RAP and ABAP Cloud I don't know why they didn't enhanced BSP. I mean when you deploy a SAPUI5 on premises it's even "like" a BSP, I know that I'm old school. But I really liked the BSP concept and use it kinda like PHP with ABAP code embedded, that is something clear and easy to understand as an ABAPer

      I'm really looking forward and hoping that Appgyver works well because I really hate "web development" and I think that low/no code could be work awesome with SAP.

      I'm just ranting

      Author's profile photo Helmut Tammen
      Helmut Tammen

      ABAP originally stood for "Allgemeiner Berichtsablauf Prozessor" what can be translated to "Unique Report Running Processor", nothing with business. It was just ment to create reports from database content.

      Author's profile photo Radoslaw Chudziak
      Radoslaw Chudziak
      Blog Post Author

      Yeah, unless AppGyver let's you build apps that look exactly like FIORI apps, it may not gain as much traction.

      Author's profile photo Helmut Tammen
      Helmut Tammen

      "I know that I'm old school ... that is something clear and easy to understand as an ABAPer"
      This is the point. Young developers and even a lot of older developers, like me, don't want to use ABAP. The time will come when you have retired. Then there must be also people who can develop business applications in SAP systems.
      Students are teached JAVA, Javascript, Python, ... but no ABAP.

      Author's profile photo Rodrigo Ariel Giner de la Vega
      Rodrigo Ariel Giner de la Vega

      The thing is that if you use JAVA, Javascript or Python why on earth would you use SAP BTP ? and also if the goal of SAP is to kill ABAP then just use CAP why bother creating RAP or ABAP for Cloud?

      For example, if you were a JavaScript developer why would you even care about SAP UI5? and as a company if I have a lot of good JavaScript developers don't you think it would better to choose a framework like React or Angular that are A LOT more mature and well know by the mayority of JavaScript developers ?

      I see your point but there are still companies using COBOL or even AS/400 so, yeahh eventually ABAP will die, regading the teaching subject the thing is that without a SAP system there is no point in using ABAP.

      The problem that I see is that SAP users still prefer SAP GUI over SAP Fiori Launchad and it breaks my heart but if I have to be honest the SAP Fiori Lanchpad UX design is awful.

       

      Author's profile photo Helmut Tammen
      Helmut Tammen

      Excuse me but there are some errors and some misunderstandings in your last post.

      1. JAVA, Javascript (Nodejs) and Python are first class citizens of SAP BTP. They were even there before ABAP came to the cloud.
      2. SAPUI5 is, in my eyes, more mature than React or Angular cause it is a HTML5 framework for business applications. Many features that need some effort in other frameworks come out of the box. Just to name two of them: I18N and accessibility.
        Furthermore SAPUI5 has more (in count) and more feature rich UI components that simply fit together than other frameworks.
      3. If your company has good HTML/Javascript developers who work with React, Angular, Vue, Svelte, ... go ahead and let them use it. That's what I ment with "young people want to use other technologies than ABAP or SAP technologies"
      4. I did not say ABAP will die, even though I would not be sad about it. ABAP will survive for another one, two or three decades at least but students who come from university are not very attrackted by it. Cause it will survive it needs evolution. That's the reason for RAP and Steampunk.
      5. Steampunk (ABAP in the cloud) is, as far as I know not comarable to Java, JS, Python, ... runtimes in the cloud. Steampunk runs a heavy ABAP runtime that uses a lot of resources. NodeJS or Python and even JAVA can run with much less memory and CPU. So several micro services can run side by side without exploding the costs and energy comsumption (to bring climate exchange into the discussion).
      6. In my perception users don't want to use SAP GUI. They want to use their smartphone for nearly everything. This is especially true for young people and managers. We should write software for the next generation not for the dinosaurs.
      7. Personally you may find Fiori apps awful, but the majority of users I know like it much more than SAP GUI. From the first day of using SAP GUI which was in 2000 I thought: "How can a comany offer such a UI to their customers and be successful with it?". I then understood that business processes were much more important to the customers than UX. But this is changing as more and more young people enter the business scene.
      Author's profile photo Kiran Kodre
      Kiran Kodre

      It's hard for SAP ecosystem as a whole to transition to open source. In old days you spent $2500 for a week for all important SAP learning courses. Your best option was an SAP manual from that training session. There were informal demo examples for how to do basic stuff in the system. But the core knowledge about architecture of the data dictionary or Function Modules that could manipulate them was all proprietary. Enhancing SAP application was primitive and Project managers discouraged and hence custom new solutions had to be built. SAP now owns the whole stack (Database + Application). SAP is also transitioning as a cloud company. At the same time there are these on premise SAP systems that are transitioning to hybrid cloud solutions. SAP's client (frontend) used to be a Windows based SAP GUI. Now it is the browser. That impacted the SDK environment as well SAP application. SAP also consolidated Analytical system technology into its transactional technology. Since now SAP also owns the database stack (HANA) it is pushing solutions at the database layer from the application layer. SAP is also delivering solutions to the Mobile client for both on Premise systems and Cloud systems. The result is a complete CHAOS as far as learning new technologies for SAP veterans consultants. Don't even get me started on the re-engineering of the ECC functionality with S4/HANA.

      An application that has undergone changes to it's database stack, application stack, infrastructure stack as well as functionality stack, puts a tremendous toll on veteran SAP consultants as far as learning is considered.

      SAP is also facing a new competition to it's existing supply chain solutions. The evolution of AI technology with it's earnings power tied to the CRM solutions for it's competitors is a growing threat. Sales and Order generation is being heavily influenced by AI technology.

      SAP should invent new type of training for technology consultants.

      The idea should be imagining scenario based training solution for technology consultants.

      For e.g a typical scenario could be how to convert legacy master data into SAP system. SAP's training should teach how to do that using best practice.

      Another scenario could be how to extend an existing SAP application screen for enhancing a data entry changes to resolve a custom functionality expectation.

      Another scenario could be how to process files as batch data processing for posting transactions into SAP.

      Another scenario could be how to process transaction as interface in near real time

      How to develop a custom report that can be delivered to a mobile client and a desktop client as one solution.

      How to build a custom transactional solution to gather data from an end user and integrate it with a SAP application Module. How to save data using best practice for locking tables before data can be saved.

      With a scenario specific learning approach new developers as well as existing experienced consultants can quickly adapt to latest technological changes that are happening at a rapid pace.

      Author's profile photo Jelena Perfiljeva
      Jelena Perfiljeva

      Thanks for writing this, Kiran! This is an excellent insight. I think your idea of "scenario-based" education is brilliant but, sadly, I doubt SAP will use it. From what I'm seeing, there is a strategic problem that the goals of SAP's supported education (such as openSAP or what's on Developers site) are just not the same as the learning goals of the actual SAP developers, especially the veterans.

      This problem always existed but I feel it got exacerbated in the recent years by de facto loss of SCN and reorganization of the SAP Mentor program.