ABAP and the Cloud
Introducing ABAP 7.52 and ABAP in SAP Cloud Platform
ABAP is the longtime foundation for SAP’s solution portfolio. ABAP runs productively in more than 100,000 SAP customer systems, where it enables enterprise-ready business applications and processes, and reduces total cost of development due to its integrated, self-compiling nature. SAP customers and partners also have a long tradition of delivering additional value by building custom code and add-ons that run on the ABAP stack.
With ABAP central to SAP customer landscapes, SAP continues to add enhancements and new capabilities for ABAP that bring the latest technologies — such as the cloud and the Internet of Things (IoT) — to customers and meet their business needs. In keeping with this commitment to its customers and to ABAP innovation, the SAP TechEd event in Las Vegas in September 2017 featured ABAP in two notable ways:
- Attendees gained direct experience with the newly released ABAP 7.52 in hands-on workshops and coding sessions.
- Björn Goerke, SAP’s Chief Technology Officer, announced ABAP in SAP Cloud Platform, which will make the ABAP development and runtime environment available in SAP Cloud Platform in 2018.
This article looks at the new features delivered with ABAP 7.52 and provides a sneak peek at the planned release of ABAP in SAP Cloud Platform. You will learn how each of these offerings help customers meet the development needs of modern business landscapes, and how the innovations delivered with ABAP 7.52 help pave the way to ABAP in SAP Cloud Platform.
Introducing ABAP 7.52
Released in September 2017, SAP NetWeaver Application Server (SAP NetWeaver AS) for ABAP 7.52 is a standalone ABAP stack consisting of the SAP kernel and ABAP development tools for Eclipse, similar to its predecessor ABAP 7.51.1 ABAP 7.52 is based on core data services (CDS) and the responsive SAP Fiori user experience, and supports all traditional ABAP-based user interface technologies, such as Web Dynpro. While fully optimized for and integrated with SAP HANA, SAP NetWeaver AS ABAP 7.52 is also supported on all databases documented in the Product Availability Matrix. Upgrade options to 7.52 are available for SAP NetWeaver AS ABAP 7.4, 7.5, and 7.51.
SAP NetWeaver AS ABAP 7.52 serves as the development and runtime environment for modern ABAP applications. It is the foundation for both SAP-provided applications — for example, the SAP Fiori front-end server and ABAP add-ons such as SAP Access Control2 — as well as custom applications. SAP NetWeaver AS ABAP 7.52 also serves as the foundation for a range of SAP HANA-only deliveries, including SAP S/4HANA 1709 on premise and ABAP add-ons such as SAP Hybris Marketing. In each of these use cases, SAP NetWeaver AS ABAP 7.52 delivers the same innovations and features via a single, common codeline.
So, what are some of the new innovations and features that are delivered with ABAP 7.52?
ABAP 7.52 Innovations and Features
SAP NetWeaver AS ABAP 7.52 includes innovations and features that significantly increase the efficiency of developing applications that are optimized for SAP HANA and SAP Fiori. The delivered enhancements include:
- New ABAP language elements, such as virtual sorting, which allows the combination of several internal tables into one returning a sorted index
- Database-centric optimizations that improve interoperability between ABAP-managed database procedures (AMDPs) and CDS by leveraging SAP HANA-specific features, and that feature a large set of new expressions and functions to limit result sets in Open SQL
- Enhancement of the RESTful ABAP programming model to enrich transactional and draft handling, and improve supportability for SAP HANA-optimized SAP Fiori applications
- Improvements to ABAP development tools, including data dictionary (DDIC), CDS, and debugging enhancements that provide new editors for database tables (see Figure 1) and ABAP packages (see Figure 2), and debugging analysis capabilities for internal tables (see Figure 3)
- A new console tool for running ABAP programs without the need to launch SAP GUI, which avoids the SAP logon procedure, making it much faster to run programs (see Figure 4)
- Enhancements to ABAP code analysis tools, such as the ABAP Test Cockpit, to support custom code migration, including improving coverage of checked source code by scanning customer enhancements and modifications but ignoring SAP includes and generated code (see Figure 5)
- Enhancements to support real-time event handling and industrial IoT, including using ABAP daemons and ABAP channels to provide long-lived monitorable sessions running in the background
- Connectivity and server infrastructure enhancements for the Web Dispatcher and Internet Communication Manager to enable various improvements, such as TCP socket load balancing, enhanced protection of denial-of-service attacks, and HTTP/2 client support
- New extensibility features for SAP S/4HANA, including an extensibility cockpit and an inventory application that displays an overview of your extensibility projects and artifacts3
From a feature perspective, ABAP 7.52 is the logical next step from 7.5 and 7.51.4 It serves all major customer scenarios by building on the capabilities of previous releases, enabling the full capabilities of the underlying SAP HANA database and data platform, an end-to-end programming model for RESTful SAP Fiori applications, new SAP S/4HANA extensibility options, and support for custom code migrations with effective analysis tools.
Another important feature of ABAP 7.52 is that it helps ease the transition to the cloud by providing a consistent ABAP programming model and the tools to analyze and transform custom code that will at least partially run in the cloud. Customers who are familiar with the 7.52 programming model and its tools will find it easy to build cloud applications with ABAP in SAP Cloud Platform due to their similarities — in this way, ABAP 7.52 also paves the way to bringing ABAP to SAP Cloud Platform.
Bringing ABAP to SAP Cloud Platform
SAP Cloud Platform is SAP’s platform-as-a-service (PaaS) offering, which runs on existing infrastructure-as-a-service (IaaS) offerings such as Amazon Web Services, Microsoft Azure, and Google Cloud Platform. SAP Cloud Platform centers around the digital core of SAP S/4HANA Cloud, which, with the support of other cloud-based applications such as SAP SuccessFactors and SAP Hybris solutions, forms a digital enterprise platform that powers core processes and provides an agile layer that enables digital transformation and differentiation (see Figure 6).
This digital enterprise platform provides a range of innovations to help you modernize your business. For example, you can decouple application extensions from the operation of that application (known as side-by-side extensibility), which allows you to frequently update your application without affecting the back-end system, saving time and resources and enabling a faster time to market. You can also increase developer productivity through collaboration and code sharing, easily reusable services, and an agile release strategy that allows you to extend multiple back ends at the same time — by mashing up services offered by the different back ends, for instance.
Many SAP customers are moving to the cloud to take advantage of these benefits. To support this transition, the ABAP stack provides tools for analyzing and migrating existing SAP Business Suite code to SAP S/4HANA Cloud.5 SAP is taking this support a step further by bringing the ABAP development and runtime to SAP Cloud Platform, enabling customers to use both their existing ABAP expertise6 and the latest ABAP 7.52 innovations in the cloud. Planned for 2018, this PaaS offering for ABAP allows customers to use standard ABAP language constructs — such as ABAP Objects, Open SQL, and internal tables — to write ABAP-based cloud applications that follow the new SAP Fiori and CDS-based ABAP programming model while also taking advantage of SAP Cloud Platform services, such as integration, document management, IoT, and machine learning services. To enable this, ABAP runs in its own container within SAP Cloud Platform, alongside other supported runtimes (see Figure 7).
With the ABAP in SAP Cloud Platform offering, you can:
- Use your existing ABAP know-how in the cloud to write ABAP-based cloud applications using the same features and innovations delivered with ABAP 7.52.
- Extend existing ABAP-based products, such as SAP S/4HANA Cloud, using standard protocols such as HTTP and HTTPS.
- Support the transformation of your existing ABAP-based custom code for the cloud using the enhanced code analysis capabilities of ABAP Test Cockpit.
- Use SAP Cloud Platform services to benefit from a cloud-based infrastructure, rapid development of applications, and community collaboration capabilities.
Let’s take a closer look at the architecture behind ABAP in SAP Cloud Platform, and how it works to enable developers to bring their ABAP expertise to the cloud.
Architecture of ABAP in SAP Cloud Platform
Figure 8 provides an overview of the key architectural components of ABAP in SAP Cloud Platform.
Developers use SAP Cloud Platform cockpit to create new ABAP instances on an SAP HANA tenant. In this context, an ABAP instance is represented by an SAP kernel that is derived from the SAP kernel of SAP S/4HANA Cloud. This kernel hosts the new ABAP programming model used for ABAP in SAP Cloud Platform, which is similar to ABAP 7.52 and is based on SAP Fiori and CDS. ABAP in SAP Cloud Platform also uses a cloud-optimized ABAP language, which means that certain language elements that are problematic in a cloud environment, such as file access, have been disabled. In addition, traditional list processing (such as ABAP reports and WRITE statements), which is not useful in a cloud context, has been removed and will result in a compile-time error if used in custom or partner code.
Access to the underlying ABAP repository — which contains components such as ABAP classes, function modules, structures, data elements, and domains — in the ABAP foundation is strictly governed by whitelisted APIs. A direct reference to a repository element, such as an API call, that is not whitelisted yields a syntax error and the corresponding program does not execute. This strict governance process is necessary to ensure that cloud operations such as upgrades are feasible in a multitenant environment. Technical access to back-end systems — both on premise and in the cloud — must be implemented using the HTTP(S) protocol.7 Access to SAP Cloud Platform services — such as document management, destination management, machine learning, and IoT — is enabled via standard protocols and the capabilities of SAP Cloud Platform.
ABAP in SAP Cloud Platform focuses on a simplified developer experience based on the new ABAP programming model that enables fast startup times. The intuitive ABAP development tools for Eclipse serve as the standard development tools for ABAP in SAP Cloud Platform — SAP GUI is not supported, because screen processing does not fit to a cloud experience, and the corresponding ports for SAP GUI have been disabled in the cloud-based SAP kernel, similar to the discontinued support for list reporting. Collaboration and open source capabilities are facilitated by integration of the ABAP development tools for Eclipse with Git. With this support, developers will be able to take advantage of the code shared via various Git repositories, such as GitHub — for example, the ABAP community has already pioneered abapGit for downloading and sharing ABAP code hosted on GitHub.
Supported Use Cases for ABAP in SAP Cloud Platform
For the 2018 release, ABAP in SAP Cloud Platform will support the side-by-side extensibility use case for SAP S/4HANA Cloud extensions. With side-by-side extensibility (see Figure 9), your cloud-based ABAP extensions are decoupled from core SAP S/4HANA Cloud functionality — the extensions are developed and deployed on SAP Cloud Platform and connect via OData or HTTP(S) to SAP S/4HANA Cloud, which runs separately. Custom data related to the extension resides in the SAP HANA tenant within SAP Cloud Platform, and identity provisioning is provided by the standard SAP Cloud Platform Identity Provisioning service.
The 2018 release will also provide support for transforming custom code for SAP Cloud Platform. With this support, you will be able to use a cloud service to check your custom code before moving to the cloud environment. The service will be based on check variants (similar to the SAP S/4HANA enterprise readiness checks available with SAP NetWeaver AS ABAP 7.51 and higher) and its functionality will be similar to the ABAP Test Cockpit.
Additional scenarios and use cases for ABAP in SAP Cloud Platform will be added in future releases. Figure 10 provides an overview of the planned roadmap. A customer engagement initiative is under way as of late 2017 to collect feedback from early adopters (both customers and partners). General availability is planned for 2018, with a focus on the new ABAP programming model featuring SAP Fiori and CDS, access to whitelisted APIs, a cloud-optimized ABAP language, and Eclipse-based development with access to Git repositories.
Additional future plans include enabling partners to productize apps — that is, develop and then sell them on the SAP App Center, SAP’s digital enterprise marketplace for third-party solutions for SAP customers.
Summary
ABAP 7.52 brings with it the features you need to develop and support modern ABAP-based business applications, including language improvements, additional SAP HANA optimizations, and support for transitioning to the cloud — paving the way to the upcoming release of ABAP in SAP Cloud Platform.
With ABAP in SAP Cloud Platform, ABAP community members can take their existing ABAP skills and know-how as of release 7.52 and bring them to the cloud. ABAP in SAP Cloud Platform uses the ABAP programming model and tools that are known from ABAP 7.52 — with some restrictions that are required for cloud enablement and optimization — enabling developers to easily develop innovative cloud applications in ABAP and streamline your organization’s transition into the cloud.
More information about ABAP 7.52 is available at https://bit.ly/ABAP752-AvailableNow and additional details on ABAP in SAP Cloud Platform can be found at https://bit.ly/ABAPinCP-FAQ and https://bit.ly/ABAPinCP-Overview.
1 For a detailed overview of ABAP 7.51, see my article “Introducing ABAP 7.51” in the October-December 2016 issue of SAPinsider (SAPinsiderOnline.com). [back]
2 For a complete list of the ABAP add-ons released for SAP NetWeaver AS ABAP 7.52, see SAP Note 2405332. [back]
3 Learn more about SAP S/4HANA extensibility in my article “Modification-Free Extensions for SAP S/4HANA” in the July-September 2017 issue of SAPinsider (SAPinsiderOnline.com). [back]
4 Complete details on the features delivered with ABAP 7.52 are available at SAP Help Portal at https://bit.ly/ABAP752. [back]
5 For more on migrating custom code from SAP Business Suite to SAP S/4HANA, see my article “Making the Move to SAP S/4HANA” in the January-March 2017 issue of SAPinsider (SAPinsiderOnline.com). [back]
6 In essence, experience with the innovations delivered since the release of SAP NetWeaver 7.4. [back]
7 As of this writing, support for remote function calls (RFCs) is still under discussion. [back]