Skip to Content

I had the privilege of attending SAP TechEd in Las Vegas last week as part of the SAP Bloggers Program.

In the keynote Bernd Leukert announced that the SAP Cloud Platform ABAP Environment was Generally Available. When you say it like that it seems like an impenetrable wall of SAPanese – but the announcement was still greeted with spontaneous applause from the audience. ūüėČ

In the Developers Playground area, where attendees could do a series of tutorials on the latest SAP developer tools with expert help readily at hand, the SCP ABAP tutorials were the most popular and also achieved top spot of the scoreboard of completed tutorials.

Attendees were also invited to wear a badge that represented their programing language of choice. The ABAP badges disappeared at a significantly greater rate than other little know languages like JavaScript, Java and C.

There is considerable excitement and interest in the ABAP move to the cloud Рbut I want to focus here on some other things that interested me regarding the Steampunk project..

Note: Steampunk is the secret internal code name for SAP Cloud Platform ABAP Environment. Don’t tell anyone. ūüėČ

SAP’s custodianship of ABAP has ebbed and flowed over the years.

In the 1990’s SAP were all-in on ABAP and we saw the language grow and evolve with each succeeding release. But in the early-2000’s, as SAP started to broaden their portfolio, other languages grabbed their attention and – in my opinion – SAP left ABAP a little unloved. Maybe they thought it was “done”.

The move to S4/HANA and the cloud would have seen SAP reevaluate everything they do Рand how they do it Рso I imagine there would have been intense discussions about whether to build a completely new ERP for the cloud or to take their existing ERP solution and make it cloud-ready. I can see arguments for suggesting they did both Рbut once they chose to build S4/HANA in ABAP  they simultaneously committed to ABAP for the long-term.

In recent times SAP have started to pay more attention to ABAP and we have seen the language start to evolve. Up until now I have only really seen enhancements that help me streamline syntax. Things like inline declarations, chained method calls, string templates and functions, constructor expressions, etc. are all well and good but in the main they have not enhanced what we can do with ABAP Рonly how we do it.

But with the SCP ABAP Environment we get to see where ABAP and ABAP tooling is going – and we get to see it much earlier than we are used to because in the cloud SAP can deliver innovations quicker and more regularly. Because the SCP ABAP Environment is a subset of the ABAP platform – i.e. all ABAP platforms use the same code line – we can look forward to seeing these innovations in our familiar on-premise ABAP as well. They will just take a little longer to get there.

For example, an enhancement to the ABAP in Eclipse tooling is that you can now open a service in a Fiori Elements App directly from the development tools to test it. Previously every SAP tutorial on building an oData service ended with a multi-step process of firing up WebIDE, creating a Fiori App from a given template, using a wizard to link said template into the oData service, nominate the entity of interest, select what properties you are interested in and where to display them, blah blah blah, deploy app and finally run app to see your data. Whew!

Now it is right-click “Open Preview for Fiori Elements App”.

In the same way the SCP ABAP Environment shows us how the ABAP language is evolving too – and it is something of a departure from what we have seen previously.

Think about how you currently do BOPF, persistent objects, even NetWeaver Gateway services? You essentially fire up a wizard, fill in some forms, hit “Go” and it generates a whole lot of framework code that you then are able to call in a prescribed way. In some cases you can enhance the code but if you want to change things a bit too much you need to go back and regenerate everything using the wizard again. We can argue the toss over how good it is to have all this code generated for us – I don’t like it – but a fundamental issue here is that the code generated is the same old ABAP we could have hand coded ourselves if we had the time and inclination.

These wizards are more a developer productivity aid rather than any enhancement of the ABAP language itself.

The recently announced ABAP RESTful Programming Model (RAP) is a departure from this concept. Rather than have a wizard generate ABAP code the features that RAP uses are built into the language itself.

Specifically RAP introduces a new Behaviour concept that is implemented directly in the ABAP language with corresponding new syntax.

*Source SAP TechEd 2018 CNA216 РA Technical Deep Dive into the ABAP RESTful Programming Model

In the ABAP Developer Tools you can attach behaviours to a CDS view.

You can then code those behaviours using new ABAP syntax such as ..

    METHODS modify FOR BEHAVIOR IMPORTING
      roots_to_create    FOR CREATE booking
      roots_to_update    FOR UPDATE booking
      roots_to_delete    FOR DELETE booking.

 

You can see more detail about this example in this SCP ABAP Environment tutorial on Adding Transactional Behavior to Your CDS View.

For me this is best thing about SAP’s recommitment to the ABAP language and its’ subsequent movement into the cloud. SAP now have the motivation to invest in the language and make it a better toolset for all ABAP developers – not just those in the cloud environment.

And the SCP ABAP Environment gives us the earliest possible look at these innovations as they are released without having to wait for them to filter down to our on-premise ERP system.

To report this post you need to login first.

11 Comments

You must be Logged on to comment or reply to a post.

  1. Mike Doyle

    I went to a couple of sessions on the RAP (Restful ABAP Programming Model) at Tech Ed and I came away impressed.¬† One thing it does is answer the ‘Why?’ question with regard to the SAP Cloud Platform ABAP environment.¬† One use case is clearly for ABAP developers to rapidly develop OData services.

    It’s interesting to note the conceptual similarities with the Cloud Platform Application Programming Model (or CAP).¬† It too uses the behaviour extension of CDS (Core Data Services) but the services are implemented in Java or Node.js.¬† Will ABAP developers familiar with the RAP go on to use the CAP?

    Where I struggle to share the vision is with the tooling.¬† Of course every speaker at Tech Ed used only Eclipse (a.k.a. AiE or ADT) in their demos.¬† Yet when they asked how many attendees were using Eclipse only a few hands went up.¬† I’ve started using it myself, but I’m yet to really feel at home.¬† In my head I ‘know’ it’s the future but my heart disagrees.

    We’re told that the RAP has been build to stay relevant for the coming decade(s) but I’m not sure we can say the same about ADT.¬† I’d be interested to know your thoughts, Graham Robinson

     

     

    (1) 
    1. Scott Lawton

      I’ve been using ADT for a little over a year now. It takes a couple weeks to get used to the differences from SE80, but once you adjust, I think it’s clearly a superior IDE. The Quick Assist tool (Ctrl+1) alone is worth the switch, plus there are a number of other significant improvements over SE80. If you still do much development in classic dynpros then you’ll still need to jump back to SE80 (or open SE80 in an embedded GUI window within ADT) to access the screen painter, but for most development, ADT is definitely the way to go.

      There are also some things that can only be coded in ADT (e.g. CDS views); that, combined with the fact that no new features or bug fixes are being developed for SE80, makes me think that ADT really does have some staying power.

      (1) 
  2. Jason Scott

    This looks great: RAP and CAP but I fear it will be many years before I see customers using sap cloud and abap in the cloud. By which time we‚Äôll have different programming models…. ¬†ūüėČ

    Did you hear of any timelines for the RAP and onpremise systems??

     

    (1) 
    1. Sebastian Freilinger-Huber

      According to my knowledge it is planned for 2019 but not confirmed. As a transition for currently built  business objects (FIORI programming model) to RAP seems to be planned for 2020, it should not be too far in the future. Hopefully!

      (1) 
  3. Douglas Cezar Kuchler

    Thank you for this great blog and for sharing your experience at SAP TechED LV.

     

    I think that ABAP in the cloud will ease the way for companies who want to accelerate their way to the cloud while also leveraging its ABAP¬†developers’ experience. It will surely enable them to be more agile if they want.

     

    I know big companies sometimes are slow movers as the above comment states but in our increasingly digital world, they are being forced to think again about being faster. It is good to see SAP supporting that.

     

    Cheers,

    Douglas

    (1) 
  4. Alexander Tsybulsky

    Cannot stop from being a bit sarcastic …

    “… ABAP badges disappeared at a significantly greater rate than other LITTLE KNOWN LANGUAGES like JavaScript, Java and C” … mmmm ?!?!

    ABAP Restful model … Save investments, integration planned for 2020 … mmmm … from wikipedia about REST – “…The term representational state transfer was introduced and defined in 2000…” … Yeah ! Nice !

    No, I do agree that the platform is evolving, there are many cool recent improvement indeed, it is getting better, I just don’t understand so much celebration about catching up some of 10-20 year old technologies. This sarcasm is not towards this post or author but rather to general presentation approach of sap.

    And, yeah, just not to forget. If I remember well trial of SCP ABAP costs 6400 EUR per month if I understood well. Very affordable for any community member of course ūüôā

    Sorry, maybe I’m just in a bad mood today … just ignore if something wrong.

    (1) 

Leave a Reply