Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
schneidertho
Advisor
Advisor

Two weeks ago, I came home from SAP TechEd. And just like in 2012 I gave a lecture about ABAP for SAP HANA.

I know that not everybody interested in the topic could make it to Vegas or Amsterdam... Or will be able to make it to Bangalore. Hence I decided to summarize what I talked about this year's SAP TechEd. I decided to write three blogs outlining some of the key takeaways and I hope that some of you enjoy reading it:

I guess all of you heard about the 'code pushdown' paradigm, which tells us to move complex and expensive calculations from the application to the database layer to benefit from the in-memory technology (if you don't know what I am talking about, take a look at this blog). With ABAP 7.4 we started a journey to simplify code pushdown within ABAP-based applications.

ABAP 7.4, support package 2: birth of SAP HANA content integration

Starting with ABAP 7.4, support package 2 you can use SAP HANA content integration to consume SAP HANA database artifacts in ABAP. I refer to it as a 'bottom-UP' approach, which allows you to:

  • FIRST create views and database procedures in SAP HANA (i.e. via the SAP HANA Studio)
  • THEN make them available in ABAP by means of proxy objects. The three types of proxy objects currently supported are:
    • External views (allowing the consumption of attribute views, analytic views and calculation views through Open SQL)
    • Database procedure proxies (allowing to easily call database procedures from ABAP)
    • HANA transport containers (linking a delivery unit to an ABAP transport request and ensuring a consistent lifecycle management when using the two other types of proxies)
  • AND LAST BUT NOT LEAST use the database artifacts through their proxies

The SAP HANA content integration made it possible for ABAP developers to easily consume the most important SAP HANA artifacts (views and database procedures). However, the content is not natively managed by ABAP, which has several drawbacks especially for integrated applications.


ABAP 7.4, next support package: the rise of advanced ABAP database programming

For many years ABAP developers were used to write programs solely using the development environment of the application server. With SAP HANA content integration they need(ed) to partly leave the ABAP environment. They need(ed) to work with the SAP HANA Studio and with an own database user.I don't say that working with the SAP HANA Studio does not make sense (e.g. to write native applications based on XS). I just say it is unusual for the ABAP community.

Therefore we twisted our brains and we came up with ideas to minimize the need for ABAP developers to leave ABAP development environment. That was the birth of advanced ABAP database programming. This is a 'top-DOWN' approach. It mainly consists of three new features:

  • Advanced Open SQL (which enriches the feature set of Open SQL to support more SQL-92 features and thereby allows to push down calculations to the database layer that could not be pushed down by means of Open SQL in the past)
  • Advanced view building (similar to advanced Open SQL; in addition it is supposed to simplify the consumption of relational data models)
  • ABAP-managed database procedures (which allow to write SQLScript embedded into ABAP methods)


With advanced ABAP database programming ABAP developers work with the ABAP development tools in Eclipse. When needed, they can implement complex and expensive calculations with SQLScript, but (in contrast to the past) tightly integrated into ABAP.

If you like to know more, stay tuned. In the next blog I will explain in detail what advanced ABAP database programming offers. And you will hear why advanced ABAP database programming should be your PREFERRED approach when pushing calculations from ABAP to the database layer.

1 Comment