First of all I wish you all a Happy New Year!
A lot has been said and done around the topic ABAP Development for SAP HANA in 2014 (openSAP Course, CodeJam events, SAP TechEd && d-code, …). The session DEV201 (Overview of ABAP 7.4 Development for SAP HANA) exactly covered that topic at SAP TechEd && d-code 2014 in Las Vegas and Berlin. I would like to use this blog series to compile the session and also to refer to some interesting SCN blogs and documents available on the topic.
The blog series comprises three posts:
- DEV201@TechEd 2014 Part 1: Introduction into ABAP 7.4 Development for SAP HANA (current blog)
- DEV201@TechEd 2014 Part 2: Detect your custom ABAP code to be adapted
- DEV201@TechEd 2014 Part 3: Optimize your custom ABAP code
So let’s start…
Introduction to the ABAP Development for SAP HANA
About SAP NetWeaver 7.4
When we talk about ABAP developments for SAP HANA, then we’re talking about SAP NetWeaver 7.4 (and beyond) which is the follow-up compatible release of SAP NetWeaver 7.03/7.31 and runs on SAP HANA and on all classical databases. It is generally available since May 2013 and Service Release 2 was released to customers in September 2014 with Support Package 8. In the meantime, AS ABAP 7.4 Support Package 9 has also been released.
Just to name a few features contained in AS ABAP 7.4:
- High user experience with built-in SAPUI5 and SAP Gateway capabilities
- Easy mobile access and mobile applications development
- More declarative and functional ABAP languages
- Broader coverage of the SQL standard by Open SQL
- Advanced view building with ABAP Core Data Services
- ABAP-managed database procedures
- Real-time eventing using the ABAP Channels
- End-to-end developer experience in Eclipse
The 3 essential ingredients in the context of ABAP developments for SAP HANA are (of course) the SAP HANA platform, the “Code-to-Data” programming paradigm in ABAP and the Eclipse development platform.
SAP HANA – The Game Changer
SAP HANA is first of all a fully-fledged relational database management system, but as you already know it is more than just another database. Its special architecture (in-memory computing, columnar and row-based store, multi-core CPUs, …) allows the convergence of OLTP and OLAP by processing huge volume of transactional and analytical data at an extreme speed on the same store (one source of truth). SAP HANA also provides specialized engines and application libraries such as predictive analysis and text mining and search.
In a succinct manner: SAP HANA takes advantage of the latest technology developments and changed the way of developing and executing applications. For example in most of the cases, materialized aggregates and indices are no longer needed. This results in less data redundancy, less data models complexity and the related coding become simpler.Read the blog SAP HANA explained – Again by Graham Robinson.
“Code-to-Data” – The programming paradigm shift in ABAP
Till now we’ve been developing ABAP applications using the so-called “Data-to-Code“ paradigm where data is fetched from the database, then stored in internal tables and processed (e.g. aggregated) in the application server. With SAP HANA, the “Code-to-Data” paradigm is recommended. Here we are asked to delegate data-intensive processing to the database and only transfer the computed results to the application server – well, the database is no longer the bottleneck.
This approach allows us to fully leverage the power of SAP HANA in our applications and at the same time to significantly reduce the network load the server footprint.
Kill (more than) two birds with one stone! 🙂
The “Code-to-Data” paradigm – powered by SAP HANA – impacts the well-known performance guidelines for efficient Open SQL Programming, aka “5 Golden Rules”, which have been out there for a while now. These rules are still valid, but there is a shift in their priorities. Read the blog Performance Guidelines for ABAP Development on the SAP HANA Database by Eric Westenberger.
Eclipse as the Integrated Development Environment
Eclipse is SAP’s strategic platform for integrated development environment. It provides an excellent and uniform developer experience across different languages. Various SAP development tools are already available for Eclipse – e.g. SAP HANA, Cloud, BW, Gateway and ABAP with the ABAP Development Tools for SAP NetWeaver (aka ABAP in Eclipse).
The ABAP development tools for eclipse are mandatory when it comes to full support of ABAP developments for SAP HANA.
How can your custom ABAP code benefits from SAP HANA?
In the context of the ABAP development for SAP HANA, there are mainly 3 categories of deliveries provided (together) with SAP NetWeaver 7.4.
- The so-called transparent optimizations which don’t require any action from developers. For example, the table buffer enhancements in the database interface and fast data access protocols improving the communication between ABAP and SAP HANA. Thus, a well-written ABAP code (according to the performance guidelines) automatically runs faster on SAP HANA, especially if it has a high database processing time.
- The advanced quality assurance tooling and new programming capabilities.
- Last but not least, the best practices and guidelines, but also how-tos and demo applications such as the Open Items Analysis Reference Scenarios which is part of the standard AS ABAP 7.4 delivery as of support package 2.
So that was it for the introduction. Looking for the next post of the series? Here you go: DEV201@TechEd 2014 Part 2: Detect your custom ABAP code to be adapted