A CodeJam has always been a challenge for participants. I learned this a few days ago when Ingo Bräuninger lectured at a Codejam event that took place on 10.05.2019, regarding the “ABAP Restful Programming Model”.
Ingo Bräuninger is an old hand in the SAP business and knows exactly how the old world is ticking and how the new world works. He makes that clear in an impressive way.
He always presents his topics in an entertaining way. During exercises and discussions he has an answer to all questions. If you ever have the opportunity to see Ingo holding a lecture then make sure you attend.
Old World – New World
With 20 years of SAP experience, I am also an old hand. The new world, though, needs getting used to. “New World” in this case means “Cloud”. There are many new features and changes in ABAP programming in cloud. The most important changes for me, or the ones that I understand, are:
– There is not an SAPGUI anymore.
– Alternative development environment is Eclipse.
– The cloud is always up to date.
– There are no more direct table accesses.
– The opportunities of intervening in SAP programs and processes become significantly less.
– There are many new techniques.
There is not an SAPGUI in the cloud anymore. Not at all. Nada. Niente. Nothing.
Everything you program is ultimately programmed as a backend service and as a rule , it then communicates with a Fiori-Application. This presents some disadvantages but as developers, we no longer call them disadvantages but changes:
It is not so easy to incur expenditure anymore. Previously, it was common practice to select data and output it in an ALV grid. As there is not an SAPGUI anymore, there is no longer an ALV grid. Although it is possible to output data to the Eclipse console it is not a substitute for the powerful ALV-Grid tool. As a programmer you get stuck as to how you can now check whether the selection and the determination of the additional information works as desired?
There will be, undeniably, development and deployment of new technologies such as web services, web authentication, Fiori and SAPUI5.
Eclipse as a new Development Environment
SAP has for long propagated the use of Eclipse as a programming environment. Many new features and conveniences in programming have already been usable in the old world only with Eclipse (see blog post of my colleagues Basti and Max: ABAP in Eclipse). There is not an SAPGUI in the cloud anymore. That’s why the development environment SE80 is no longer available. It is therefore imperative to use Eclipse. It is becoming clearer and more urgent: Those who have not yet switched to Eclipse (Installationsguide) should do so as soon as possible.
Ingo called the “old world” the largest open source project in the world. As SAP is not an open-source, you look at everything and hook up with your own code in order to tailor the system to your individual needs. Another common practice was to use every component that was suitable for one’s own programming. Both will be a thing of the past. SAP is focused on providing a stable and an up-to-date system. There will be an update every three months irrespectively whether the customer is ready or not. For this reason, there is a steadily growing white list of features that are released for use by SAP.
No SELECT anymore
The cloud solution no longer makes it possible to access SAP tables direct. SAP retains the right of not making data available via a table but through an interface. This interface provides the desired data. Access then takes place via ABAP Managed Database Procedures. This technique is also used on S4 / HANA systems.
The continuous improvement of the cloud product results in very restrictive use of SAP components, as well as customers’ previous use of user exit and customer function or BAdI (Business Add-in). As SAP needs to keep the functionality of the promised functions stable it follows that as a customer, you can no longer tamper with any X-anywhere. Previously, this was one of the strengths of an SAP system but at the same time, though it was also one of the weaknesses. It will be seen, how demanding customers who were used to being able to make profound changes are willing to adapt and manage.
I have been involved and working with SAP and ABAP since my apprenticeship. Apart from a few rudimentary HTML and PHP skills I have always strived for training in the SAP environment. Hopefully that will not cause me any mischief, as I often lack the understanding of the interaction of all the web components in new techniques. In addition to the Babylonian language confusion that has always prevailed in the SAP environment, there are now buzzwords from a wide variety of areas that go hand in hand with the topic of “cloud”. For many, it will probably be a rocky and bumpy road to the cloud.
However, I also see many things as very positive. In my view, an important point and fundamental requirement is that programmers as well as customers engage in the restrictive techniques. It has been the case that in SAPGUI you did not have much creative freedom. With the cloud strategy this is yet another step tighter, as many functions and manners are defined directly in the backend and are only interpreted by a uniform interface. The margin for bells and whistles is significantly lower or the effort and complexity is higher.
Learning and further education has always been part of the job profile of consultants and programmers and in this day and age even more. That’s why I am glad that my employer supports events such as CodeJam, ABAP CodeRetreat as well as SAP Inside Track. The CodeJam format offers anyone interested the opportunity to explore the new techniques and get in contact with experts and other interested parties.