Life as it is… Implementing S/4HANA Cloud Essentials (ES): Extensibility
TheValueChain NV being proud frontrunner in this domain is publishing a blog post series in which you discover tangible insights about the ERP Cloud revolution.
This is the third post of our blog post series on S/4 HANA CLOUD ESSENTIALS.
In this post you will learn how S/4HANA Cloud Multi-Tenant Edition can be extended, accompanied with my personal insight on how you can easily move to the cloud, with your existing knowledge, as a developer.
Life as it is… Extensibility.
No access to the SAP back end, no ABAP Workbench, not even eclipse?!? You must be mad!
It sounds like a challenge, for a long-time on-premise developer (+10 years), but a brilliant and fun challenge it is.
In no time I was up to speed, and everything felt naturally, due to the seamless integration and available documentation.
SAP delivers a plethora of tools, from In-App Extensibility to Side-By-Side Cloud development which enables us to tackle our customers’ requests.
In-App Extensibility are a set of “End User” tools that allows you to perform the following activities in an easy way and still using ABAP:
- modify logic (BADI’s)
- adapt existing screens
- create new fields
- create tables (Custom Objects)
- create CDS Views
The BADI’s offer you the possibility to manipulate the newly created fields, create pricing requirements, show messages or call oData Services.
On the ABAP side, some parts are still limited, due to the limited amount of provided ABAP classes (e.g. to process response messages from external webservices), but we got the message that in the upcoming releases, this will be covered.
For the more complex developments (e.g. custom mobile warehouse management apps, upload tools, …), we use the SAP Cloud Platform, both Neo (SAP Web-IDE) as Cloud Foundry (Node.JS) environments.
For the areas that required more complex CDS Views (e.g. using the advanced HANA SQL language), we rely on the CDS replication capability to a HANA Database that is running in Cloud Foundry. Using Cloud Application Programming Model, we’re able to deliver very advanced oData (v4) services.
To integrate with 3rd party environments, we use SAP Cloud Platform Integration, a great tool which allows us to interact with API’s from vendors, to automate business processes in an easy way.
What remains a challenge, is the follow-up of the roadmap. Including the change of mindset which is required for a consultant. For example, we were waiting for the 1911 release to get some new API’s in the Cloud Warehouse, so we could start creating our own scanning apps to perform warehouse tasks. But if we have a look at the roadmap, SAP will provide them only in upcoming releases.
SAP managed to provide an ERP system in the cloud, that is future proof, in many perspectives.
As SAP is continuously providing new releases, our existing developments just continue to work.
During the lifetime of our project, we have experienced this already a couple of times.
As a developer, I can only applaud this, because nothing is more of a dull job than to rewrite logic, due to breaking changes.
I can conclude that the future looks bright, as each release delivers us a lot of new goodies!
SAP S/4HANA Extensibility: A Learning Journey
Developer Center (Product info, Tutorials, … about the mentioned technologies)
Cloud Application Programming Model
More in-depth real-world details about intelligent RPA, Conversational AI, Machine Learning, SAP Cloud for Customer, SAP Analytics Cloud, SAP Concur, will follow in our upcoming posts.
This blog post is part of our blog post series ‘Life as it is… Implementing S/4 HANA CLOUD ESSENTIALS (ES)’, where you will find links to other business areas. Please follow these blog post series that will be frequently updated. We will keep sharing tangible insights about S/4HANA Cloud Essentials (ES). Especially, about the new releases.
If you have any comments, please leave it below or send me a direct message.
Steven De Baerdemaeker is an experienced SAP Expert with a 10 year plus track record in ABAP development (Netweaver Gateway, S/4HANA, SAP ECC, SAP CRM) and SAPUI5 development.
TheValueChain NV is a leading SAP Partner that enables companies to speed up and increase the business value of SAP. As a trusted advisor we inspire customers to embrace end-to-end solutions to tackle their challenges in this digital age. We aim for the total approach with smart innovation, simplification and sustainability. We go beyond simple: with functional and technical expertise and an unconditional commitment we convert your implementation into a unique differentiator.
really interesting! thanks for the content.
I have one question regarding single-tenant and multi-tenant.
Can we create a CDS and expose it as a OData Service in multi-tenant? I ready that was possible only for single-tenant cloud.
If so, are there any differences between working with Odata or multi-tenant or single-tenant?
This is indeed possible, when using Multi-Tenant, using Communication Scenarios and Communication Arrangements to set up the “communication” layer, after the CDS is marked as External API.
In single tenant, if I’m not mistaken, you have “full access” to the backend, this allows you to have more control and power on doing complex oData/CDS developments/enhancements.
On Multi-tenant, only “key user” transactions (wizard like) exist, for the creation of CDS’es.
Making them available as oData service is very easy, but has it’s limitations.
Only single level associations are possible for custom cds’es.
Deep entity is not available and no information is available, if it’s on the roadmap.
To achieve the complex enhancement level, we currently have to rely on CAP (Cloud Application Programming Model) and Node.JS (on Cloud Foundry).
We don't see this as a disadvantage, because now we're forced to comply with best practices, allowing us to build enhancements that keep running and have less regression when a new release is deployed.
Thanks very much for your feedback
To be complete, consuming external services in MTE is not that easy, but can be done.
SAP has it on its roadmap to make this easier in the (near) future.
About your question regarding standard oData Services, SAP has an API Hub, you can view it without an S-user and use it to see if it fulfills your request.
that's the API we have tested so far.
you've mentioned that for more complex developments (e.g. custom mobile warehouse management , pps, upload tools, …) you use the SAP Cloud Platform, both Neo (SAP Web-IDE) and Cloud Foundry (Node.JS) environments.
Is there any recommendation from your side when to use which toolset (based on Neo or CF)? Did you consider Dirigible(.io)?
Thanks & regards
We chose the SAP Cloud Platform, because of the integration with the different (non-S/4HANA) SAP Cloud Applications we use. As a toolkit, for CF developments, we use Visual Studio Code and are a big fan of it, mostly because of the available extensions and after learning after visiting some OpenUI5 conventions, we learned that more advanced extensions will follow (e.g. for designing Open/SAPUI5 MTA apps).
For Neo, we mostly use Web-IDE, but some colleagues on the development team, also use Visual Studio Code, the only thing missing is the deployment, for this we still need to use Web-IDE.
On a glance, Dirigible would seem to work as well, but haven’t looked into it yet to learn about the Pro’s and Con’s.
thanks a lot! For e.g. mobile warehouse management apps (using barcode / QR code scan), would you - in general - recommend Neo or CF if you would start a project today?
For advanced projects like a mobile development, Neo is no longer preferred, as some of the existing services became obsolete and new services exist on CF.
However thanks to the integration, we can use Neo (SAP WebIDE) to build/deploy MTA (Multi-Target-Applications) on CF.
When "simple" list reports needs to be created, we still use Neo.
Thanks Steven for sharing your experience!
Hereby a link with a little bit more details on the Warehouse setup (and developments):