Cloud ERP Close-Up: Extensiblity in SAP S/4HANA Cloud
Welcome to this month’s Cloud ERP Close-Up!
I want to start this sequence of my blog post series with a quote from German singer-songwriter, Reinhard Mey, which fits to this month’s topic:
“Above the clouds, freedom seems to be unlimited
All fears and all sorrows, is said, are covered beyond.”
Reinhard Mey, 1974, loose translation
Over the last decade, two elements have been crucial in cloud deployments to reach this freedom – “cross cloud integration” and “lifecycle agnostic extensibility”. As these are core elements to successfully deliver a cloud project, in this cadence of my Close-Up series, I want to shed some light on the topic of extensibility.
In many recent conversations, last in this Customer Networking event in Brussels, there’s been limited knowledge about the last-mile extensibility of SaaS ERP, often grounded in a misunderstanding of what the meaning of standardization is. Standardization means a clear commitment to changing companies’ business processes for the sake of aligning with a product standard. Beyond adopting the standard, you can of course extend, but it must meet the paradigm of life cycle compliance.
Our SaaS ERP, SAP S/4HANA Cloud, public edition, provides and prioritizes the highest possible degree of standardization. It runs like a subway – for customers seeking rapid adoption of innovation with a high degree of standardization to quickly roll out to new businesses, new acquisitions, or new business expansion. It comes with pre-built end-to-end business processes in order to connect all the areas of your organization that are activated rather than built from scratch.
Cloud extensibility provides a standard methodology in an SAP SaaS ERP offering to close the last mile and extend your process map.
Talking cloud ERP, the life cycle compliant extensibility, particularly with the platform-as-a-service side-by-side extensibility, also plays a crucial role for private cloud implementations to strive for a clean core.
Clean core is a system that is as close to standard as possible, while running cloud-compliant extensions and customizations. What we define as mandatory and system-immanent for public cloud deployments is highly recommended for private cloud deployments to strive for a comparable upgrade simplicity.
Figure 1: Clean core is mandatory for SAP S/4HANA Cloud, public edition and recommended for SAP S/4HANA Cloud, private edition.
Classical On-Stack Extensions and PaaS Based Side-by-Side Extensibility – Your Choice
Tailoring an ERP solution to meet the specific needs of a business has always been crucial. Therefore, extensibility is a critical capability of every ERP solution. It empowers customers and partners to modify the standard business software to suit their unique business requirements. With extensibility, customers can customize their business processes, and partners can enrich ERP with tailor-made solutions. This can be achieved by extending existing business processes or creating entirely new applications that stand out from the standard.
The classical ABAP extensibility in SAP private cloud solutions offers immense power and flexibility to ABAP developers, enabling them to write custom code that can modify SAP code without restrictions. However, the absence of a stable and public interface between SAP Code and the extension and deviations from standard changes in SAP objects can lead to high test & upgrade efforts and slower adoption of new product and technology innovations like artificial intelligence. As customers didn’t upgrade frequently, this was not an issue, but this also meant that they weren’t able to get innovations faster. When Pandora’s box of disruptive technologies is opened, every business wants to adopt instantly and not ask the “what is my go-to-release” question.
SAP S/4HANA Cloud, an intelligent ERP solution, offers an upgrade-stable cloud extensibility model that is available for both public and private cloud editions. This allows customers to smoothly consume SAP innovations, leading to future-proof extensions that are life cycle compliant and require no adaptations during cloud innovation cycles.
The rules of the game require that extensions be clearly separated from SAP Code. For the private edition of SAP S/4HANA Cloud, it is recommended to follow this rule, while it is mandatory and system-immanent build in for the public edition. The following restrictions apply:
- No modification of SAP objects is allowed
- Only reliable and allowed public interfaces, released objects from SAP, SAP extension points, and allowed public SAP APIs (local or remote) can be used
Figure 2: Extensibility in SAP S/4HANA Cloud, public edition – Complementing the extensibility model.
This blog post focuses on the extensibility options available in SAP S/4HANA Cloud, public edition, a ready-to-run cloud ERP SaaS solution that provides the latest pre-configured industry best practices with continuous innovation. Unlike traditional SAP upgrade projects, here, automated software updates run for all tenants in parallel and there are no customer-specific upgrade projects. We have the following possible extensibility scenarios:
a) On-stack extensions that run on the SAP S/4HANA Cloud stack, tightly coupled with SAP S/4HANA
- Key user extensibility for low-code/no-code extensions created by key users such as adjusting UI field layouts, custom forms and templates, and custom analytics through CDS views.
- Developer extensibility (or ABAP Cloud or Embedded Steampunk) for developer extensions that are implemented directly in ABAP on the SAP S/4HANA Cloud technology stack.
Both on-stack options are based on the usage of mandatory public SAP APIs and SAP extension points.
b) Side-by-side extensions are designed to work on the separated SAP Business Technology Platform (SAP BTP) for all loosely coupled extension scenarios that integrate with SAP S/4HANA. The aim is to create extensions that are loosely coupled yet seamlessly integrated. With SAP BTP ABAP environment (Steampunk), we can develop extensions using the runtime/language that best suits your needs, such as ABAP, or non-ABAP like Java, or Node.js. Side-by-side extensions can access SAP S/4HANA business objects through remote APIs that have been published in SAP Business Accelerator Hub.
It is also important to mention that side-by-side extensions should look to apply the SAP Cloud Application Programming Model (CAP) whenever possible. CAP is a framework of languages, libraries, and tools for building enterprise-grade services and applications. It guides developers along a ‘golden path’ of proven best practices and a great wealth of out-of-the-box solutions to recurring tasks. If you want to know more about CAP, please check out this SAP Community topic page: https://community.sap.com/topics/cloud-application-programming
In this blog post, I want to focus on the on-stack developer extensibility model.
Developer extensibility is crucial for the success of SAP customers and partners. It provides means for on-stack ABAP extensions using ABAP Cloud as a development model. With SAP S/4HANA Cloud, public edition 2208, SAP S/4HANA Cloud, ABAP environment (or development extensibility) can enable custom ABAP development directly on the SAP S/4HANA Cloud stack for new customers running on the three-system landscape.
Figure 3: Developer extensibility is crucial for the success of SAP customers and partners. It provides means for on-stack ABAP extensions using ABAP Cloud as a development model.
The ABAP Cloud environment is a modern ABAP development model that helps to build cloud-ready business apps, services, or extensions. Custom extensions, developed with developer extensibility, are both upgrade-stable and cloud-ready. They are built using ABAP RESTful application programming (RAP) and Eclipse-based ABAP development tools, which can increase developer productivity for customers and partners.
On-stack developer extensibility offers an optimized environment for custom ABAP development projects that require proximity or coupling to SAP S/4HANA data, transactions, or apps. The benefit is that there is no remote access or data replication necessary and released SAP S/4HANA Cloud objects can be used and extended.
- Whether creating a new app on stack that is tightly coupled to SAP data via public local API to SAP S/4HANA Cloud or
- Extending an existing SAP APP (by extending SAP Code, Data, or UI) via SAP released SAP Extension points.
How To View the Released SAP Objects and APIs?
SAP-released local public APIs and local extension points can be viewed directly in the system through ADT under the release object tree. It is also possible to refer to the SAP Business Accelerator Hub to see released local and remote APIs, other dev extension objects, and CDS views.
Figure 4: View of SAP-released local public APIs and local extension points.
How Can I Extend My App Using SAP-Released Objects?
Discover how extensibility can drive business agility for your business’s success with the following examples:
Business Use Cases:
1.) Schedule Custom Application Jobs in SAP S/4HANA Cloud, Public Edition:
Let’s begin with a productive example of business operations. During our day-to-day tasks, we may have various simple or complex tasks that we need to run regularly and automatically in the background. we are familiar with T-code SM36/37. Here, we will demonstrate how developer extensibility and the application job framework in SAP S/4HANA Cloud, public edition can help us define the business logic to create an application job template and schedule the application job to run periodically in the background.
2.) Split Supplier Invoice
During a recent conversation with the supplier, they expressed their desire to import all of the expenses (which exceeded 1000) from a bank statement as a supplier invoice through the API. However, it is currently not possible to post it in our system as it has a restriction of 999 line items per invoice. To address this, we will demonstrate how we can split the invoice using developer extensibility, allowing all items to be included in an invoice that can be successfully posted in the system. The first invoice will show the full payment amount, while the other line items will be divided into additional invoices with a 0 amount.
3.) Custom Logic to Populate Business Partner Reference Key 1/Key 3 Fields in the Journal
We received a supplier invoice that includes the supplier’s details on the first line item, which is standard. However, in localizations for some countries, such as Colombia, it is required to mention the business partner and their NIT (Tax) number, known as “número de identificación tributaria”. Here, the XREF1 (Reference 1 ID By Business Partner) and XREF3 (Reference 3 ID By Business Partner) fields generally store this information. To comply with this requirement, we must fill these fields for all line items, not just the first one. We can use a singleton class with Developer Extensibility to achieve this, as demonstrated in this example. (SAP Note: https://me.sap.com/notes/3373622)
Want to dive deeper into this matter? I have compiled a list of resources for you to explore:
- For more Business examples, Live Webinar and Podcasts: Extensibility in SAP S/4HANA Cloud, Public Edition: Drive Business Agility for Business Success
- Insights on choosing the proper extensibility model: drive-competitive-advantage-through-differentiation-in-sap-s-4hana-cloud-public-edition-my-experiences-choosing-the-proper-cloud-extensibility-technique-to-achieve-business-outcomes
- Watch the replay of the latest Product expert training on Developer and Key User Extensibility(event for SAP Partners): SAP Partner Portal
- Learn how to build a custom process in Manufacturing in SAP S/4HANA Cloud Public Edition using Developer Extensibility with this demo: manufacturing-in-sap-s-4hana-cloud-public-edition-2302
- To get started, there are a variety of SAP tutorials available for developers on ABAP Extensibility: Developers SAP ABAP Extensibility
- SAP Learning: SAP Learning Journey on Developing Extensions in ABAP Cloud
I hope to see you as a frequent follower of our Cloud ERP Close-Up – stay tuned and discover more product highlights next month.
All the best,
Inside SAP S/4HANA Podcast
As always, I would like to encourage you to subscribe to our podcast “Inside SAP S/4HANA”. This podcast leverages the unique knowledge and expertise of SAP S/4HANA product experts, partners and customers to address objects of interest by sharing product insights and project best practice. There is no customer success without product success and project success; we share all ingredients with you to get to the next level and make your SAP S/4HANA project a success. Subscribe now and benefit from the shared knowledge.
openSAP microlearnings for SAP S/4HANA
Our openSAP microlearnings for SAP S/4HANA offer an exciting new learning opportunity. What began with a small batch of 20 videos, has now become a channel with more than 50 microlearnings that have generated over 20,000 views. Today we cover multiple lines of business such as finance, manufacturing, and supply chain, and key technology topics like Master Data Management, extensibility, SAP User Experience, and upgrade management. We are continuously adding new microlearnings to the SAP S/4HANA channel, so make sure you check them out.
Your Voice Matters!
If you want to learn more and actively engage with SAP subject matter experts on SAP S/4HANA Cloud, public edition, join our SAP S/4HANA Cloud, Public Edition Community – now fully integrated with SAP Community. The community brings together customers, partners, and SAP experts and has a clear mission: deliver an interactive community to engage with one another about best practices and product solutions. We invite you to explore the SAP S/4HANA Cloud, Public Edition Community ‘one-stop shop’ as the central place for all resources, tools, content questions, answers and connect with experts to guide you through your journey to SAP S/4HANA Cloud, public edition.
- Highlights of the SAP S/4HANA Cloud, public edition 2308 release
- SAP S/4HANA Cloud, public edition 2308 intelligent ERP update
- SAP S/4HANA Cloud, public edition release info
- Release blog posts
- YouTube playlist for SAP S/4HANA Cloud, public edition
- YouTube playlist for SAP S/4HANA Cloud, private edition and SAP S/4HANA
- SAP S/4HANA PSCC Digital Enablement Wheel
- SAP S/4HANA Cloud, Public Edition Early Release Series
- Inside SAP S/4HANA Podcast
- openSAP Microlearning for SAP S/4HANA Cloud, public edition
- Best practices for SAP S/4HANA Cloud, public edition
- SAP S/4HANA Cloud, Public Edition Community
- Feature Scope Description
- What’s New
- Help Portal Product Page