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.
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 are complete, hence you have to go through material from all these different learning platforms and connect the dots. But even then, you find out this is not enough and you are 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, 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 was 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 talks 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 it out how to do it then it becomes really easy. The pain here lies in finding the 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 in Github, prociding 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?