Before you continue to read this blog, please make sure you have seen the announcement blog from Harald Kuck.
As of September 4th, 2018 the new ABAP development and runtime environment for SAP Cloud Platform is available with the official name SAP Cloud Platform ABAP Environment.
SAP Cloud Platform ABAP Environment is a platform as a service offering for the ABAP developer community running in the Cloud Foundry environment of SAP Cloud Platform. It interacts with the NEO environment especially in the user interface area since tools such as the SAP Web IDE fullstack are located in NEO.
SAP Cloud Platform ABAP Environment – Value Proposition
Before we jump into the technical details why does it makes sense to offer ABAP in SAP Cloud Platform? The SAP installed customer base will move their existing on-premise SAP Business Suite and SAP NetWeaver deployments to SAP S/4HANA, both as on-premise and cloud deployments. The customers will use this once-in-a-decade opportunity to radically simplify their landscapes that have grown over the past decades. Existing Business Suite systems will be consolidated converging to a single S/4HANA instance approach wherever possible. Customers want to narrow down the complexity of their core business processes to a digital core that is smart and serves as the backbone of the intelligent enterprise. In a traditional Business Suite system customization is complex. Custom code has piled up over the years. Modifications to SAP standard ABAP code prevent customers from moving to higher order releases or enhancement packages. They have to invest a serious amount of adaptation efforts when they try to implement a support package for example. Customers see a huge potential to transform their business to the cloud.
This transformation also offers new market opportunities for the SAP partner base. By moving ABAP development and execution to SAP Cloud Platform customers and partners can delegate all infrastructure, lifecycle management and system operations tasks to the DevOps teams of SAP. Customers and partner can immediately benefit from and adopt the newest innovations of the ABAP stack powered by SAP HANA. They can consume the innovations much faster in the Cloud since new innovations are delivered with each quarter. Compare this to a classical on-premise setup where new releases are delivered once a year. The situation becomes even worse when you take into account that customers tend to stay on a certain release level rather than applying the latest version.
The major use cases for SAP Cloud Platform ABAP Environment are the development of new cloud apps in ABAP which are decoupled from the digital core. Of course, customers and partners see a chance to leverage their existing ABAP know how and want to reuse their existing on-premise assets in SAP Cloud Platform ABAP Environment. Partners want to commercialize their addon development in the cloud and want to benefit from SAP’s large customer base. The cloud is a natural junction point for the whole ABAP community.
As a full member and first class citizen of SAP Cloud Platform the ABAP Environment will benefit from all existing SAP CP services such as SAP Leonardo with Machine Learning, Block Chain an IoT. This offers completely new scenarios not present in the on-premise world.
Last, but not least customers and partners can delegate all lifecycle and operational tasks to cloud operation. They can scale with their business needs rather than doing large upfront investments in hardware and services. They can fully align with the innovation speed and have a choice among their preferred cloud providers.
SAP Cloud Platform ABAP Environment – Architecture
The architecture is corresponds to the announcement from last year. The starting point is the SAP Cloud Platform Cockpit. When a customer has a subscription for ABAP the administrator will launch the cockpit and create a new ABAP instance (complete ABAP stack with underlying SAP HANA) from there. The ABAP system is then up and running and can be contacted with the ABAP development tools for Eclipse (ADT). SAP GUI or Web GUI is not allowed. The ADT tools also do not call any embedded SAP GUI tools like in on-premise. All tool access against SAP CP ABAP Environment is done with native Eclipse plugins from SAP (available through the tooling website https://tools.hana.ondemand.com). The ABAP system which was created is based on the same ABAP kernel like S/4HANA Cloud 1808. The ABAP language is optimized for cloud operation. Dynpro and list processing statements (CALL SCREEN, WRITE etc) will lead to a syntax error.
The primary purpose of the ABAP system is to provide a development and runtime environment for FIORI applications that are optimized for SAP HANA. The FIORI applications are based on the consumption of Core Data Services that are exposed through the oData protocol and are presented with corresponding FIORI elements. The ABAP applications can connect to backends through standard protocols such as HTTP and oData. In the first version they can access SAP S/4HANA Cloud. In upcoming versions access to on-premise backends will be enabled through the SAP Cloud Connector. The ABAP system is embedded into the SAP CP Cloud Foundry infrastructure which allows ABAP applications to use other services of SAP Cloud Platform such as SAP Leonardo etc. The traditional correction and transport system is still in place from a logical perspective meaning the customer can develop an ABAP app in one system, and then transport it into a test or productive system. However in contrast to the on-premise world where transport requests are exported to the central directory of a landscape and then imported into the target system, in SAP CP ABAP Environment the transport request are exported in readable format to a GIT repository. This has a couple of advantages. For example you can export the same ABAP artefact in different versions. This is not possible in the classical on-premise world. Later GIT aware tools (think of continuous integration and delivery) can benefit from the source representation in GIT. This makes the ABAP world more open to cloud innovations.
SAP Cloud Platform ABAP Environment – Development
When you are familiar with the classical on-premise ADT tools you will find it rather easy to use the Cloud tools. In Eclipse you need to create an ABAP Cloud Project. To connect to your ABAP backend you need to navigate through the services of your SAP Cloud Platform subaccount or to specify a Cloud Foundry service key that identifies your system.
The first thing you will probably see in the Project Explorer is the tree of released objects. Here you find all the whitelisted APIs, Core data services, Dictionary objects etc. You can see that the list contains important ABAP classes for the ABAP runtime environment, and various Dictionary elements. Tables are not whitelisted by default. This means that an ABAP statement referring to a standard ABAP table will cause a syntax error. You have to use a whitelisted API to access a table underneath. This approach is different compared to ABAP on-premise where you can basically access any ABAP repository element even if it was never intended to be used in custom code. The main reason is cloud operation. If SAP manages the whole environment, and not the customer as in on-premise deployments, all upgrades, patches and hotfix collections will be applied independently of the customer’s project in predefined maintenance intervals that are kept as shortly as possible to provide maximum availability of the cloud environment. For cloud operations this means that custom code has to adhere to a strict set of whitelisted APIs that are managed in a compatible way. That way no customer is affected and can continue with development or production after the maintenance is performed. In an on-premise environment a customer would execute transaction SPAU (process after upgrade) to adjust his custom code to the new SAP repository version. In cloud environments this is simply not acceptable. Of course, SAP will extend the whitelist based on customer and partner demand, but to keep ABAP innovation up to speed not all legacy frameworks can be moved to the cloud. This is similar to Java where frameworks like Web Dynpro could not be moved to SAP Cloud Platform but were replaced with FIORI and SAPUI5.
Pricing and market opportunities
SAP Cloud Platform ABAP Environment is priced along ABAP memory and HANA memory. The minimal setup is 16 GB ABAP app server on top of a 64 GB HANA. The list price for this setup is 3000 € per month and customer, see https://cloudplatform.sap.com/capabilities.html. Customers can choose between subscription and pay per use billing like with other services offered through SAP Cloud Platorm.
A lot of innovations have been added to the ABAP Platform for the last couple of years. Think of technologies such as Core Data Services (CDS), oData exposure and consumption in FIORI applications. If you are familiar with these topics and already gained experience with the ABAP Development Tools for Eclipse (ADT) you are in the pole position to get started with SAP Cloud Platform ABAP Environment. The program model for SAP Cloud Platform ABAP Environment is the RESTful ABAP Programming Model which is fully based on CDS. With this model you can develop cloud applications in FIORI style rather quickly. Below is the list of SAP Cloud Platform tutorials for a first orientation: