Comments

SAP Netweaver AS ABAP powered by SAP HANA - Overview




So the future is Hana (and Fiori, SAPUI5 of course) but let us focus for a minute on SAP HANA because this really is the future of all core SAP systems. Well technically S/4HANA is, with HANA being the database and S/4 representing application side of the whole SAP system (i.e. SAP 4 Hana). The best way to think about Hana is to put it is the same context as the difference between SAP R/2 and SAP R/3. So we went from R/2 to R/3 and now to R/4 S/4.

SAP HANA on the ABAP stack is available from Netweaver 7.4 and will allow your standard ABAP code to take advantage of the performance improvements for HANA. Applications such as BW will also will also have access to this and be able to harness the power of HANA. There are also standard improvements out of the box for functionality such as ALV. In-order to take advantage of this functionality you need to upgrade your databases to SAP HANA, but note you do not have to do this in-order to go to Netweaver 7.4 and beyond.

Detecting where you can take advantage of SAP HANA
There will be new tools available to help you find how you can improve your ABAP performance based on the new platform. To be honest a lot a lot of the performance possibilities come from using techniques you should already be using such as replacing nested select and loop statements with inner join based select statements.

If you think about it this makes sense, HANA is an in memory database application so pushing as much processing to the database as possible will allow it to do what it does best selecting the data. As it is so fast you just have to ask for the specific data you want and you will get it in super quick time. No more getting data you don't need from other tables before you do the select you want just to hit another key field on that table. As well as these existing techniques SAP HANA is going to allow more standard open SQL statements so until you get your hands on this you could check out some of the possibilities available in this area and improve your general SQL knowledge.

HANA Modelling
Another technique that it sounds like will be available to the developer is HANA Modelling which allows you to kind of model a select to include the actual data selects and other calculations. So instead of writing ABAP to select data from a table and then loop around this data to perform further processing and totalling you could perform some of this within the model using sequel script. Then within you ABAP code you would just do the select from the model. This again moves some or all of the actual processing to the HANA database which will be able to get the data, processing it faster and olnly return what you actually want.

The New SE80 development environment
Now to the scary/interesting bit, ABAP development is moving from SE80 with your SAP environment to an all new eclipse based development platform. SE80 will still exist but any new HANA based functionality will only be available via this new development environment. This could be a really good thing for the ABAP world as I believe it will allow for better integration of other technologies alongside your ABAP code. It will also bring ABAP developers into the eclipse environment while still coding in a language they feel 100% comfortable with to help the transition.

To be honest from what I have seen the new platform looks good and also seems to show tips for optimizing your code for SAP HANA. I think there has been a general lack of take up of previous eclipse based development platforms within SAP but I don't believe this has ever been because of the platform itself. It is more that ABAP has always been a much better / more stable option for processing SAP data and knowledge of it is more widely known within the world of SAP.

I believe this new ABAP development platform is available to install from Netweaver 7.31 and there is also a trial version available from SAP.









sapdev logo background
sapdev logo sapdev logo


Can't find something on ERPWorkbench? A quick search should fix that: