Skip to Content

Yesterday during his SAP TechEd keynote Bjoern Goerke announced that an ABAP runtime will be available on the SAP Cloud platform. Currently, the available information is still quite sparse. There are two blog post by Florian Wahl that give a good overview over what is currently known

However, as there are some rather passionate ABAP folks in the SAP ecosystem there was immediately quite some noise regarding this announcement on social media. Some were not so sure what to think about the announcement:

Others immediately came up with a which list for the new ABAP on the SAP Cloud Platform.

After following these discussions and after reading Graham Robinson blog ABAP to the cloud I decided to also blog my thoughts about the announcement. This blog consist of two parts. The first part is what I think this announcement means for an ABAP developer with respect to what to learn. The second part is my wish list for the new cloud ABAP.

But first a disclaimer. Everything written below is only my speculation. So it is highly likely that everything ABAP on the SAP Cloud Platform will be different.

Resistance is futile

The most important result from this announcement is in my opinion that its now time for all the ABAP developers to learn a lot of new tools and technologies.

Its pretty clear form the announcement that SE80 will not be supported any more. Wether the future development environment will be ABAP in Eclipse or something like the SAP Web IDE doesn’t really matter. As SE80 will not be supported it is a good idea to start making yourself familiar with other IDEs right now. In addition ABAP developers should start to get used to more text based editors (like e.g. the text based DDIC structure editor in ABAP in eclipse). Form based editors like the ones in SE80 will become very rare.

The development model will be something very similar to the S/4HANA development model. Therefore, its time to learn about this programming model and the related technologies like BOPF and CDS. With respect to the UI it is time to start learning SAP Fiori and/or SAP UI5. There will be no SAP GUI UIs in ABAP on the Cloud Platform anymore. I’m pretty sure that SAP will provide some kind of AVL derivative to enable the simple generation of some tables based output. However, this will always be only usable for a few use cases. Everything more complex will most likely require the usage of Fiori or UI5.As the ABAP development on the SAP Cloud Platform will focus on smaller applications it is probably also useful for every ABAP developer to start to learn about Microservice architectures and how to build applications using microservices.

Finally, it is certainly useful to understand all the technologies and concept underlying the SAP Cloud Platform like cloudfoundry or kibana.

So in summary the announcement basically means that it is now time for ABAP developers to learn all these fancy “new” tools and technologies. Only developers that know these will be able to profit from the availability of ABAP on the SAP Cloud platform.

ABAP: Live long and prosper

So now to the second and fun part of the blog: My wish list for the future of ABAP. As ABAP will get rid of some of its burden (as now downward compatibility to before Star Trek II: The Wrath of Khan needs to be maintained) most of them should be easily to implement.

6. no CALL METHOD please

I would like to see that some of the old syntax elements like the verbose CALL METHOD. Instead ABAP should just support the class->method( ) style.

5. A Proper Package Concept

One thing that can really drive you nuts in ABAP is the missing of a proper package concept. And yes, I know there is a package concept and it has some nice features (cf. ABAP Package Concept Part 1). However, what I really want to have is a package concept were I need to explicitly import packages I want to use. Basically the way packages work in Java. This would, for example, allow to have different versions of a class with the same name and just use the one you want. Thereby we would get rid of the stupid cl*_1 cl*_2 or cl*_new naming of classes.

Oh and yes, we wouldn’t need to start all customer classes with a Z to distinguish them from SAP classes.

4. Class and Method Names

I hope that in the new ABAP there is no character limitation anymore for the naming of classes and method names.

3. Boolean please!

I really want to have a proper boolean data type in ABAP. I don’t want to write any abap_true or bap_false anymore.

2. REPL

If you have never used a REPL you should try and learn a language that provides one. Once you worked with a REPL you will miss it whenever it is not there. But as the new ABAP will not support writing small test report anymore (as reports will be not there at all) we desperately need a way to test small things out. There was already a ABAP console in the demo of ABAP on the Cloud Platform. So I guess it should be possible to extend it to a proper REPL. And the best thing would be to also integrate the REPL in the debugger.

1. Functional ABAP

And while the SAP is on it I’d really like to see some more functional features in ABAP. Why? Because I think it is in many cases a great way to implement certain functionality.

Engage

So that is my wish list. I would be interested to hear and discuss what you would like to see in the future ABAP on the Cloud Platform.

Christian

To report this post you need to login first.

11 Comments

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

  1. Glen Simpson

    Nice one!

    I love your wish list but I’d have them in a different order (purely because they are my biggest pain-points at the moment):
    1. A Proper Package Concept
    2. Longer Class and Method Names
    3. Functional ABAP
    … and then the rest in no particular order

    Just wondering about your number 6. “no CALL METHOD please”. Wouldn’t we would still need that for dynamic method calls ie. CALL METHOD (class)->(method) ? Or maybe that is no longer necessary if ABAP was a proper functional language with first-class functions/methods?

    Regards
    Glen

    (1) 
  2. Flavio Furlan

    Excelent list!

    I was reading and thinking about my list and what’s most important: REPL! Yeah! No, Package Management is the number one!!! But REPL… bah! I want all of them!

    Plus better version control… Yes, ABAPGit, I’m looking at you 😉

     

    (1) 
  3. Florian Henninger

    Why not just having the customer-namespace implicit added? I do not care about it and SAP can handle it just by the user-type..

    So if I’m logged on to search for “basis” it looks for (Z)BASIS(customer) and BASIS(SAP) in the result list:-)

    (1) 
  4. Peter Inotai

    Nice list!

    “Its pretty clear form the announcement that SE80 will not be supported any more”

    Interesting to read that. Last time I’ve used ADT it jumped for quite a lot of objects back to the SAPGUI. I wonder if ADT is now that far, that it can support every type of objects. I would be happy about it. I hope it’s not just not a stupid error message, that jumping to that type of object is not supported.

     

    (0) 
    1. Uwe Fetzer

      Packages, table types and database tables are not supported (yet). Everything else you need in your day to day work is already there.

      (1) 
  5. Raul Vides Mosquera Pumaricra

    The most important result from this announcement is in my opinion that its now time for all the ABAP developers to learn a lot of new tools and technologies.

    Yeah, the availability of ABAP in SCP is an opportunity for the abapers to know new tools and technologies and maybe become an Full Stack SAP Developer (ABAP + UI5 and Fiori).

    Regards!

    (0) 
  6. Jose Nunes

    You nailed it.

    And I hope to see some of the things from your list becoming true.

    Regarding the ABAPossaurs, well… IMHO, we do our best to spread the knowledge about best practices, development techniques that are well known outside ABAP world. If they can`t keep up the learning pace, bad luck for them.

    Regards,
    JN

    (0) 
  7. Rolf Paulsen

    …and all development objects are file-based and stored primarily on my file system versionable in git with any git client and deployable into the server.

    Deploy code, not transport. 

    Jenkins support.

    No editing of SAP tables as you have to do in BOPF, instead edit XML files.

    Lightweight one-purpose frameworks (e.g. for object persistence) except heavy frameworks that mix up technical and functional aspects.

    (1) 
    1. Christian Drumm Post author

      and all development objects are file-based and stored primarily on my file system

      That’s something I really would like to see as well. Everybody seems to be in favour of addinb ABAP to the WebIDE. In contrast to that I’d like to have a development environment that doesn’t require an complete app server. However, I guess this will never be happening….

      (1) 

Leave a Reply