(1st part of SAP TechEd recap blog)
SAP TechEd 2012 is over. As announced by Eric Westenberger in his blog, attendees of SAP’s premier technical conference this year, amongst other things, have been able to hear about the impact of in-memory database technology on ABAP development. We have conducted a couple of lectures and hands-on sessions to explain to customers and partners how they can make use of SAP HANA from ABAP already today as well as how we plan to facilitate the integration between ABAP and SAP HANA in the future.
The ABAP for SAP HANA related sessions have been very well attended. Due to the great interest, Eric and I have decided to create a series of blogs based on questions we have dealt with during TEC106 and CD202. The blogs are supposed to pick up thoughts other SCN members – like Thorsten Franz or Tobias Trapp – have already compiled related to ABAP for SAP HANA and to complement these by ours (including some insights we have due to our daily work in SAP NetWeaver product management).
For the time being, we will focus to echo what we have explained during CD202:
- SAP TechEd 2012 – ABAP for SAP HANA: overview (this post)
- SAP TechEd 2012 – ABAP for SAP HANA: what the heck is code pushdown?
- SAP TechEd 2012 – ABAP for SAP HANA: the database is not a black box anymore
- SAP TechEd 2012 – ABAP for SAP HANA: how to exploit the power of SAP HANA?
Well… why do we need ABAP for SAP HANA in the first place?
From my perspective the answer is quite simple: … today the cornerstone of business processes and related business data are ABAP-based systems (at least as far as business processes covered by SAP’s software portfolio are concerned).
Oftentimes we therefore need to combine the new possibilities brought to us by innovations in the areas of in-memory database technology, cloud computing or mobility with existing business applications based on ABAP technology (especially the SAP Business Suite). And hence we look for ways to extend SAP NetWeaver AS ABAP towards new technologies.
Philip Kisloff recently employed a very nice metaphor to describe what I am driving at in his blog ‘The three ages of SAP’. Philip spoke about an atom. He compared the SAP Business Suite (and other on-premise software) with the nucleus and new technologies (specifically in-memory database technology, cloud, mobility) with the electrons orbiting the nucleus. In addition to what Philip wrote, one could say: just like the nucleus binds the electrons by electromagnetic fore, the SAP Business Suite (and the ABAP technology) binds new technologies by rich business data residing in the underlying database.
SAP HANA allows us to develop completely new business applications (even completely new types of business applications). These applications can be developed with miscellaneous technologies. ABAP is only one of them. But SAP HANA also allows us to optimize existing business applications like the SAP Business Suite (and building on that customer and partner solutions). If these applications are ABAP-based, it is logical to optimize them with ABAP technology (and wherever this is not sufficient, to tightly integrate ABAP with modeling and scripting options of SAP HANA).
Consequently ABAP for SAP HANA is of relevance for all customers and partners (and, of course, for SAP itself) that have developed with ABAP in the past. ABAP for SAP HANA allows them to build on their ABAP code base and their ABAP skills while optimizing existing business applications. And it also gives them the opportunity to development completely new (types of) business applications.
Stepwise enablement of ABAP for SAP HANA
To be honest, ABAP for SAP HANA is not completely new. We have already started more than 1.5 years ago to enable SAP NetWeaver AS ABAP for the in-memory database technology. I do not want to go into details, since our approach has already been described at length elsewhere.
In a nutshell:
- First we have made it possible to access SAP HANA as secondary database from any SAP NetWeaver AS ABAP 7.X (assuming that SAP Kernel 7.20 as well as the database specific library and client software for SAP HANA are installed on the application server).
- In a second step we have released a first ABAP-based application to run on SAP HANA as primary database: SAP NetWeaver BW. This is based on SAP NetWeaver AS ABAP 7.3.
- To further facilitate the integration between ABAP and SAP HANA, we now work on a new release of our application server: SAP NetWeaver AS ABAP 7.4.
In conjunction with this new release you should know two things in particular:
- It is planned that SAP NetWeaver AS ABAP 7.4 becomes the “go-to” release for ABAP development on SAP HANA. SAP NetWeaver Business Warehouse as well as SAP Business Suite intend to use the release 7.4 in the future (the release of SAP CRM powered by SAP HANA has been announced during SAPPHIRE, other SAP Business Suite applications have not yet been released for the SAP HANA database).
- SAP NetWeaver AS ABAP 7.4 technically speaking is an enhancement package. Our aspiration is to allow customers and partners to port their ABAP code base (e.g. as part of an SAP ERP migration) to SAP HANA in a non-disruptive way. Their code continues to run on SAP HANA and they can step by step optimize it for SAP HANA (prioritizing optimizations based on the business value they bring).
Possibilities SAP HANA offers to ABAP (custom) development
Obviously the in-memory database technology, first of all, allows existing ABAP programs to run faster than on traditional databases (i.e. you can accelerate them). Imagine that a given batch job (e.g. for overhead costing) needed only thirty minutes instead of five hours. That could reduce the time window necessary for period-end closing and support a ‘fast close’. Or imagine that the response time of a given dialog transaction (e.g. scheduling of a complex project) would be three seconds instead of one minute. That could make it much easier for the end-user to simulate different possibilities to respond to a delay in a project.
But SAP HANA is not only about performance. You can also refactor and extend existing ABAP programs based on the in-memory database technology to add features, improve usability and address more users. Imagine that you were able to reduce the runtime of a given batch job (e.g. for material requirements planning) from five hours to three seconds. Suddenly material requirements planning would not have to be a batch job anymore. You could make it available as highly interactive dialog transaction. Or imagine that you could provide a ‘google-like’ fault-tolerant search (e.g. for customer or product master data) to the end-user. That would make daily work much easier for him (when you compare the possibility with ‘traditional’ SAP search helps).
Last not least, SAP HANA allows you to implement new consumption channels and processes (for existing business applications) as well as completely new business applications that nobody could even imagine in the past due to the restrictions of traditional database technology. New business applications – as mentioned earlier in this blog – do not have to be developed with ABAP. In fact you have a couple of options (read Michael Bechauf‘s blog ‘Native HANA apps, language containers and HANA cloud’ (2 parts), Thorsten Franz‘s blog ‘Architecture alternatives for transactional HANA applications’ or Thomas Jung‘s blog ‘SAP HANA Extended Application Services’ to get some background information). But especially if you have already developed with ABAP in the past, combining ABAP and SAP HANA (the ‘best of both worlds’ as a colleague of mine has put it lately) to build something completely new can be a good idea.
The impact on the ABAPer
Next I want to write about the concrete impact SAP HANA has on the ABAPer. There have been many rumors around this question. You can read my point of view in the second blog.