Deliver Extensions in SAP S/4HANA Cloud using Multi-Off delivery
2023-12-14 19:9:26 Author: blogs.sap.com(查看原文) 阅读量:8 收藏

Are you a partner or customer interested in developing an extension in SAP S/4HANA Cloud and making it available to your customers?

Discover the power of creating and delivering extensions in SAP S/4HANA Cloud. Take the first step towards unlocking the potential by learning how to do it.

Let’s begin by looking at Extensibility in SAP S/4HANA Cloud.

Extensibility in SAP S/4HANA Cloud

Extensibility is essential to any ERP solution. It empowers customers in their business processes and enables partners to enrich ERP with tailor-made solutions, giving them a competitive advantage.

Traditional software extension methods often result in a high total cost of ownership, dependencies, and longer upgrade cycles.

SAP S/4HANA Cloud features a modular architecture with a lean, clean, and secure core. For a Clean Core, the best case scenario describes an up-to-date system on the latest release, with cloud-compliant extensions and integration, optimal master data quality and perfect process design.

SAP S/4HANA Cloud provides a new upgrade-stable cloud extensibility model that clearly separates SAP code and extensions via mandatory public SAP APIs and SAP extension points.

It supports the standard extensibility scenarios:

  • On-stack extensions that depend on proximity to or tight coupling with SAP S/4HANA Cloud data, transactions or apps and therefore run on the SAP S/4HANA Cloud stack.
  • Side-by-side extensions running on the separated SAP Business Technology Platform (SAP BTP) for all other loosely coupled extension scenarios integrating with SAP S/4HANA.

For both in-app and side-by-side extensions, low-/no code tools exist for key users and developers.

Keep%20the%20core%20clean%20using%20the%20extensibility%20options

Keep the core clean using the extensibility options

ABAP Cloud development model is the one development model for
SAP S/4HANA and SAP BTP
to build cloud-ready business apps, services, and extensions. ABAP developers use ABAP Cloud to build apps and extensions on the SAP products SAP BTP ABAP Environment, SAP S/4HANA Cloud, public and private editions and SAP S/4HANA on-premise.

The main ABAP Cloud elements are:

The ABAP Cloud development model, including the cloud-optimized ABAP language and public local SAP APIs and extension points, is available in the SAP BTP ABAP Environment and the 2208/2022 versions of the SAP S/4HANA editions. You can refer to this blog for more information.

Extensibility portfolio of SAP S/4HANA Cloud

SAP S/4HANA Cloud – Extensibility portfolio

To know more about SAP Build solutions, refer to SAP Build Code and SAP Build Apps.

Refer to this blog for more information on ABAP Cloud and extensibility. To explore the extensibility options in SAP S/4HANA Cloud, you can get started with the blog or visit Extensibility Explorer.

Deliver ABAP extensions using Multi-Off Delivery

User story

As a Customer/Partner, you want to develop an extension in SAP S/4HANA Cloud and make this extension available to your customers – inside or outside your company. However, the source and the target tenants can’t be connected via a transport route, which makes it impossible to perform a transport as described in Transport Management for Developer Extensibility on the SAP Help Portal.

Multi-Off Delivery

This feature is only available in a 3-system landscape. It’s mandatory to use gCTS (and not abapGit) for this scenario.

The multi-off delivery is currently not available in customer landscapes, but only in partner development systems.

We are introducing the Multi-Off Delivery with the SAP S/4HANA Cloud, public edition 2308.1 release to support the above use case. With this feature, there shall be no hassle of managing multiple deliveries separately. With this feature, you can develop ABAP extensions that will be used not only in your own SAP S/4HANA public cloud landscape, but also in a few other landscapes, such as your subsidiaries, or for a limited number of customers if you are an SAP partner.

To keep ownership of a delivered extension/code, partners could obtain their own ABAP namespace through the Landscape Portal for SAP S/4HANA Cloud, ABAP environment.

The following figure provides a schematic overview of the multi-off delivery scenario.

Multi-Off%20Delivery%20scenario

Multi-Off Delivery scenario

Key features:

On a source SAP S/4HANA Cloud landscape:

  • Develop an extension in the ABAP environment of your source SAP S/4HANA public cloud landscape using the developer extensibility approach.
  • Use the Git-Enabled Change and Transport System (gCTS) app to push the ABAP source code of the extension to a partner/customer-owned Git repository.

On a target SAP S/4HANA Cloud landscape:

  • Use the gCTS app to pull the extension’s source code from the remote Git repository to your target SAP S/4HANA, public cloud landscape.

To ensure that only authorized customers can access and download the software, grant authorizations to your customers for your repository. Add them as collaborators, most likely with read-only access.

When you hand over your extension to your customers, you must provide all the information that they need to pull the extension to their SAP S/4HANA Cloud system.

Git-enabled Change and Transport System (gCTS)

The Git-enabled Change and Transport System (gCTS) is used to establish a connection between the tenants and the Git repository. The gCTS app is available to manage all related tasks, such as connecting to repositories on Git, pushing and pulling commits, and managing branches. Commits are created in the development environment using ABAP Development Tools (ADT) when you release a task of a transport request. To work with gCTS, configuration tasks are required that are described in the documentation.

Where can you find more information?

Exchange knowledge SAP Community

Explore SAP NoteMulti-Off Delivery GuideSAP Help Portal


文章来源: https://blogs.sap.com/2023/12/14/deliver-extensions-in-sap-s-4hana-cloud-using-multi-off-delivery/
如有侵权请联系:admin#unsafe.sh