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.
September 4, 2018
Frequently Asked Questions
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:
- Extend S/4HANA Cloud with decoupled ABAP code
- Transform your on-prem ABAP extensions to the Cloud, using decoupled ABAP code
The third aspect is the unique opportunity to
- 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).
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:
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.
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 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:
- ABAP PaaS running side-by-side with the core business systems
- Whitelisted technologies (e.g. no SAP GUI)
- Whitelisted SAP objects (e.g. no direct access to SAP tables)
- 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.
1: Hello world console application
Simple service exposure and consumption
2: Create developer user
3: Business service provisioning
4: Communication arrangement
5: SAP Web IDE service consumption
6: Create table
7: Create CDS view
8: Add transactional behaviour to CDS
[Q15] Now where can I get it?
This is why we in the ABAP team love alphabetical order:
[ 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.
Exciting stuff - can't wait to here reactions & feedback from the community!
Stay tuned for more details @ SAP TechEd! 😉
#SuperNews Finally we are in cloud -> #GreatTuesday
another probably FAQ. Is there a trial available or planned (at the moment I do not see any)?
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.
Great news followed by not so good for developers like us who are using trail version:(
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, 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.
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?
How about a small number of trial instances that can be shared? We don't necessarily need a whole tenant each.
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.
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.
Great News. ABAP Rocks.
Great news, at last! Cant wait to try my hands on 🙂
Congratulations ABAP-Team !!!
Pretty sure sessions about ABAP PaaS at Tech Ed 2018 will be crowded.
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?
ABAP PaaS is not tied to S/4HANA. You can write services and consume them from other applications (like C4C or Hybris Marketing).
Thanks, does it mean, we can extend C4C and Hybris Marketing solution using ABAP PaaS?
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.
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...
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.
The one thing going for calling it "ABAP PaaS" is that it is a better name that "SAP Cloud Platform ABAP Environment" 😉
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.
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.
ABAP PaaS - That's really going to confuse people.
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.
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.
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.
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?
No worries. Sounds good. Let's line something up.
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.
you are perfectly right. SAP Cloud Platform ABAP Environment runs on Cloud Foundry including
CF orgs and spaces with a HANA2 database underneath.
Impressive blog! Thanks.
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.
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?
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.
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.
I wonder what would happen if the Java applications had the same kind of restrictions
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.
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!!
I will give a short demo how to develop a transactional service in the upcoming SAP CodeJam in Helsinki on Friday
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 ...
Perhaps I can go code at McDonalds (cheaper coffee than Starbucks)
🙂 Touche Martin.
The prices are so prohibitive for building micro-services on ABAP Cloud Server.
Give a try to Azure functions.
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.
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.
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?
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.
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.
I think RFC is essential for parallel processing. I hope they will keep it.
Best regards, Tapio
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?
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
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.
I hope they will make static methods available for parallel processing instead
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.
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!!
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.
Finally, ABAP Running in Cloud...
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.
Your wish is SAP's command 🙂
How to check your custom ABAP code for SAP Cloud Platform ABAP Environment
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?
Precisely, what about BOPF. Is the Fiori on top of BOPF approach dead end ?
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:
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.
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!!
Great blog! Thanks a lot!
Now, lets get ABAP in to Web IDE Full-Stack.
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
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
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.
Just a hint. Looks like the links are broken.
Please fix these. Everything else.
I like it:-)
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!
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?
I think the idea is to further lock-in the client.
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,
Can you create a OSS ticket with details on how to reproduce the issue?
We will look into it.
Thanks and Regards,
Thanks, what a good news!
I think I'll go back and check this article in the future many times.
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!
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?
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 ?
The same question here. How to access standard tables?
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?
Thank you for sharing the knowledge
That's why the SAP community is one of the best for the developers.
None of the tutorial links work for me.
Is anyone else facing this issue?
Oops, you’re right. Sorry. Will fix asap
Many thanks for making us aware, Priyanka! The links are corrected now and should be reachable again.
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?
The ABAP Cloud Trial enviorment is now live already, cannot wait to share this existing news!!
Have fun 😉
Need one clarification, Is the ABAP Environment a new third environment after Cloud Foundry and Neo ?
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 ?
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).
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.
Did you check SAP S/4HANA | APIs | SAP API Business Hub and the Document sections. It has the Developer and Configuration related contents.
Thanks a lot. I found the source in the OpenSAP course "Building Apps with the ABAP RESTful Application Programming Model", Week 5.
how to create json file here in sap cloud plaform abap environment
as cl_gui_frontend servces are not permitting here.
how to achieve this