ABAP in the 2020s – the new way to implement SAP applications
Software Engineers in the SAP ecosystem are about to RAP

ABAP in the 2020s – the new way to implement SAP applications

Although it might sound like an old-fashioned stereotype: Even nowadays, the classic software developer is a male nerd with few friends. He is saving his leisure time to do something useful – like creating some code in a windowless basement (see title image), while others waste their time meeting each other and going out. When coding, we often listen to music, which helps us to get into the tunnel and to stay focused. Most of us use rock or metal music, some listen to drum and bass, techno or even classic music. Nobody listens to rap music – the vast majority of us does not even know about its existence, since we’ve never been in those clubs where it is actually played. When someone asks us about rap, we have something completely different in mind – the new hot stuff by SAP, called the ABAP RESTful Application Programming Model, or in short RAP. However, before I go into detail about the new possibilities to fill our weekends, let me just give you a short overview, how it got to that point.

First announcements a few years ago

There are only a few rare situations, when we developers leave our familiar coding command center in the basement – one of them is the annual SAP TechEd. A few years ago, SAP announced S/4HANA and SAP Fiori, which definitely caught our maximum attention, as there are now ways to implement apps. Apps! No more full-blown business screens with 250+ fields, where no user in the world understands each feature of a single transaction. With the new look and feel, SAP also provided us developers with a set of tools to get those apps into the Fiori Launchpad of the user: The ABAP Programming Model for SAP Fiori …and the best thing: You don’t necessarily need a S/4HANA On-Premise system, it is already available within the Business Suite of your customer (if you have at least EHP 7).

God, we were so excited. So how could we get started? New development artifacts like ABAP CDS Views, Eclipse as the new IDE with its integrated ABAP Development Tools and SAP HANA as new in-memory database system. However, not everything was new. According to SAP, we should use an already existing framework (called BOPF) for transactional behavior. To implement our OData Services (for communication with the new apps) the Gateway Service Builder (SEGW) is already there. However, before you can use your service, you need another transaction to register it in the Front-End Server. In addition, to create the app itself, there is a separate browser-based tool called SAP WebIDE for the Front-End where you can even add JavaScript coding.

Getting started ... and getting disappointed

Highly motivated back from the crowded TechEd in our nice, small and silent cubbyholes, it’s time to get our fingers dirty with “the new way” to implement ABAP. We logged into our NetWeaver 7.40 (= ECC 6.0 EHP 7) systems and implemented our first CDS View quite fast. Next step was to add transactional business behavior, where we should use the new tool to maintain our business objects directly via Eclipse… and that’s where the frustration began.

In our first SAP Fiori customer project, we experienced that the announcement “you can already use it in your Business Suite system” had a big hitch and there was a lot of small print, nobody talked about at TechEd. To keep the story short, the majority of features was either not available (e.g. Draft-support or CDS Virtual Elements) or only achievable with painful workarounds (e.g. local annotations and maintenance/generation of business objects). So using the new tools of the ABAP Programming Model for Fiori on Business Suite is generally possible, but only with a lot of limitations.

However, even if you had the luxury of having your customer already on S/4HANA On-Premise, there is still this elephant in the room: If you have existing application code, the ABAP Programming Model for SAP Fiori does not officially support its integration in a smooth and easy way – therefore it is majorly only usable for Greenfield scenarios.

The RAP party begins

Over the last months and years of dealing with those issues, many of us developers got significantly frustrated, in rare cases even depressive. Some of our team switched their technology focus in the cloud direction (e.g. AWS or Azure), others decided to entirely give up and go for project management activities – only the core remained, hoping for a happy end… And we were rewarded for our patience starting at the end of 2019.

SAP took our desperate feedback and listened to their internal developers as well. They decided that the ABAP Programming Model for Fiori was a good start. However, it is not the end-to-end experience a developer needs to efficiently implement Fiori Apps with ABAP. Therefore, they developed a new evolutionary direction by releasing a first version of the ABAP RESTful Application Programming Model with S/4HANA 1909.

The development flow is smooth and fully integrated within Eclipse. There is no need to jump between different SAP GUI transactions (or even IDEs). Direct activation of OData Services and the ability to verify your result within a generated Fiori UI by just one click.

The majority of us did not like BOPF in the past – SAP also replaced this framework by new development objects to define the behavior of the data. No more untyped BOPF signatures; you can finally code against concrete structures, which you implicitly define by your CDS Views. Already our first prototypes were serious fun.

But the best thing are the two flavors of RAP. On the one hand, the managed version, where the framework manages a lot of stuff for you, considering the orchestration of processing steps and operations of create, update and delete. On the other hand the unmanaged scenario, which has been prayed for, to support Brownfield scenarios, where we can integrate our existing application coding by light-weight adaptors. 

The future is near and you don’t want to miss it

We have to admit that not everything that glitters is gold (at least not yet). Release 1909 provided a first version of RAP. Several features (including the managed scenario) are not available yet. Nevertheless, we expect a lot for this year’s September release, especially when we check the already provided RAP features within the SAP Cloud Platform. And we are pretty sure, that with this release SAP will start to officially talk about the ABAP RESTful Programming Model as the new state-of-the-art way and best practice to implement Fiori Applications in productive scenarios. According to Marcel Hermanns at DSAG Developer Days 2020 (SAP’s godfather of business objects and Fiori development with ABAP) not each complex scenario can be tackled with RAP yet (and probably also not with this year's release in September), but they are working very hard to move things forward. He says they want to create an excellent framework in ABAP to implement business objects along Fiori Apps, which “last over a lot of years and even decades”. Against all skepticism (which has grown in recent years) that sounds very promising.

To save our already done investments, SAP additionally announced a smooth transition/migration of our existing business objects with the ABAP Programming Model for Fiori to RAP – however this won’t be included in this year’s release and has been postponed to next year (Boris Gebhardt, DSAG Developer Days 2020).

Finally yet importantly, there is something else to look forward. SAP has been finalizing their Beta Program of Fiori Tools. This significantly supports the developer in the Front-End during his work with Fiori Elements. A new command line based possibility of guided development makes it easy to accomplish common tasks. The developer simply requests a feature by asking a question (e.g. how can I enable Excel Export for my table?) and the system provides a comfortable solution from a preconfigured set of possibilities. So it looks like there will be less try-and-error of undocumented features in the future. Furthermore, a lot of missing features from WebIDE are overcome, e.g. a graphical visualization of the OData Service’s entities or code completion within the XML annotation file. Fiori Tools is integrated within the Business Application Studio and via plug-in for Visual Studio Code and it is already available since July. Next Monday, the Beta Program for the usage of OData v4 in Fiori Elements and Fiori Tools will be launched, which runs until October; so there is reasonable hope to expect an official release of Fiori Tools with OData v4 as a Christmas present this year.

Final words…

Thank a lot, SAP. To stay at the cutting edge, we again have a lot of possibilities to learn and improve our knowledge and know-how. A very good reason to spend the upcoming weekends in our windowless basements with RAP – …just in case someone would ask what developers are doing in our leisure time.  

Imtiaz Ahmed

Senior Consultant at SABIC

3y

Thanks for valuable inputs ,Abapers are Rapping and Rocking now for a new future.

Jacek W

Coding and designing in the SAP ecosystem, rockin' BTP 🤔💡➡️☕👨💻 jacekw.dev

3y

Oh no, don't kill BOPF!!! just kidding, burn it to ashes.

To view or add a comment, sign in

Insights from the community

Others also viewed

Explore topics