Skip to Content
Product Information
Author's profile photo Harald Kuck

SAP Cloud Platform ABAP Environment

Here. We. Go.
SAP Cloud Platform ABAP Environment is ready for you!

In this blog I call it ABAP PaaS because that’s what it is: an ABAP Platform as a Service. For the first time in the history of SAP, developers worldwide can build and run ABAP code in the Cloud. On SAP Cloud Platform, where ABAP is the new kid on the block now, next to Java or Node.js.

You think we made a lot of noise last year and have been sort of quiet ever since? (skip these lines if you don’t). This is exactly why I don’t like upfront noise. I remember the good old times in 1998 when we implemented R/3 on Linux. We didn’t tell anyone inside or outside SAP until the port was completely done. Only then convinced Hasso how cool open source and Linux really are. And then spread the message at CeBIT 1999. Best time of my life, by the way. So far.

Things work a bit differently today, I can tell you. Plus, compared to an operating system port, deriving an ABAP PaaS from code that has its roots in a time when clouds were mainly in the sky, is a considerably bigger task. And it’s by far not finished yet. We’ve just started with a minimum viable product (more viable than minimum, I hope). “Release early, release often – and listen to your customers” was one of the open source mantras we put into practice with R/3 on Linux. And we’re doing the same thing now with ABAP PaaS (oh yes, it does include the listening part, too).

The good thing is, in the Cloud we don’t have all these different release versions with a completely fragmented on-prem ABAP community: some of you are still using ABAP 4.6C (with a kernel I contributed to as a developer, happy times), and some of you are already on the latest S/4HANA release. With ABAP PaaS, there is just this one living thing, always up-to-date. For all of us, at the same time. This makes it a lot easier to gather your feedback and let you influence. Not the release you or your company might be installing in years from now, but the ABAP PaaS you are using NOW.

For me, this is a very special moment in my almost 30-year career at SAP. We are now laying the foundation for the next 10+ years. I am really proud to be part of the fantastic team who made this happen. And I’m extremely glad to be surrounded by friends like Boris Gebhardt (chief product owner ABAP Platform), Frank Jentsch (project lead ABAP PaaS) and Karl Kessler (product management), to name just a few of the many who’ve contributed. Thanks a lot to all of you. Without you guys I would be lost, and there would be no ABAP PaaS.

Harald
September 4, 2018

 

Frequently Asked Questions

 

General

The main goal of this FAQ is honest expectation management. In this section we answer fundamental questions you might have if you’re just curious what ABAP PaaS is all about. Scroll down to the development section for more details on differences between the ABAP you know today and the ABAP PaaS.

 

[Q1] In a nutshell: what’s in it for me?

You are an ABAP developer?

Well, you can now write your code in the Cloud, for the Cloud. And yes, that might feel a bit different compared to your on-prem ABAP experience. From now on you can always use the latest and greatest ABAP and SAP HANA features, or call any microservice offered by SAP Cloud Platform. Plus, there is no more pain with cumbersome tasks following an upgrade because it is SAP who is operating the entire ABAP Platform and HANA layer, without any follow-ups for you.

You are a customer heading to SAP S/4HANA Cloud with your existing business solutions?

Then the ABAP PaaS is a great opportunity for you to transform your on-prem ABAP extensions to the Cloud, to modernize and stabilize your custom code, and to enhance the skills of your ABAP teams.

You plan to stay on-prem with your SAP ERP or SAP S/4HANA system for the next few years?

There’s nothing wrong with continuing classic ABAP custom development for the time being. For you, the ABAP PaaS is a genuine option for creating innovative and decoupled extensions. Think about scenarios that run in the Cloud, exploit SAP HANA and use other SAP Cloud Platform services, irrespective of the implementation language. And all this without disturbing or putting load on your on-prem ERP system, the stable digital core. With a decoupled approach using clean APIs, the times of extensions or modifications that complicate your next ERP upgrade are over.

You’re a bit puzzled because you’ve never heard any of the announcements? Well, no problem, here’s a quick recap for you.

You would like a simple picture that shows the main building blocks? Here you go:

 

You create and maintain your ABAP environment using the Cloud Cockpit, you write your ABAP code using the ABAP Development Tools for Eclipse (ADT), and you use Git for code exchange and versioning. The ABAP PaaS itself is an integrated part of SAP Cloud Platform, making use of its services including HANA. More details regarding the ABAP programming environment are provided in the developer section below.

Any feedback on the ABAP PaaS is highly appreciated via our Early Adopter Care Program on https://influence.sap.com/sap/ino/#campaign/1605.

 

[Q2] If I can use Java or Node.js on SAP Cloud Platform, why consider ABAP?

Good point. ABAP is probably not the first thing that comes to mind when talking about the Cloud. So first of all: this is about free choice, no one is going to force you.

The vast majority of the SAP digital core is based on ABAP. That means there is a lot of ABAP know how out there in the world, as well as heaps of extensions written in ABAP. And this is exactly the sweet spot of ABAP PaaS. In scenarios where the non-functional properties of ABAP PaaS are quite adequate because the target SaaS solution is not Twitter, it can be a huge benefit to reuse the existing ABAP skills and even parts of the code in the Cloud (see developer section below).

Apart from that: From a technical point of view, due to the proximity of data types and structures, we would expect that enhancing a universe of ABAP apps with ABAP extensions is probably not the worst choice (think about data replication or data proxy scenarios).

We strongly believe in starting where customers are today and helping them to move to the Cloud, and here the ABAP PaaS can really help.

 

[Q3] The ABAP community has a long wish list, just think about version management. Why do you waste your time with an ABAP PaaS?

As mentioned above, the two main uses cases that motivate ABAP PaaS are:

  1. Extend S/4HANA Cloud with decoupled ABAP code
  2. Transform your on-prem ABAP extensions to the Cloud, using decoupled ABAP code

The third aspect is the unique opportunity to

  1. Modernize the ABAP universe

This means we can now use the ABAP PaaS as an innovation frontrunner (see Q12), and as stated above: you are invited to give feedback and influence the future of the ABAP PaaS.

Concerning potential waste: In the Cloud, the ABAP Platform comes with two flavors, or plays two different roles. On the one hand as the internal foundation for SAP’s own larger SaaS solutions like S/4HANA Cloud. In this context the ABAP Platform is just used SAP internally as the enabler for the SaaS solutions. The other role now is the ABAP PaaS, offered to anyone in the world who wants to build and run a SaaS solution on top of ABAP.

Both flavors are based on one common codeline for the ABAP kernel and the ABAP layers. And most of the SAP investments related to ABAP and Cloud (and even S/4HANA on-prem) flow into this common codeline, so there’s no waste anyway.

And regarding version management: don’t worry, we heard you loud and clear (see the Git question below).

 

[Q4] What exactly can I do with the first version? Just play around with it or do real stuff?

From the very beginning ABAP was intended to efficiently write and run business applications, and this does not change with ABAP PaaS. You can develop standalone business apps or extensions to the digital core, be it Cloud or on-prem, S/4HANA or the classical ERP.

The focus of this first version are extensions to S/4HANA Cloud. Don’t worry, connectivity to on-prem systems (outbound remote function call (RFC)) is planned for this year, 2018. In addition, you can develop services in ABAP and expose them through HTTP(S) or OData.

As an example of what you can build today with ABAP PaaS imagine the following scenario or user story that we have been using in internal demos: A sales rep wants to find potential new customers in the neighborhood using OpenStreetMap. After collecting some candidates she then wants to create and edit the customer data and finally sync them to her S/4HANA Cloud account.

This is the first version of ABAP PaaS with a limited scope. It will grow over time, hopefully with your feedback and contributions, but already today you can write real applications and services.

 

[Q5] What is the roadmap and vision?

The first version of ABAP PaaS focuses on code written from scratch to extend S/4HANA Cloud. The next items in the backlog involve support for custom code migration, as well as the extension of on-prem solutions.

For 2019, we plan to provide better support for partners who develop and run apps for their customers on top of ABAP PaaS (think about integration with SAP App Center, or optimizing marginal costs with multitenancy).

 

Developer View

In this section we try to provide answers to questions an experienced ABAP developer might have: What is the difference between the ABAP PaaS and my on-prem ABAP? Is feature x supported? Can I reuse existing code?

 

[Q6] Why is it so restrictive? I’ve heard there’s no SAP GUI or Web Dynpro, and just limited ABAP language features and APIs. Why can’t I develop as I do on my on-prem systems?

The Cloud comes with a new distribution of responsibilities. In this case, the provider (SAP), takes care of the ABAP Platform and the SAP HANA layer, operating the entire landscape and continuously providing new features and fixes. All the code on top is managed by you, the tenant. This only works if there is a strict separation between provider and tenant on the one hand, and between tenants on the other. We, as the provider, must be able to exchange the platform without affecting your code.

This is exactly why we need a clear and well-defined interface between you and us: the whitelist of supported ABAP artefacts, from the ABAP language to CDS views. This whitelist will grow over time, and you are invited to help shaping it. But the whitelist can only support artefacts that don’t break any of the isolation types mentioned above, and it must not introduce incompatible changes. Last but not least, the whitelist can only offer those artefacts that can be supported with reasonable effort in terms of product standards, be it security or performance.

This is the reason why we start small, why we only expose RESTful services instead of supporting SAP Gui, or why direct access to the file system won’t work.

 

[Q7] Ok, understood. So what does that mean for the ABAP PaaS?

We defined the following basic principles regarding the nature and scope of the ABAP PaaS:

  • It’s still ABAP – we are not creating a new language, but an appropriate subset.
  • It’s the Cloud – whatever breaks or endangers Cloud operation is not permitted.
  • The principle of one – keep it simple and reduce the operational risk. For components like UI or output management we support one strategic Cloud variant, not all of its historic predecessors.
  • Start small – since we must keep the whitelist stable we start with a small whitelist and enhance it step-by-step.
  • Listen to your customers – we collaborate with early adopters and the ABAP community to rank our backlog.
  • Pragmatic approach – we try to find a balance between the beauty of a modern ABAP platform, and reusing existing ABAP code. And while being open for your wish list, we truly hope you don’t insist on MOVE source TO destination PERCENTAGE perc 🙂

To enforce these principles, the ABAP PaaS checks the application code during design time. Development objects violating these rules lead to syntax errors. Code that cannot be checked statically is not supported. We are currently evaluating additional runtime checks to support dynamic ABAP programming features.

 

[Q8] And what is the impact of these principles for the UI, the language or SAP HANA access?

Here you go:

UI

ABAP PaaS exposes its services via OData or plain HTTP only. Classic ABAP UI technologies like SAP GUI, Web GUI, Web Dynpro or BSP are not available. The exposed services can then be consumed by a Fiori UI or any other Web-based UI framework.

SAP HANA

To enforce a secure ABAP operation, only ABAP-managed access to ABAP-managed HANA objects is supported. This includes ABAP SQL, core data services (CDS) and ABAP-managed database procedures (AMDP). We cannot support native HANA artefacts or native HANA access.

ABAP Language

ABAP PaaS uses a special Cloud version of the ABAP language. Statements that may harm Cloud operation or cannot be controlled (like local file access, kernel calls, EXEC SQL, GENERATE REPORT etc.) are excluded. Additionally, statements marked as obsolete have been removed, and statements like CALL SCREEN are not supported, since the dynpro technology is no longer part of the ABAP PaaS offering.

ABAP reuse services and reuse elements

ABAP PaaS offers a whitelisted subset of the well-known objects in the reuse layers BASIS and ABA (e.g. CDS views or ABAP classes).

In addition, ABAP PaaS replaces or adapts some technical ABAP services concerning destinations, UI repository, printing or identity management. In ABAP PaaS these services are implemented by calling SAP Cloud Platform services.

ABAP programming model

For Fiori and OData services, the new RESTful ABAP Programming model (RAP) is enforced. Older versions of the Fiori programming model using Gateway services (SAP Gateway service builder SEGW) or BOPF are not supported.

To build standard REST/HTTP services, ABAP PaaS provides new whitelisted ABAP interfaces.

 

[Q9] Which ABAP objects and APIs does the whitelist contain in the first version?

The whitelist of the first ABAP PaaS version contains more than 400 ABAP development objects (classes, interfaces, CDS views, data elements etc.), focusing on core ABAP services like date and time conversion, XML handling or application logs. There is no doubt the whitelist will grow significantly with the next versions.

After the more technical services we plan to whitelist business reuse services like number range, factory calendar or change documents.

 

[Q10] Can I really reuse my ABAP know-how?

You’re already familiar with ABAP code on SAP HANA, Fiori apps, ABAP in Eclipse or unit tests?

Then you’re only a small step away from developing and running your first apps or services on the ABAP PaaS. All you need is a little jump start learning the RESTful ABAP Programming model (RAP).

You ask yourself why SE80 and SAP GUI won’t do?

Maybe it’s time to just give all the new features a chance that were invented for the ABAP community over the past years. And please don’t panic. We provide a rich set of training courses and tutorials to ramp you up. If you’ve liked ABAP so far, you won’t be disappointed. That’s a promise.

 

[Q11] Can I copy & paste my z-Code to ABAP PaaS?

First, the good news: copy & paste is supported 😉

The downside: you will see a lot of syntax errors if you just copy your on-prem code to the ABAP PaaS. More seriously, the question is how much of your existing on-prem ABAP code can really be reused in the ABAP PaaS. And this is hard to predict since it depends a lot on your code, but we’ll try to make a forecast.

It’s the following ABAP PaaS characteristics that reduce the reuse of existing on-prem ABAP code, ranked by their impact on reuse:

  1. ABAP PaaS running side-by-side with the core business systems
  2. Whitelisted technologies (e.g. no SAP GUI)
  3. Whitelisted SAP objects (e.g. no direct access to SAP tables)
  4. Whitelisted ABAP statements (e.g. no OPEN DATASET)

Most challenging for existing custom code is the side-by-side approach and the missing support for GUI/dynpro technology. Let’s start with side-by-side.

Already with the on-prem NetWeaver, we’ve seen many hub scenarios or decoupled side-by-side extensions. Just like the solutions in these scenarios, ABAP PaaS apps communicate via remote APIs with the core business systems. Consequently, custom code that is loosely coupled to the business logic of the core business system is a good candidate for a move to ABAP PaaS.

On the other hand, on-prem custom code that is deeply integrated with the business process should better stay in the core system. This is comparable to the so-called in-app extensions in S/4HANA Cloud: for tightly coupled scenarios this is the right mechanism to use. Even for decoupled scenarios a combination of in-app extensions / custom code and ABAP PaaS application is often the best fit.

To sum this up, if you have custom NetWeaver add-ons or loosely-coupled custom extensions that already use Fiori UIs, then your code reuse on the ABAP PaaS will be quite high. In all other scenarios the reuse is reduced mainly to the business logic. How much business logic you can reuse in the ABAP PaaS depends on the architecture of your custom code. Most beneficial for reuse is a clear separation between UI code, custom business code and SAP code.

 

[Q12] ABAP PaaS as innovation frontrunner? What does that mean?

The ABAP PaaS is updated automatically by SAP on a quarterly basis at defined dates. Innovations will reach the ABAP PaaS first, before they might later be implemented in other ABAP based solutions.

Here we start to renovate the entire ABAP development process (see below). Here you’re the first to get an impression of the new and very effective Fiori programming model based on RAP. Here you can see how we provide step by step SAP HANA features like graph, hierarchy or geo spatial directly in ABAP. Or enrich your ABAP PaaS app with SAP Cloud Platform services like identity authentication, portal, mobile, IoT or machine learning.

 

[Q13] What about Git?

We’ve saved the best bit till last. ABAP PaaS uses Git for code exchange and code deployment.

The code exchange use case covers the possibility to share ABAP code or other ABAP artefacts in community projects or to exchange ABAP code between ABAP systems via Git (e.g. when transferring custom code from an on premise system to the ABAP PaaS). For code exchange, ABAP PaaS uses the well-known open source solution abapGit (http://docs.abapgit.org).

The code deployment use case is about transferring ABAP code and other ABAP artefacts between ABAP PaaS systems (e.g. from a development system to a test system). The first version of ABAP PaaS uses Git for code deployment under the hood of the standard ABAP transport management system.

We know that up to now, version control in ABAP is rather limited, and there is little support for branching, merging or CI/CD (continuous integration/delivery) tool chains. The goal is to renovate the ABAP step by step using a version control system like Git without sacrificing the benefits of the ABAP change and transport system.

 

[Q14] Any tutorials?

Yes. Here are the first 8.

Getting started

1: Hello world console application
https://developers.sap.com/tutorials/abap-environment-console-application.html

Simple service exposure and consumption

2: Create developer user
https://developers.sap.com/tutorials/abap-environment-developer-user.html

3: Business service provisioning
https://developers.sap.com/tutorials/abap-environment-business-service-provisioning.html

4: Communication arrangement
https://developers.sap.com/tutorials/abap-environment-communication-arrangement.html

5: SAP Web IDE service consumption
https://developers.sap.com/tutorials/abap-environment-webide-ui-generation.html

Transactional services

6: Create table
https://developers.sap.com/tutorials/abap-environment-create-table.html

7: Create CDS view
https://developers.sap.com/tutorials/abap-environment-create-cds-view.html

8: Add transactional behaviour to CDS
https://developers.sap.com/tutorials/abap-environment-transactional-enablement.html

 

[Q15] Now where can I get it?

This is why we in the ABAP team love alphabetical order:
https://cloudplatform.sap.com/capabilities.html 😉

[ I’ve been waiting almost a day now for the cloudplatform page to be updated. Just decided to go live anyway. I’m still confident it will happen soon, but the ABAP PaaS can’t wait any longer.
Harald, Sep 4, 2018, 5pm ]

 
For the latest update, please also refer to the It’s Steampunk now blog post.

Assigned tags

      90 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Matthias Steiner
      Matthias Steiner

      Exciting stuff - can't wait to here reactions & feedback from the community!

      Stay tuned for more details @ SAP TechEd! 😉

      Author's profile photo Nabheet Madan
      Nabheet Madan

      #SuperNews Finally we are in cloud -> #GreatTuesday

      Author's profile photo Florian Pfeffer
      Florian Pfeffer

      Hi Harald,

      another probably FAQ. Is there a trial available or planned (at the moment I do not see any)?

      Florian

      Author's profile photo Karl Kessler
      Karl Kessler

       

      Hi Florian,

      let me jump in here for Harald to provide a first answer to your question. At the moment we do not provide a trial version. Of course, we understand the request for trial access. We definitely are discussing various options, but face a couple of technical challenges.

      Let me provide some background here. The minimal size of an ABAP system on SAP Cloud Platform is 16 GB of app server memory for the ABAP runtime and 64 GB for the underlying SAP HANA database. This minimal size was chosen to provide a solid foundation for ABAP development and productive use that can be managed in an efficient way from a cloud lifecycle perspective offering a good price / performance ratio.

      As we all know the strength of the ABAP environment lies in its proven robustness for enterprise applications with the memory footprint described above. Trial access based on the current minimal system size is simply not feasible, both from a cost and cloud management perspective.

      We will look into the topic and evaluate the various options such as system size reduction etc. We also need to better understand the main use cases of our customers and partners. Therefore we have setup an early adopter care program.

      To get a first impression of the tools and the environment please browse through the tutorials which contain a lot of screen shots of a true live system.

      Best regards,
      Karl

       

      Author's profile photo Nabheet Madan
      Nabheet Madan

      Great news followed by not so good for developers like us who are using trail version:(

      Author's profile photo Florian Pfeffer
      Florian Pfeffer

      Karl, thank you for the explanation and the insights. I expected that answer based on that what we heard beginning with TechEd 2017 and other events until now.

      Maybe you can share the Information (if allowed at this point of time) if the RESTful ABAP Programming model is part of the successor of NW 7.52. Personally I am more interested in the programming model instead of having the ABAP Cloud Service instance.

      Thank you again and Best Regards,
      Florian

      Author's profile photo Karl Kessler
      Karl Kessler

      Florian, the RESTful ABAP Programming Model will be rolled out as part of SAP Cloud Platform ABAP Environment initially, but later also be included in the ABAP Platform which is underlying the SAP S/4HANA system. One of the tutorials actually demonstrates the development of transactional behavior on top of CDS view definitions. Since the RESTful ABAP Programming model is deployment agnostic it will also be available for on-premise development.

      Best regards,

      Karl

      Author's profile photo Florian Pfeffer
      Florian Pfeffer

      Yes, I checked the tutorials and had already an insight in the programming model via DSAG Events.

      Is there a timeframe when we can expect that on-premise?

      Author's profile photo Mike Doyle
      Mike Doyle

      How about a small number of trial instances that can be shared?  We don't necessarily need a whole tenant each.

       

      Author's profile photo Christian Drumm
      Christian Drumm

      Another option could be to offer a trial version were one has to pay for the computing resources. Something similar to the S/4HANA trial.

      IMHO a trial version doesn't have to be free as in ? if costs are a major impediment.

      Christian

       

      Author's profile photo César Augusto Scheck
      César Augusto Scheck

      Hi Karl,

      I've just posted a question in your brand-new article regarding ABAP PaaS. And your response answered it.

      By now we can at least take a look in the screenshots and wait for news.

      Thanks,
      Cesar

       

      Author's profile photo Odinei Silva
      Odinei Silva

      Amazing news!

      Author's profile photo Abdul Hakim
      Abdul Hakim

      Great News. ABAP Rocks.

      Author's profile photo Sharadha K
      Sharadha K

      Great news, at last! Cant wait to try my hands on 🙂

      Author's profile photo Gregor Tielsch
      Gregor Tielsch

      Congratulations ABAP-Team !!!

      Pretty sure sessions about ABAP PaaS at Tech Ed 2018 will be crowded.

      Author's profile photo Krishnendu Laha
      Krishnendu Laha

      Excellet News, I was checking for the Update every 2 days 🙂 I understand the first version is rolled out for S/4 HANA Cloud Systems, is there any plan to support development of Cloud for Customer (C4C) and Hybris Marketing Cloud?

      Author's profile photo Stefan Hagen
      Stefan Hagen

      ABAP PaaS is not tied to S/4HANA. You can write services and consume them from other applications (like C4C or Hybris Marketing).

      Author's profile photo Krishnendu Laha
      Krishnendu Laha

      Thanks, does it mean, we can extend C4C and Hybris Marketing solution using ABAP PaaS?

      Author's profile photo Chris Paine
      Chris Paine

      Great news that this model is finally seeing the light of day! Congratulations.

      Is the “ABAP PaaS” going to be the official nomenclature? Seems to me it isn’t a PaaS at all, but rather another runtime in the SAP CP CloudFoundry PaaS. If it isn’t a CF runtime, then I think we possibly have a bigger problem! Calling this a PaaS is going to hugely confuse the SAP CP messaging.

      Welcome ABAP, you’re growing up and coming to play with the big kids. ?

      Cheers,

      Chris

       

      Author's profile photo Chris Paine
      Chris Paine

      Further comments, but perhaps already answered - that sizing is frightening - a 64GB HANA is going to be a serious roadblock to adoption (especially when people work that back to the pricing!) but Hey, just means people are going to get more serious about adopting other tooling for extension rather than holding off in the hope that they can use ABAPCloud.

      RAP looks very interesting - but pushing a new model in ABAPCloud before it has adoption in on-Prem is perhaps breaking the very reason that people will pay so much money to be able to use ABAP on SAPCP - they want familiarity with existing tooling. Hopefully the model will be retrospectively enabled for on-Prem solutions and won't require a full upgrade to a new stack level or you've just pushed the hurdle for people to move from on-Prem to Cloud even higher...

      Author's profile photo Anne Kathrine Petterøe
      Anne Kathrine Petterøe

      When working with S/4HANA Cloud existensibility, the developer tools and developer workflows are anyway new for ABAP developers. There isn’t a lot that is familiar with existing toolset, especially if you come from the on-premise world. Even for me, I had to take some time to familiarise myself. So adding ABAPCloud IMO will actually just add familiarity (for ABAP developers) compared to the current developer toolset in S/4HANA Cloud.

      Author's profile photo Graham Robinson
      Graham Robinson

      The one thing going for calling it "ABAP PaaS" is that it is a better name that "SAP Cloud Platform ABAP Environment" 😉

      Author's profile photo Chris Paine
      Chris Paine

      Call it Belvidere, the next release can be called Ciroc ... Then people will think it's a Russian inspired night out on the town...

      There will be confusion if it's a PaaS in a PaaS.

      #ABAPCloud

       

      Author's profile photo Paul Hardy
      Paul Hardy

      In the year 1982 the team of programming experts known as "Musical Youth" sang a song on this subject. It went like this:-

      PaaS the dutchie on the left hand side
      PaaS the dutchie on the left hand side
      Give me the ABAP make me sing out loud
      Give me the ABAP make me rock the cloud

      The term "dutchie" here obviously means SAP Cloud Platform ABAP Environment.

      Author's profile photo Murali Shanmugham
      Murali Shanmugham

      ABAP PaaS - That's really going to confuse people.

       

      Author's profile photo Chris Paine
      Chris Paine

      Yep because:

      ABAP PaaS because that’s what it is: an ABAP Platform as a Service.

      unfortunately in my opinion devalues what is a PaaS. It's something that we have spent a long time trying to educate SAP customers about. Placing the benefits of SAP Cloud Platform into their thoughts - and now because of the HUGE popularity of ABAP in the SAP developer space, people will potentially start to think a PaaS can be any sort of platform that allows custom code to be created and executed upon. Some of SAP's competitors try to do this too - I'm especially looking at Workday who claim to have a PaaS - if the ABAP PaaS can take that title, well, Workday can too. So one of the major competitor's claims to parity (which they don't have at all) is checked off.

      You'll notice this was the very first thing I picked up, after congratulating the team for the great achievement. It may seem small and petty to many, but I'd love a different nomenclature to be adopted - and yes this this will wind me up more than the whole SCP vs SAPCP thing (yes I'm one of those blowhards who insist on SAPCP).

      But as Ethan Jewett mentioned on Twitter - perhaps people need to be able to think and make these conclusions themselves.

       

      Is ABAP a runtime environment for SAP CP? Yes. Is NW ABAP itself a platform? Yeah. Is it confusing? Yeah. People need to learn to think for themselves and not rely on labels pushed on them by vendors.

      I would argue that a PaaS must be language agnostic. Or at least support multiple. Danger here is a common term that leads people to equivilate apples with oranges, I'm afraid I don't have too much faith in people thinking.

      Give a man a decision rule and he’ll be right for 5 minutes. Teach a man to make decision rules and he’ll be an analyst for the rest of his life.

      My take is that unfortunately people run with the first thing they see and don't worry about thinking so much - and for many, this "ABAP PaaS" is quite literally the first thing they will see on their journey into SAP Cloud Platform.

      Author's profile photo Simon Kemp
      Simon Kemp

      Hi Harald and Karl

      Would either/both of you be interested in coming onto the SAP Coffee Corner Podcast to discuss this "Hot Topic" in the community?

      Jakob and I would love to have you on the show.

      Thanks,
      Simon

      Author's profile photo Craig Cmehil
      Craig Cmehil

      Hey Simon Kemp and Jakob , beat you to it this time ? I’m going to talk to Harald  next week and put something online – would you both be up to something after that? Maybe after TechEd?

       

      Author's profile photo Simon Kemp
      Simon Kemp

      No worries. Sounds good. Let's line something up.

      Author's profile photo Mike Doyle
      Mike Doyle

      Full marks Harald for the way in which you've presented this exciting news.  Great idea to have the FAQs that address questions like 'why would I want to use it?'.  Am I correct in assuming that the service runs on Cloud Foundry with a HANA2 db?  I'm still not sure if I see a big need for this from my customers, but I think that making a success of ABAP on Cloud Platform will be a great demonstration of the flexibility of the platform.

       

      Author's profile photo Karl Kessler
      Karl Kessler

       

      Hi Mike,

      you are perfectly right. SAP Cloud Platform ABAP Environment runs on Cloud Foundry including
      CF orgs and spaces with a HANA2 database underneath.

      Regards,

      Karl

      Author's profile photo Masaaki Arai
      Masaaki Arai

      Hello Harald,

      Impressive blog! Thanks.

      Questions:

      Is it possible to create Analytic Query of CDS View, which can be consumed the same way as BW Query? Then, is it possible to create Multidimensional Reporting app, which is UI5 based application but not normal Odata but Transient Provider connection is used?, and is the runtime of Multidimensional reporting there in ABAP on CP? (FIN_DS_ANALYZE)?

      Is it possible to use BW Functions? Then, is it BW/4HANA or BW on HANA?

      How is it recommended to create Frontend objects? are they Web IDE, Fiori Elements, Smart Business, SAC etc? Is it possible to use Transient Provider Connection (the first question) as well as normal Odata Service?

      Is it possible to use Key User Extensibility Tools, e.g. to create CDS View with Custom CDS View, which should help high productivity.

      Thanks, Masa

      Author's profile photo Shahid Mohammed Syed
      Shahid Mohammed Syed

      Harald,

      Thank you for sharing this Information. This is a great start.

      Could you please share any further information on training courses or online content for RESTful ABAP Programming model?

      I tried to look for "ABAP Cloud Project" in Eclipse Oxygen(ABAP Perspective). I didn't find it. May be I need to update it.

      I tried to look for "SAP Cloud Platform, ABAP environment" in my cloud trail account. Am I missing something?

      Author's profile photo Dmitry Iudin
      Dmitry Iudin

      According to Karl , no trial version since the size of such trial system would be too big to provide it free of charge. 

      Not that I understand why a smaller version (ASE based ABAP trial that is available for download can safely run on the 4/8 GB of memry) could not be provided.

      Regards

       

      Author's profile photo Chris Paine
      Chris Paine

      No ASE on Cloudfoundry. Guessing that the solution isn't anydb either, even if it could support postgres, not sure it would make sense. As the MVP goal is to support S/4HANA extension, kinda makes sense that it too need a HANA backend. 

       

      Author's profile photo Dmitry Iudin
      Dmitry Iudin

      I wonder what would happen if the Java applications had the same kind of restrictions

      Author's profile photo Damir Majer
      Damir Majer

      Impressive, thanks for sharing this...

      I´m still curious especially about that ABAP PaaS as a Programming Language will evolve into a modern Language 😉

      Keep your good work moving forward.

      Greetings,

      Damir

      Author's profile photo Shinya Umino
      Shinya Umino

      Hi Harald

      Excellent!!
      We welcome this great news.
      Users are now able to choose abundant with Java, Node.js and ABAP.
      ABAP engineers have abundant SAP experience and skills,
      It is very encouraging to expand and develop.

      There is pleasure that conventional ABAP engineers can participate in SAP Cloud Platform.

      I'm looking forward to TechED hands-on session!!

      Best regards,

      Shinya Umino

      Author's profile photo Andre Fischer
      Andre Fischer

      I will give a short demo how to develop a transactional service in the upcoming SAP CodeJam in Helsinki on Friday

      https://blogs.sap.com/2016/06/02/sap-codejam/

      Best Regards,

      Andre

       

      Author's profile photo Martin English
      Martin English

      Not viable for the contractor or developer who wants to explore and evaluate the product.

      When I look at the cost estimate (by selecting Add within the ABAP Environment box at https://cloudplatform.sap.com/capabilities.html), I get a price of 1800 Euro per month. I can change the runtime memory and the persistent memory in 16GB blocks, but the minimum price I can get to is 1400 Euro (and I don't know enough yet to know if that is a viable memory allocation.

      I live in Australia, at current exchange rates ...

      • 1800 Euro = $2,911 / Month
      • 1400 Euro = $2,264 / Month 
      • My home loan is less than $2000 / Month.

      Perhaps I can go code at McDonalds (cheaper coffee than Starbucks)

      HTH

      Author's profile photo Onu Onu
      Onu Onu

      🙂 Touche Martin.

       

      The prices are so prohibitive for building micro-services on ABAP Cloud Server.

      Give a try to Azure functions.

       

       

      Author's profile photo Eng Swee Yeoh
      Eng Swee Yeoh

      Outbound remote function call RFC?

      I hope that doesn't mean CALL FUNCTION func DESTINATION dest will be included - it is not object-oriented at all. And using a proprietary communication protocol in an open cloud platform just doesn't seem right, IMHO.

      Author's profile photo Karl Kessler
      Karl Kessler

       

      Hi Eng Swee Yeoh,

      (I updated the comment to cover RFC)

      our inbound and outbound communication protocols are oData and HTTP(S).

      Outbound RFC to on-prem is planned for this year (2018). Syntactical conventions are not defined yet.

      Regards

      Karl

       

      Author's profile photo Eng Swee Yeoh
      Eng Swee Yeoh

      Hi Karl

       

      Thanks for your response. I read your other blog, and in particular with the following statement "The primary purpose of the ABAP system is to provide a development and runtime environment for FIORI applications that are optimized for SAP HANA.", I'm not sure if I am missing something in the picture.

       

      How does outbound RFC calls fit into the picture of developing Fiori apps?

       

      Regards

      Eng Swee

      Author's profile photo Graham Robinson
      Graham Robinson

      Hi Eng Swee,

      I actually do think there is a place for outbound RFC support in the SCP ABAP environment.

      The ability to natively make RFC calls as easily as calling local function modules is a fundamental characteristic of the ABAP runtime. RFC, whilst a proprietary mechanism, provides a highly efficient and stateful connection to other ABAP systems at very low cost. It also provides asynchronous and queued RFC mechanisms that are not so easily found in other environments.

      I would also argue – for example – that when consuming SAP’s standard BAPI’s a highly optimised stateful mechanism is desirable because invariably multiple calls are required to perform anything more than the most minor operation.

      And remember that the SAP RFC library can be deployed on other SAP Cloud Platform runtimes – so the effect of disabling RFC for the ABAP runtime discriminates against ABAP in an area that should be one of its’ strengths.

      Cheers

      Graham Robbo

      Author's profile photo Eng Swee Yeoh
      Eng Swee Yeoh

      Hi Graham

       

      Thanks for sharing your thoughts.

       

      I had a further thought about this and I guess from a programmatic point of view, this is fine as it might be just a CALL FUNCTION statement, rather than creating a whole non-object-oriented Function Group/Module, since that is defined on the remote system.

       

      I definitely agree with your argument about RFC being traditionally a core characteristic to the ABAP runtime.

       

      However, I'm not so sure of the use cases for it. In traditional on-premise landscapes, integration guidelines in most organisation do not allow cross-system RFC/BAPI calls, unless it is some standard out-of-the-box integration provided by SAP. So now that we have moved to the cloud/hybrid, it suddenly becomes okay to design solutions with cross-system BAPI calls?

       

      Support for legacy functionality reminds me of Apple's decision to drop the floppy drive (and later on the optical drive) in their computers. And in contrast, we see SAPscripts still abound in many systems till today.

       

      Regards

      Eng Swee

      Author's profile photo Tapio Reisinger
      Tapio Reisinger

      Hello,

      I think RFC is essential for parallel processing. I hope they will keep it.

      Best regards, Tapio

      Author's profile photo Eng Swee Yeoh
      Eng Swee Yeoh

      While I agree that parallel processing capability is good to have (maybe even must have), I don't think it necessarily has to be enabled using existing on-premise methodology. Do we want to write Function Groups/Modules in the cloud?

      Author's profile photo Tapio Reisinger
      Tapio Reisinger

      It's not really necessary to write function modules. You can use bgRFC-Framework which has a really nice Object-Oriented API. But of course RFC is the underlying base technology. But that is with many things in ABAP PaaS which have it's roots in On-Premise.

      It is also possible to use messaging channels for parallel processing. But IIRC they have limitations in message size. Also didn't saw this in real live anywhere.

      Best regards, Tapio

      Author's profile photo Srdjan Boskovic
      Srdjan Boskovic

      Java, Python and nodejs environments can also seamlessly consume ABAP logic via RFC protocol, see JCo, PyRFC and node-rfc.

      Another possibility would be therefore consuming/extending ABAP directly from these languages, like illustrated here, rather than writing ABAP Function Groups/Modules.

      I could imagine ABAP developers would prefer writing ABAP Function Groups/Modules and Web developers Java/nodejs/Python modules, which is an interesting combination IMHO.

      Author's profile photo Dmitry Iudin
      Dmitry Iudin

      I hope they will make static methods available for parallel processing instead

       

       

      Author's profile photo Abdul Hakim
      Abdul Hakim

      Very expensive option for developers to learn SAP CP ABAP.  SAP should consider providing trail system access for those who want to learn and practice.

      Author's profile photo Amit kumar
      Amit kumar

      What a much awaited step by you and team... Kudos to you all.

      We as Abaper's need these lifelines often to survive in fast changing models of coding.

       

      Appreciating the effort once again!!

      Author's profile photo Guru Prasad Karanam
      Guru Prasad Karanam

      Hi Harald,

      A good news after a long wait. Cannot wait to try :).

      Unfortunately, I am personally disappointed to note there is no trial version and the paid option is something which is not affordable.

      SAP should plan to release the trial option to the developers at the earliest.

      Regards

      Guru

      Author's profile photo Venkata Narasimha Rao Sandu
      Venkata Narasimha Rao Sandu

      Finally, ABAP Running in Cloud...

      Author's profile photo Grzegorz Skierczynski
      Grzegorz Skierczynski

      I think it would be nice if SAP could release SCI checks to report all not supported language features.
      As modernized ABAP@Cloud is a subset of regular ABAP with a help of Code Inspector we can immediately evaluate habits we can change right now and potential migration effort of code snippets.

      As new language futures are developed over time we could also easily find a moment when it is mature enough to give it a shoot.

      When you sit on top of a few millions lines of ABAP code your willingness to "just try" is kind of limited.

      Author's profile photo Shai Sinai
      Shai Sinai

      Your wish is SAP's command 🙂

      How to check your custom ABAP code for SAP Cloud Platform ABAP Environment

      Author's profile photo Stefan Westhaeusser
      Stefan Westhaeusser

       

      I am wondering how to Interpret the sentence with BOPF:-

      Does this mean BOPF will never be supported with ABAP PaaS? Or is it currently not supported? We are planning to prepare On-Premise System to be able to use ABAP in Side-by-Side Environment. For some Projects we planned to use BOPF due in Blogs before it was mentioned that BOPF is cloud ready. Has anybody more Information or an opinion on that?

      May be Harald can give some more Details?

      THX

      Author's profile photo Richard Calaba
      Richard Calaba

      Precisely, what about BOPF. Is the Fiori on top of BOPF approach dead end ?

      Author's profile photo Marcel Hermanns
      Marcel Hermanns

      The BOPF-based ABAP programming model for SAP Fiori is the current best practice when developing new applications in SAP S/4HANA. Business objects following this approach are a safe investment into the future.

      The ABAP RESTful programming model is the evolutionary successor, which tackles different aspects such as:

      • the integration of legacy code,
      • the improvement of the developer efficiency with a native integration of the business object concept into the ABAP language, an end-to-end development flow in eclipse and application frameworks to take over technical implementation tasks

      We’ve chosen a cloud-first delivery of the ABAP RESTful programming model via ABAP PaaS, and are planning an on-premise delivery with future ABAP platform releases. The ABAP RESTful programming model is the leading approach and the focus of our future investments. Newly created apps should use this approach, as soon as available.

      As stated earlier, we are planning to safeguard current customer and partner investments into BOPF business objects following the ABAP programming model for SAP Fiori. In order to achieve this, an integration into the RESTful ABAP Programming Model is planned for both – on-premise and ABAP PaaS.

      Author's profile photo MASSIMILIANO CARDOSI
      MASSIMILIANO CARDOSI

      Good to know but it's absolutely mandatory have a sandbox to study a little bit this feature - I can't believe that we shall wait for a project!!

       

      Author's profile photo Robert Mauch
      Robert Mauch

       

      Great blog! Thanks a lot!

      Author's profile photo Ashok Kumar M
      Ashok Kumar M

      Love it ?

      Now, lets get ABAP in to Web IDE Full-Stack.

      Author's profile photo Tapio Reisinger
      Tapio Reisinger

      Hi Harald and Karl ,

      why not creating an ABAP Developer Edition just with the Whitelisted API?

      You could install Abap Developer Tools, Abap Developer Edition locally. No need for ressource intensive Cloud Platform enablement.

      Wouldn't this be enough to get a feeling and first impressions how to develop applications for Abap PaaS? You can get acquainted with all the new concepts and programming models and try them out locally. Just an idea...

      Best regards, Tapio

      Author's profile photo RA Eijpe
      RA Eijpe

      Hi Karl,

      Is SAP ABAP Workflow (without UI) planned for the future release or will SAP go for the SCP Workflow solution?

      You mentioned that AMDP will be supported, but no support of native HANA artefacts or native HANA access. Will it be possible to create HANA artifacts through the ABAP class cl_sql_statement. If not, what will be the value of AMDP ?

      Can I build MTA applications on top of the HANADB of the ABAP Cloud?

      Can I also call my own API created on the SAP Cloud Platform using NodeJS or Java. Or will I be restricted to whitelisted APIs of S/4HANA and SAP ERP systems?

      Looking for the answers

      Robert

      Author's profile photo Christian Loos
      Christian Loos

      Hi Robert,

      Regarding Workflow: It is not planned to bring the SAP Business Workflow (ABAP) to Cloud Platform. Instead, the Cloud Platform Workflow can be leveraged from the different environments via REST APIs, maybe with some additional wrapper classes to make the consumption easier for the ABAP developer.

      Best Regards,
      Christian

      Author's profile photo Florian Henninger
      Florian Henninger

      Harald,

      Just a hint. Looks like the links are broken.

      Please fix these. Everything else.

      I like it:-)

      ~Florian

      Author's profile photo Michelle Crapo
      Michelle Crapo

      Nice blog.  Excellent news.  I'm a wait and see type person...   I'll wait until I see it working.  As always I wonder just how much control we have with what we develop on the cloud.  I could read 100 blogs and I still won't believe it until I see it.

      Again Excellent News!

      Author's profile photo Srdjan Boskovic
      Srdjan Boskovic

      Java, Node.js and Python are leading web/cloud development platforms, with mature ecosystems, best-practices and components, for practically each and every aspect of web development. These platforms can also direct consume the ABAP logic, working with ABAP data structures, via RFC or ODATA protocols.

      ABAP to ABAP integration is of course more native and straightforward but building a cloud/web development ecosystem, like Java, Python or Node.js already have, could take years. It took years also for these platforms, to become what they are today, so that no matter what the user is looking for, from image processing, to web development or Twitter or whatever integration, there is a library already there.

      To make ABAP a competitive platform at this level (if that is the intention?), the ABAP ecosystem shall scale as well, attracting same "masses" of users like these platforms today have. To achieve that, the entry barrier shall be low and development experience with ABAP shall be similar, this simple, economical, fun, affordable in every way...

      Any thoughts/plans how to accelerate building one such ecosystem?

       

      Author's profile photo Azman Abdul Hamid
      Azman Abdul Hamid

      I think the idea is to further lock-in the client.

      Author's profile photo MADHUKAR BHAT P A
      MADHUKAR BHAT P A

      Hi Harald,

      Thanks for he blog which has helped a lot in understanding what is there for ABAPers on the SCP,

      I followed the steps shared by you to create my first project on the SCP however I faced the below error while publishing the Service Bindling:

      An internal error occurred during: “Checking Object…”.

      org.apache.http.NoHttpResponseException: c049290a-6281-4bce-96cd-31274c4c9f17.abap.eu10.hana.ondemand.com:443 failed to respond

      Can you or anyone please let me know what might be the issue?

       

      Thanks a lot,

      Madhukar

      Author's profile photo Shyam Balachandran
      Shyam Balachandran

      Hi Madhukar,

       

      Can you create a OSS ticket with details on how to reproduce the issue?

      We will look into it.

       

      Thanks and Regards,

      Shyam

      Author's profile photo Ji Gang Zhang
      Ji Gang Zhang

      Thanks, what a good news!

      I think I'll go back and check this article in the future many times.

      Author's profile photo Christian Punz
      Christian Punz

      hi Harald,

      I read your blog post, tried to get into a trial system (which is not available), instead played around with the tutorials at SAP TechEd Barcelona and thought to myself:

      ok, looks cool, but it's so totally brand new that my customers will not be interested anytime soon, maybe in 2019 or 2020.

      Suddenly, one of my customers called me: Hey, we would like to start a PoC! Well, we are almost on the train.

      Main Question: where do we find the holy API-whitelist?

      Appreciate your feedback! Thank you!
      br
      chris

       

      Author's profile photo Ming Yu
      Ming Yu

      As an ABAPer, I hope ABAP market would be expanded, so I'm very interested in the future plan of ABAP cloud. For example, Do you plan to move modules(SD, MM) to cloud, or even the business suits(ERP, CRM) in the long term?

       

      Author's profile photo Rajeev Jain
      Rajeev Jain

      Hi All,

      Currently I am using ABAP on cloud environment and trying to explore the things on cloud platform by using the eclipse I logged in on the system.

      I can see the classes and interfaces but can't see the single CDS view  ABAP on cloud environment  so I am not able fetch the data .

      Can anyone tell me how can we access the standard CDS views or Tables on this environment  ?

      Regards,

      Rajeev Jain

      Author's profile photo Pavel Astashonok
      Pavel Astashonok

      The same question here. How to access standard tables?

      Author's profile photo Andrew Fordham
      Andrew Fordham

      I understand that there need to be whitelists for some object types, but I am not even able to reuse existing SAP standard data elements (e.g. MATNR) or create my own Z data elements.  It's the same for domains.

      Do all table declarations have to exclusively use the types defined in the abap. type space?

      Thanks,

      Andrew

      Author's profile photo Carlos Alberto Valentini
      Carlos Alberto Valentini

      Great Post.
      Thank you for sharing the knowledge
      That's why the SAP community is one of the best for the developers.

      Author's profile photo Priyanka Palit
      Priyanka Palit

      None of the tutorial links work for me.
      Is anyone else facing this issue?

      Author's profile photo Harald Kuck
      Harald Kuck
      Blog Post Author

      Oops, you’re right. Sorry. Will fix asap

      Harald

      Author's profile photo Florian Wahl
      Florian Wahl

      Many thanks for making us aware, Priyanka! The links are corrected now and should be reachable again.

      Florian

      Author's profile photo Jorge Souto
      Jorge Souto

      Hi Harald,

      I Have a SAP employee SCP trial account but it appears that it's not possible to create an ABAP instance on it, is it possible to subscribe to a trial account with this permissions?

      Thanks,

      Jorge Souto

      Author's profile photo Sirui Liu
      Sirui Liu

      Hello community,

       

      The ABAP Cloud Trial enviorment is now live already, cannot wait to share this existing news!!

      https://developers.sap.com/tutorials/abap-environment-trial-onboarding.html

       

      Have fun 😉

      Sirui

      Author's profile photo saurabh tiwari
      saurabh tiwari

      Hi Harald,

       

      Need one clarification, Is the ABAP Environment a new third environment after Cloud Foundry and Neo ?

       

      Regards,

      Saurabh

      Author's profile photo Paul Antunes
      Paul Antunes

      Thanks Harald , blog still relevant after almost 2 years .

      Just wondering from an integration perspective is SDI included in the ABAP environment or does one have to buy the ABAP environment and SDI to create end to end flows with either other onpremise or cloud environments ?

      Many thanks

      Paul

      Author's profile photo Florian Wahl
      Florian Wahl

      Hi Paul,

      depending on whether you are referring to SAP Cloud Platform Integration or SAP HANA SDI, it looks like following:

      SAP CP Integration is a separate license and has to be bought in addition respectively.

      As of now, SAP HANA SDI is not accessible in ABAP environment. For integration purposes you have to use the web services layer via the provided connectivity infrastructure (HTTP, OData or RFC).

      Regards,

      Florian

      Author's profile photo Amandeep Bal
      Amandeep Bal

      Is there a place where I can see how I can consume oData services exposed out of  S4HANA OnPrem in the RESTFul ABAP? where do I define the connection to S4HANA OnPrem and how do i use it for side by side extensions in the RESTFul ABAP.

       

      Thanks

      -A

      Author's profile photo Channu Kambalyal
      Channu Kambalyal

      Did you check SAP S/4HANA | APIs | SAP API Business Hub and the Document sections. It has the Developer and Configuration related contents.

      - CK

      Author's profile photo Amandeep Bal
      Amandeep Bal

      Thanks a lot. I found the source in the OpenSAP course "Building Apps with the ABAP RESTful Application Programming Model", Week 5.

      Cheers

      -A