Skip to Content
Author's profile photo Jens Weiler

ABAP for HANA and “Code Push-Down”

With the brand new NW AS ABAP 7.4 SP5 we are adding a new possibility for ABAP Developers to leverage HANA capabilities ( New ABAP for HANA features in SAP NW 7.4 SP5 ).

 

The whole ABAP for HANA story began last year with our first release of NW AS ABAP 7.4 introducing a new coding paradigm (at least for ABAP): “code pushdown”.

/wp-content/uploads/2014/02/codepushdown_377306.png

 

So what does this mean?

Code pushdown means delegating data intense calculations to the database layer. It does not mean push ALL calculations to the database, but only those that make sense. An easy example is if you want to calculate the amount of all positions of invoices. You should not select all positions of those invoices and calculate the sum in a loop. This can be easily done by using an aggregation function (here SUM()) on the database.

 

However, pre ABAP 7.4 releases only provided very limited support for such an approach. In the 7.4 SP2 release we did our first step to overcome this limitation. We introduced new ABAP artifacts to consume HANA views and procedures in ABAP: The “Bottom-Up approach”.

 

/wp-content/uploads/2014/02/bottomup_377307.png

Only use this in needed cases

 

Sounds perfect? Yes, but unfortunately it has some drawbacks. First of all, as a developer, you have to work in both worlds (HANA and ABAP). This requires a database user, which alone is quiet tricky in some enterprise environments. You also have to keep the HANA and ABAP artifacts in sync and take care of the lifecycle management.

 

With the new SP5 release we are taking the next step to enabling code pushdown with ABAP for SAP HANA: The “Top-Down approach”. It is based on your feedback and our own experience using ABAP for SAP HANA. It enables developers to continue working in their ABAP environment and still have similar possibilities to leverage the power of SAP HANA.

 

/wp-content/uploads/2014/02/topdown_377308.png

Recommended approach

 

This approach comes with a huge bag of goodies, like writing SQL Script or being able to create database views with new join and aggregation capabilities directly in ABAP. We will describe these features in detail in more blogs that will follow soon.

 

By the way: this does not mean you do not need the Bottom-Up approach anymore. There are still special cases which you won’t be able to tackle with these new “Top-down”-features. But we are continuing to enrich the ABAP possibilities with every SP. Stay tuned.

 

If you are interested in those new features there is are already great videos available in our YouTube Channel: ABAP for SAP HANA – YouTube

 

Cheers

 

Jens

Assigned Tags

      14 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Abdul Hakim
      Abdul Hakim

      Jens - Thanks for sharing this info with the ABAP Community..Glad to know that ABAP is getting better in every release..Just a thought..is there any plan to come up with "Open SQLScript" similar to "Open SQL" so that the SQLScript also will be database independent..

      Thanks

      Hakim

      Author's profile photo Jens Weiler
      Jens Weiler
      Blog Post Author

      Hi Abdul,

      valid question, but sorry: at the moment we have no activities planned in this direction. Current focus is to get the best out of ABAP and HANA and there is still a lot to do for us.

      Cheers

      Jens

      Author's profile photo Abdul Hakim
      Abdul Hakim

      Thanks for the clarification.

      Author's profile photo Vikas Singh
      Vikas Singh

      Thanks - very useful post. CDS and AMDP definitely make things easier as getting the dB user is not easy sometimes.

      Author's profile photo Yogesh Vijay
      Yogesh Vijay

      Very useful post. Thanks Jens Weiler

      Author's profile photo Hyuk Joo Lee
      Hyuk Joo Lee

      Thanks - very useful and helpful post, 🙂

      BTW, can I get some explicit special cases regarding what you mentioned?

      By the way: this does not mean you do not need the Bottom-Up approach anymore. There are still special cases which you won't be able to tackle with these new "Top-down"-features.

      Cause, I know why I should use CDS View and AMDP, but I'm not sure why we still have to use Bottom-Up approach... although it is drawbacks...

      Thank you in advance,

      BR

      Hyukjoo

      Author's profile photo Jasmin Gruschke
      Jasmin Gruschke

      Hi Hyukjoo,
      you should in almost all cases prefer the top-down approach. What Jens refers to by "special cases" are e.g. cases where you have an SAP-delivered (or partner-deliverd) database procedure or column view, which you would like to consume. In such a case, you might just wrap the delivered content with an external view / database procedure proxy. Or you might be in the unlucky situation to "just have ABAP 7.4 SP2 at hand", which does not include AMDPs and only limited capabilities in CDS views.

      But to repeat the above advice, you should stick to the top-down approach and only use in special (rare) cases the bottom-up approach.

      Cheers,

        Jasmin

      Author's profile photo Hyuk Joo Lee
      Hyuk Joo Lee

      Thanks a lot Jasmin,

      Now I'm very clear on this topic~!

      BR,

      Hyukjoo

      Author's profile photo Shakul Jugran
      Shakul Jugran

      Thanks for another useful post, Jens 🙂

      Author's profile photo Former Member
      Former Member

      Really a helpful information .. Thank you Jens.. 🙂
      Looking forward to have such quality post in coming days.. 🙂

      Author's profile photo Apoorv Sirohi
      Apoorv Sirohi

      So much informative... Thanks for sharing 🙂

      Author's profile photo Prince JOSHI
      Prince JOSHI

      Nice Blog.

      Could you please explain a little bit when to go for ADVANCE OPEN SQL(ABAP 7.4 or ABAP 7.5) instead of ABAP CDS?

      Also, little more about SQL script?

      Author's profile photo Ramesh Vodela
      Ramesh Vodela

      I have looked at some of your Teched sessions such as SH109 and SH140  - is there any chance that I can access the demo code -

      Thanks

      Ramesh

      Author's profile photo Manish Gupta
      Manish Gupta

      Hi Jens,

      Are there any guidelines available which can help in decision making on when to do code push down and when to use open SQL?

      I am asking it specifically with regards to Open SQL and AMDP.