Skip to Content
Product Information
Author's profile photo Jayprakash Sharma

Developer Extensibility for SAP S/4HANA Cloud on the SAP Business Accelerator Hub

This blog post helps in understanding developer extensibility for SAP S/4HANA Cloud (aka Embedded Steampunk) and discovering them on the SAP Business Accelerator Hub (formerly called SAP API Business Hub).

Problem Description

Today, customers and partners can use key-user extensions and side-by-side SAP Business Technology Platform (BTP) extensibility to extend SAP S/4HANA Cloud. What is the motivation behind introducing Developer Extensibility? Do customers need all these? When to use what? And finally, where to discover the released artifacts from SAP.

You will learn

  • Overview of Developer Extensibility
  • Demystifying Steampunk together with Embedded Steampunk
  • Comparison of available extensibility options
  • Discover released developer extensibility artifacts from SAP

Introduction

Developer extensibility allows you to create development projects in an SAP S/4HANA Cloud system. It gives you the opportunity to develop cloud-ready and upgrade-stable custom ABAP code on SAP S/4HANA Cloud, combining the benefits of custom ABAP code, with the required restrictions for Cloud readiness, and the SAP S/4HANA programming model to build SAP Fiori apps.

This includes:

  • ABAP RESTful Application Programming model (RAP) to build services and SAP Fiori apps
  • Eclipse based IDE (ABAP Development Tools) with debugger, troubleshooting, and testing tool support
  • ABAP software lifecycle support

To ensure Cloud readiness, you should consider the following restrictions:

  • Cloud-optimized subset of ABAP language
  • Usage of released SAP APIs/objects in the custom code
  • Usage of predefined extension points to extend SAP objects
  • Controlled access to admin, user, authorization, monitoring tools, and services
  • No security by default when creating your own tables, in particular, you can’t use ILM (Information Lifecycle Management) and IRF (Information Retrieval Framework)

Steampunk is a great option for loosely coupled side-by-side extensions or for partners offering SaaS solutions written in ABAP. This is somewhat comparable to the solutions that were running side-by-side on NetWeaver. It provides the ABAP Platform in the Cloud as a PaaS (Platform as a Service) offering. Customers and partners can build ABAP extensions and add-ons on Steampunk. Steampunk provides a public PaaS interface containing the ABAP Platform objects which can be used by extensions. On top Steampunk contains a Cloud ready ABAP development model for customers and partners.

Embedded Steampunk reuses the top layer of Steampunk SAP BTP: The Steampunk ABAP development model and currently is offered only with SAP S/4HANA Public cloud.

Internally, SAP S/4HANA Cloud and Steampunk share the same ABAP Platform code line anyway (marked blue), with Steampunk being a kind of frontrunner for innovations. So, it is just a logical next step to embed the Steampunk development model directly into the SAP S/4HANA Cloud stack. Custom extensions developed with Embedded Steampunk now have the same properties that made Steampunk Cloud-ready and upgrade-stable:

  • Usage of stable public interfaces only
  • No modifications of SAP code
  • Restricted usage of the ABAP language and other technologies
  • Restricted usage of system functionality
  • Efficient development with RAP

Developing extensions with Embedded Steampunk using ADT (ABAP Development Tools) feels exactly like developing with Steampunk on BTP. With one important additional benefit: Embedded Steampunk extensions can not only call the more technical ABAP Platform interface (green), but also a local public S/4 interface containing the business functionality (for example, CDS views like I_Product, replacing direct access to table MARA, or RAP facades for the creation of purchase orders). In SAP S/4HANA Cloud, the custom code itself is either an own app or service, or implemented via public extension points, using the well-known BADI technology.

If you are an ABAP developer and willing to familiarize yourself with RAP, with ADT instead of SE80, or with clean APIs instead of freestyle modifications, you will feel directly at home with Embedded Steampunk. You can use all the tools and processes you already know. And these are the same tools and processes thousands of developers are using each day at SAP.

Solution

What extensibility option suits my purpose?

Compare the extensibility options in the following table:

Key User Extensibility Developer Extensibility Side-by-Side Extensibility
 Scenario Smaller low/no-code extensions Tightly coupled more complex extensions and apps Loosely coupled extensions and apps
 Target environment Fully integrated in SAP S/4HANA Cloud stack SAP BTP
 Use cases
  • UI field layout like small changes to existing apps, custom forms, and templates (adding new fields, for example)

  • Custom analytics

  • ABAP-based custom app development

  • ABAP-based extensions of SAP S/4HANA Cloud solutions

  • ABAP-based partner extensions

  • Custom or multitenant applications

  • ABAP and non-ABAP (Java, Node.js) development

  • SaaS Solutions developed by partners

  • Apps for separate target groups

 Target group (persona) Key users ABAP developers Developer
 Released object types BAdIs, CDS views BAdIs, classes, interfaces, CDS views, behavior definitions, authorization objects BAPIs, IDocs, OData APIs, SOAP APIs, events
 Benefits
  • Fully managed and integrated in SAP S/4HANA Cloud

  • No development skills required

  • Custom ABAP development directly on SAP S/4HANA Cloud stack

  • Use and extend released SAP S/4HANA Cloud objects

  • Higher developer productivity

  • One single development environment shared by SAP, customers, and partners

  • Rich set of cloud extension points

  • No remote access and data replication

  • Decoupled extensions independent of SAP S/4HANA Cloud operation and lifecycle management

Discover Developer Extensibility Artifacts on the SAP Business Accelerator Hub

Problem Description:

If Developer Extensibility or Embedded Steampunk is for ABAP Developers, then where are they can find the APIs to build the extensions? Also, are there any technical documentation available which developers can refer to?

Solution:

SAP Business Accelerator Hub acts as a central place to discover SAP S/4HANA Cloud digital artifacts available to the customer which end-users can explore, extend, and adapt SAP S/4HANA Cloud with built-in and side-by-side extension capabilities. These details can help customers or partners to search available developer extensibility APIs and consume them.

SAP%20Business%20Accelerator%20Hub

SAP Business Accelerator Hub

You can see the developer extensibility artifacts published on SAP Business Accelerator Hub by follow the below link.

https://api.sap.com/products/SAPS4HANACloud/developerextensibility

Conclusion

This blog post should help you understand developer extensibility for SAP S/4HANA Cloud and discover them on SAP Business Accelerator Hub.

Please feel free to contact us with any questions you may have. Thanks for reading this blog post, hopefully you enjoyed it!

Important links for further information:

  1. Explore Business Object Interfaces for SAP S/4HANA Cloud on SAP Business Accelerator Hub
  2. Explore Business Add-Ins (BAdIs) for SAP S/4HANA Cloud on SAP Business Accelerator Hub

Assigned Tags

      5 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Syambabu Allu
      Syambabu Allu

      Hi Jayaprakash,

      Thanks for sharing!!

      Thank you,

      Syam

      Author's profile photo Swati Balani
      Swati Balani

      Hi Jayprakash,

      Thanks for sharing. Nice blog.

      It will be nice to also see a sample developer extensibility case in detail.

      Regards,

      Swati

      Author's profile photo Jayprakash Sharma
      Jayprakash Sharma
      Blog Post Author

      Hi Swati, I'm glad you liked it. You can look for sample scenarios in SAP Extensibility Explorer app

       

      Author's profile photo Bruno Della Ducata
      Bruno Della Ducata

      Hello Jayprakash,

      thanks for sharing this nice blog!

      Are the Side-by-Side Extensibility available in both environments (Neo and CF)? And what are the major differences?

      Kind Regards
      Bruno

      Author's profile photo Saptarshi Sen
      Saptarshi Sen

      Hi  Jayprakash

       

      Thankyou for sharing this informative blog.

      Just to understand this bit better, is there a single source of truth (any SAP system table/view?) with regards to objects released for Developer/on-stack Extensibility vs generic ABAP on Cloud?

      For instance, in SAP API Hub (under S/4HANA Cloud); if we check for a released CDS View, inside the detail page - we find a detailed information on its Release States, which includes - Release State Key User Extensibility, Release State Developer Extensibility, Extensible with Key User Extensibility and Extensible with Developer Extensibility.
      (I did check Table ARS_W_API_STATE which gives us indicators for Use in Key user and Use in Cloud Dev.) Wanted to understand what is the right SAP Table/View where we can see these  metadata for Released objects. Purpose is to differentiate the between (ABAP on Cloud) objects that are released for Developer/on-stack extensibility vs the ones for (non-S/4H) BTP ABAP. Any related information would be highly appreciated. Thanks!

       

      Regards,

      S Sen