Enterprise Resource Planning Blogs by SAP
Get insights and updates about cloud ERP and RISE with SAP, SAP S/4HANA and SAP S/4HANA Cloud, and more enterprise management capabilities with SAP blog posts.
cancel
Showing results for 
Search instead for 
Did you mean: 
jeetendrakapase
Product and Topic Expert
Product and Topic Expert
62,251

Experts, before getting into the topic, let's understand the motivation and purpose of the new modern extensibility options defined by the SAP for SAP S/4HANA Public, On-premise, and PCE editions.

Motivation

A cloud-first approach is becoming the new normal powered by software-as-a-service (SaaS) applications with AI/ML, digital assistants, automating routine tasks, better user experience, flexible and agile operating model. SAP is bringing innovation into the core ERP business processes with frequent product release updates. SAP also provides freedom to go beyond standard ABAP language with a BTP side-by-side extensibility approach using BTP ABAP Cloud, Java, node.js, BYOL, etc. to build full-stack applications which will run in parallel with ERP which is challenging with the classic extension options. The extensibility option is a key capability of an ERP application that enables customers to customize their business processes with a competitive advantage in the industry and allows partners to enrich ERP with tailor-made solutions. The importance of extensibility has been confirmed by the legacy ERP flagship product SAP ECC and will remain valid for the current and future cloud ERP transformation.

SAP S/4HANA is a front-runner product providing intelligent ERP in the cloud and on-premise. The goal is to shift from the classic ABAP extensibility model to an SAP S/4HANA modern extensibility model that allows customers to consume SAP innovations, building future-proof extensions that are ready for the cloud ERP. For all, it is important to understand and know how SAP is shifting away from a monolithic architecture (SAP ECC era) to a microservices architecture that is modular, flexible, continuous deployment, and agile (SAP S/4HANA era with BTP).

There is chaos in the developer's community, how do we connect the dots for customers that are on traditional ABAP so they can take advantage of modern innovations? What is a new extension model? What is Embedded Steampunk, BTP ABAP environment? SAP CAP (Java, node.js) or RAP?  What is Side-by-side BTP Extension? How it is different from standard ABAP?  Where can we use SAP Build Apps with ERP?  And more questions.

Contents

    1. Current customer situation
    2. Challenges with the classic extensibility model
    3. What are the extensions?
    4. Why does SAP S/4HANA need extensibility?
    5. What and why about the clean core concept?
    6. What is the new extensibility model?
    7. SAP S/4HANA Extensibility Options
      1. Key User (In-app) Extensibility
      2. On-stack Developer Extensibility
      3. Side-by-side Extensibility
      4. Classic Extensibility
    8. 3-tier extensibility model for SAP S/4HANA On-premise and PCE editions
    9. How to handle Classic Custom Code Migration?
    10. Decision Matrix for Extensibility Options

Current customer situation

Our current ABAP customizations deliver but at a cost. Extensive modifications have led to complexity and inefficiency. While classic extensibility is powerful, it struggles to maintain a high-performing system with ongoing needs. This translates to high IT costs and hinders innovation. Our goal is to transform into an Intelligent Enterprise with a modern, digital ERP. This will reduce costs, boost agility, and unlock value from our data.

 

Challenges with the classic extensibility model

    • Slower and More Difficult to Innovate (69% of companies say technical debt limits their capacity to innovate)
      • Unable to meet business requirements promptly (small or new project) loses competitive advantage and slower innovation.
      • Unable to serve business stakeholders. If they are unhappy so does business.
      • Staffing and Managing IT for long-term upgrade projects.
    • High TCO for system maintenance and software upgrades( Companies with high technical debt become 1.6X less productive).
      • Extensive planning and testing. Make sure the upgrade does not break the system.
      • Classic extensibility adds complexity to the SAP Core and prevents from adoption of agile practices and standardized business processes.
      • Redundant data and unused custom code living within the core ERP system. Duplicate IT spend.
      • Example: You have used an SAP object that is not whitelisted by SAP in your extension. After an upgrade, the used SAP object has been changed or deleted. Now you will have to adjust the extension thus upgrade is delayed and the speed of innovation is decreased.
      • Software changes lead to high adoption efforts.SAP Standard code and Customization are not separated, there is no interface.

What are the extensions?

    • Software engineering principle for enhancements without impairing existing system functions.
    • It can be the addition of new functionality or modification of existing functionality.
    • Measure the ability to extend and the effort required to implement an extension.

Why does SAP S/4HANA ERP need extensibility?

    • Extend business process for optimization, innovation, or automation
    • Extend the UX of existing processes and provide controlled access for external user groups
    • Extend data insights & analytics  by combining data in one central place
    • Extend the ecosystem with side-by-side Software as a Service (SaaS) apps

jeetendrakapase_0-1721771204124.jpeg

 

 

What and why about the clean core concept?

Let's understand the meaning behind the Clean + Core .

Clean...  up-to-date, transparent, unmodified, consistent, efficient, and cloud compliant.

Core...  the main aspects of an ERP system are extensibility, processes, data, integration, and operation.

The clean core is an extension methodology concept with the basic goal i. e Extensions should not break an upgrade and upgrades should not break an extension. Follow the rules:

    1. Fit-to-Standard: Leverage SAP standard processes when possible.
    2. Apply a zero-modification policy from the project’s first day.
    3. Leverage the full potential of new extension options (In-App, Developer, or Side-by-Side ) which fit your needs best.​Use whitelisted and released APIs .​
    4. Eliminate enhancements that are redundant to standard code and functionality, as well as “clones” of standard code.​
    5. Think and act like moving SAP S/4HANA on-premise to SAP S/4HANA Cloud by using the capabilities of SAP BTP Extension & Integration Suites for application development and integration.

Some principles when building extensions to keep the core clean.



 

jeetendrakapase_1-1721771204201.jpeg

 

Clean Core for Developers: Prioritize Standard Functionality Before extending SAP S/4HANA, explore all other options to fulfill your needs.

Here's a developer-friendly approach to a Clean Core strategy:

  1. Exhaust Standard Solutions: 
    • Prioritize using pre-built, Clean Core-compliant partner solutions.
    • Leverage the latest SAP S/4HANA functionalities like SAP Fiori and built-in features.
    • Utilize SAP Signavio tools to identify relevant standard SAP solutions and avoid unnecessary extensions.
  2. Extend Only When Necessary:
    • Implement custom extensions only if essential.
    • Ensure these extensions are upgrade-stable and well-documented for future maintenance.
    • Focus on actively used extensions and eliminate any unused or redundant ones.
  3. Maintain Clean Code:
    • Adhere to strict code quality standards and best practices.
    • Avoid replicating existing SAP functionalities within your extensions.
    • Streamline processes by decommissioning inefficient ones.
  4. Embrace Innovation:
    • Utilize the latest SAP S/4HANA features like SAP Fiori, Machine Learning, and Situation Handling to address your needs without extensions.
    • Take advantage of new business processes that are available only through SAP Fiori.

How to

plan and adopt a clean core strategy for an SAP S/4HANA ERP transformation project?

    • Greenfield project: Start with the stay clean strategy to bring the system the system closer to standard processes, and keep the system up-to-date, including modern extensibility and integration options and data governance. Follow the clean core principles from the beginning.
    • Brownfield project: Start with the get and keep clean strateg y to bring system the system closer to standard processes, including clean core principles for all new ERP deployments.

      Develop a roadmap with iterative steps for existing systems to achieve a clean core. Recognize clean core is a continuous journey, not a one-time fix.

Understood! Tell me the benefits of it:

    1. Reduce TCO (Time, Effort & Cost)
      1. Flexibility with faster deployment and Ready for a smooth upgrade.
      2. Reduce test efforts for business users and Adoption efforts for developers.​
      3. IT service providers can offer upgrade projects at a fixed price.
      4. No costly maintenance for unused artifacts and data.

    2. Innovation at Market Speed .
      1. Captivate innovation delivered by SAP.
      2. React fast to changing business requirements.
    3. Data to value.
      1. Consistent data allows for reliable forecasting and predictions for confident decisions.
    4. Become cloud-ready and Competitive at any point in time.
      1. Moving SAP S/4HANA on-Premise to SAP S/4HANA Cloud.

Learn more, Get your organization in shape: Keep a Clean Core with SAP Business Technology Platform.

Now you have clarity clean core concept and benefits. Let's get into the main topic.

What is the new extensibility model?

This new SAP S/4HANA Cloud extensibility model, first introduced in SAP S/4HANA Cloud public edition, is now available and recommended in all SAP S/4HANA editions, to achieve the following:

    • Smoother upgrades.
    • Little to no testing efforts.
    • Simplified adoption and LOBs drive innovation timelines.
    • Standardized and optimized business processes.
    • Pave the way to the cloud.

Let's understand the various new options/tools available to create stable extensions in the SAP S/4HANA ERP system by following the clean core principle, even when the classic extensibility model is still available for the on-premise, private editions and recommendations are NOT to adopt it.

 

SAP S/4HANA Extens ibility Model Options

jeetendrakapase_2-1721771204227.png

 

 

The new extensibility model in SAP S/4HANA can be divided into three parts:

    1. Key User Extensibility in the SAP S/4HANA Core (Stack)
    2. Developer Extensibility in the SAP S/4HANA Stack
    3. Side-By-Side Extensibility on the SAP Business Technology Platform

1. Key User (In-app) Extensibility

SAP Fiori extensibility apps(tools) help you customize applications and their UIs, reports, email templates, and form templates using a low-code/no-code(LCNC) paradigm.. Using extensibility apps, you can create extensions without the need for extensive coding skills. Some development skills are recommended for developing custom business objects and adding business logic using the cloud ABAP web editor. Scenario

Extensibility tools empower key business users to make non-disruptive customizations to the system on their own, minimizing risk and allowing them to focus on adding business value and no deep technical knowledge required.

Use-cases

    • UI adoption for screen layouts such as moving/hiding fields and field groups, changing labels, etc, custom forms, and templates
    • Custom CDS views and analytical apps.
    • Custom business objects with minimal coding effort.
    • Data source extension: Extend SAP CDS Views and OData Services with SAP fields that are available in CDS views in "lower layers'' of the Virtual Data Model
    • Custom fields to standard business objects. The custom field is then available in the entire application stack (from the UI to the database tables or for developer extensibility).
    • Custom business logic using Cloud BADIs
    • Custom Reusable Elements - Custom Code List and Custom Libraries.
    • Add custom fields to a process group (e.g., from sales quotation and sales order to delivery and invoice) to provide consistent end-to-end extensibility.
    • Copy and adapt print and email form templates.
    • The adaptations made by a key user are registered in transport requests for propagation into QA and PRD systems.

Benefits

    • Fully managed and tightly integrated into the SAP S/4HANA stack.
    • No or only very basic development skills required

User Personas Business expert, functional consultant, SME, or even IT resource Tools Extensibility Fiori Apps, Cloud ABAP web editor Clean Core Index High Learn More

The main argument for using key user extensibility is that simple extensions can be realized quicker than with developer extensibility because of the communication overhead between the business expert (responsible for the specification of the extension, and later for testing and approval) and the developer (responsible for development and developer test) is avoided.

Find other Key User Extensibility apps:

    1. Go to the SAP Fiori apps reference library
    2. Search for the title of the app you want to configure
    3. Choose your product (S/HANA Cloud or S/4HANA)
    4. Change to the tab Implementation

Key user Extensibility Pattern Architecture:

jeetendrakapase_3-1721771204205.jpeg

 

Key User Extensibility Tools

jeetendrakapase_4-1721771204208.jpeg

 

 

2. Developer Extensibility

This option bridges the gap between the key user and side-by-side extensibility options.It enables you to develop custom ABAP code and partner extensions in an upgrade-stable, cloud-ready programming model using the ABAP Cloud development model.  Scenario

Custom ABAP development projects that need tight coupling to SAP S/4HANA data, transactions, or apps that require full access to development capabilities like debugging, refactoring support, version control, etc.

Use-cases

    • ABAP-based custom apps and extensions that are developed with a new cloud-ready ABAP RAP model on released APIs.
    • Custom applications with SQL access to SAP S/4HANA data cannot be realized by side-by-side or data replication.
    • Custom extensions running in the same logical unit of work (LUW) as SAP applications
    • Custom remote APIs or services for side-by-side SAP BTP apps
    • SAPUI5 Adaptation Project to extend the SAP Fiori application

Benefits

    • Full access to development capabilities inside the S/4HANA stack.
    • No remote access or data replication.
    • Use and extend released SAP S/4HANA objects.

User Personas ABAP developer, Fiori (UI5) developer Tools Eclipse-based IDE (ABAP Development Tools)

SAP Business Application Studio (SAPUI5 Adaptation Project), VS Code Clean Core Index High Learn More

    • Eclipse-based IDE (ABAP Development Tools) with a debugger, troubleshooting, and testing tool support
    • A cloud-optimized subset of ABAP language i.e. ABAP Cloud syntax .
    • ABAP RESTful Application Programming model (RAP) to build upgrade-safe extensions inside your core ERP system.
    • Only use released APIs and the stricter syntax check of ABAP Cloud. (Note that to fully utilize this you need to be on a recent version of S/4HANA >= 2022 though it's still possible to follow this system with older releases.)

In contrast to side-by-side extensions, on-stack developer, and key user extensions are developed and run on the same software stack as the underlying SAP S/4HANA system. This allows extensions to direct access SAP S/4HANA logic and data via SAP extension points(BAdis), local public CDS views, SAP-released APIs, or SQL queries.

Developer Extensibility Pattern Architecture

jeetendrakapase_5-1721771204209.jpeg

 

 

ABAP cloud development in the private cloud and on-premise editions of SAP S/4HANA​
    1. Switch from classic ABAP extensibility (standard ABAP) to ABAP for cloud development for a development object or package
    2. Inspect the “Release state” for used APIs and objects
    3. The ABAP cloud development model ensures that only released local APIs of the underlying ABAP Platform can be used.

ABAP for Cloud Development

 

jeetendrakapase_6-1721771204212.jpeg

 

Developer Adaptation Project

 

SAPUI5 Adaptation Project allows developers (typically a user from the IT department) to extend the SAP Fiori application in SAP Business Application Studio. Developer adaptations are modification-free, upgrade-safe, and can extend standard apps without needing pre-defined extension points.SAPUI5 Adaptation Project lets you create an app variant for an existing SAP Fiori elements-based application or freestyle application, on the SAP S/4HANA on-premise ABAP system or the Cloud Foundry environment and provides extension capabilities for UI5 controls.
UI adaption requirements can be covered by either key user or developer project adaptation, it is up to you to decide. Using key user adaptation of course has the advantage that it is a no-code environment, easy to use for business experts and it comes without the need to set up an IT project in the BAS. Hence most customers choose to use key user adaptation as much as possible. Learn more about when to use adaptation projects and use cases.

Adaptation projects are currently only supported on the S/4 HANA on-premise ABAP system or the Cloud Foundry environment, for the S/4HANA cloud it may be supported in the future, refer to the product roadmap for more details. SAP S/4HANA cloud extensibility explorer.

 

3. Side-by-side Extensibility

Extensions running on the separated (side-by-side) SAP Business Technology Platform (SAP BTP) for all other loosely coupled extension scenarios integrating with the extended SAP S/4HANA system. This model is the preferred option for developing loosely coupled but seamlessly integrated extensions to SAP S/4HANA data, transactions, or apps. Scenario

Loosely-coupled extensions, process automation, and applications, such as partner SaaS solutions or custom applications targeting a different end-user group.

Use-cases

    • Proxy applications for a separate target group (no ERP users)
    • Convenience application workload that shall run separated from ERP
    • A custom application that will run in parallel with ERP reducing the load on the operational system.
    • Custom applications needing proximity to intelligent SAP BTP services like machine learning, AI, etc.
    • Substitute apps integrating with several ERP and cloud services
    • Partners want to provide a SaaS solution and therefore need to operate their service independently of the SAP S/4HANA system.
    • ABAP and non-ABAP (Java, Node.js, etc.) developments
    • Extend UI application using a no-code application like SAP Build Apps
    • ERP Workflow and business process automation
    • Pre/Post processing applications for S/4HANA system.
    • Analytical applications.

Benefit

    • Decoupled extensions and developments that are independent of SAP S/4HANA operation and run independently.
    • Independent lifecycle management.
    • Choose to use ABAP or non-ABAP (Java, Node.js) development.

User Personas ABAP developer, BTP full-stack developer, Citizen developer Tools

PRO-CODE:
                   - Eclipse-based IDE (ABAP Development Tools)
                   - SAP Business Application Studio / SAP Build Code
                   - VS Code
                   
LOW-CODE:
                   -SAP Build Apps
                   -SAP Build Process Automation
                   -SAP Build Work Zone  

Clean Core Index Medium to High Learn More

Develop custom code side-by-side extension and SaaS solutions using ABAP RESTful Application Programming Model (RAP) and SAP Cloud Application Programming Model using Java, or Node.js. Use no-code/low-code applications like SAP Build Apps, Process Automation, and Build Workzone to build custom applications, process automation, and workflow management. One main difference compared to the on-stack extensibility model is that accessing business objects of SAP S/4HANA Cloud is only possible using remote APIs which are published in the SAP API Hub.

Side-by-side Extensibility Pattern Architecture

jeetendrakapase_7-1721771204213.jpeg

 

 

3.1 PRO-CODE

 

ABAP RESTful Application Programming Model (RAP)

New ABAP programming model for efficiently building cloud-ready enterprise apps and upgrade-stable extensions on SAP BTP ABAP environment, SAP S/4HANA Cloud, SAP S/4HANA Cloud ABAP environment, and SAP S/4HANA 1909 and higher.

    • RAP is a powerful framework consisting of a set of concepts, tools, and languages.
    • A strategic long-term solution for the ABAP developments.
    • Help developers to build innovative, cloud-ready, enterprise applications of different domains, such as transactional and analytical applications.
    • RAP offers a standardized development flow based on Core Data Services (CDS), the ABAP language, and business services in the modern, Eclipse-based ABAP Development Tools (ADT) .
    • RAP is available on
      • SAP BTP ABAP Environment (Steampunk), provides the ABAP platform as a service (PaaS) on SAP BTP. ABAP-minded customers and partners can reuse their ABAP skillset to build new cloud solutions, or to transform already existing on-premise ABAP assets to the cloud.
      • SAP S/4HANA ABAP Environment (Embedded Steampunk)

High-level RAP Programming Model

jeetendrakapase_8-1721771204214.jpeg

 

 

SAP Cloud Application Programming Model(CAP)

An open and opinionated framework of languages, libraries, and tools for building enterprise-grade services and applications. The CAP framework features a mix of broadly adopted open-source and SAP technologies

    • CDS is the backbone of the SAP Cloud Application Programming Model (CAP) to build data models, defining the UI layer with those definitions (annotations)  and service definitions on a conceptual level.
    • CAP-based projects benefit from a primary focus on the domain rather than delving into overly technical disciplines.
    • SAP programming model is compatible with any development environment, but recommend using the SAP Business Application Studio.

jeetendrakapase_9-1721771204215.jpeg

 

 

High-level CAP Programming Model

SAP CAP Vs RAP model, which one to choose? The choice of the programming language for your extension – ABAP, Java, or JavaScript is decisive.

CommonABAP RAP  ModelSAP CAP Model
• RESTful OData services

• Core data services (CDS)

• Built-in extensibility capabilities, enabling users to extend both SAP Cloud Application Programming Model and ABAP RESTful application programming model in a similar way as with the

key user (in-app) extensibility of SAP S/4HANA
• ABAP programming language

• Git-enabled lifecycle management

• Offers a service consumption model for easy remote OData service calls

• Enables the possibility to reuse selected custom code in the cloud with SAP BTP, and ABAP environment, while rebuilding the UI and backend access

• Eclipse IDE
• Supports Java or JavaScript (node.js)

• Enables applications originally written as a single-tenant applications to be turned into multitenant ones through configuration

• Leverages event-based communication using the SAP Event Mesh capability

• Wraps the REST service calls to the underlying back-end system to Java or JavaScript functions using SAP Cloud SDK

 

3.2 LOW-CODE

 

SAP Build Apps

Evolution of SAP AppGyver is a professional application development solution designed for anyone to quickly create apps without code regardless of role or skill level.

    • Build Full-Stack Enterprise-Apps in Minutes - Absolutely Zero Coding Required
    • Drag-and-drop the user interface and Create any logic without code.
    • With SAP Build Apps everyone can become a full-stack cloud developer.
    • Easily add your own data integrations or get started with some of ours.
    • Users can design both mobile and web applications with a pixel-perfect design using the drag-and-drop functionality and a rich component library.

Note: SAP Build Apps is still evolving and due to limitations on the availability of different hyper scalers, other low code and pro code solutions become equally important.

SAP Build Process Automation

 

A citizen developer solution to automate workflow processes and tasks without writing code.
    • Users can create forms, manage decision logic, and build, adapt, and organize process flows with drag-and-drop simplicity.
    • Automate repetitive manual tasks - such as copy-and-paste operations, data extraction, data entry, and data creation - using no-code and low-code capabilities or the built-in automation recorder.
    • Built-in AI capabilities enable intelligent document processing –like extracting data from structured or unstructured documents to transfer it to your enterprise systems for processing - without needing data scientist support.
    • Simplifies process and task automation so business users can unleash their process expertise without writing code.
    • Adapt, improve, and innovate business processes with no-code workflow management and robotic process automation capabilities.

SAP Build Work Zone

 

Enables non-technical professionals to navigate complex enterprise technology systems, landscapes, and tools. With drag-and-drop and customization tools to create portals, intranets, and workspaces, you can bring together all types of content, UI tools, IT systems, content repositories, applications, and channels.
    • Users can create beautiful, custom business sites for themselves, colleagues, suppliers, customers, partners, etc., without writing any code.
    • Business sites created with SAP Build Work Zone provide central access to relevant applications, processes, and information.
    • Maximize productivity by enabling guided experiences and knowledge sharing.

​The three extensibility options are not isolated from each other. In many scenarios they are combined, for example, developing a side-by-side application in conjunction with a thin on-stack extensibility layer that offers more suitable remote APIs to access the SAP S/4HANA Cloud functionality.

 

4. Classic Extensibility (Not available in SAP S/4HANA public edition)

This is the traditional way of the SAP ECC or S/4HANA on-prem enhancement for RICEFW ABAP custom object development like user-exits, customer-exits, classic BAdis, implicit/explicit enhancements, BTE, module-pool, etc using transaction code SE38, SE80, SE11 (SAP GUI, Eclipse ADT). Scenario Requirements that are critical for lifecycle management or business operations and NOT possible using 3 modern extensibility options(Key user, developer, or side-by-side) Use-cases

    • Non-released BAdis, classic user exits business-critical logic.
    • Lastly, anything that is not possible to accomplish using modern extensibility options for must-have type business application requirements.

Benefit

    • Extremely powerful and flexible.
    • No restriction on the extension model.

User Personas ABAP developer Tools SAP GUI - Tcodes

Eclipse-based IDE (ABAP Development Tools) Clean Core Index Low Learn more

Basically using non-released objects from S/4HANA and an ABAP standard version (non-restricted). No restriction on the extension, it even allows you to modify the standard SAP code itself. Hence, upgrade effort increases and agility/innovation speed decreases.

jeetendrakapase_10-1721771204217.jpeg

 

 

Classic Extensibility Pattern Architecture

 

jeetendrakapase_11-1721771204219.jpeg

 

 

In SAP S/4HANA On-Premise –The classical extensibility option is available but not recommended .

 

 

Available extensibility options for SAP S/4HANA editions

Key user, developer, and side-by-side extensibility are available for public and on-premise editions while the classic extensibility model is available only for an on-premise edition.

 

 

jeetendrakapase_12-1721771204219.jpeg

 

 

3-tier extensibility model for SAP S/4HANA On-premise and PCE editions

Refer official guide Chapter 5: EXTENDING A NEW SAP S/4HANA CLOUD PRIVATE EDITION OR SAP S/4HANA ON-PREMISE SYSTEM

jeetendrakapase_13-1721771204221.jpeg

 

 

3-tier extensibility model

How to



How to handle Classic Custom Code migration?

 

This is the most important step for customers who have been using classic extensibility with the standard ABAP. For them, it's a two-fold process:
    1. Analyze the classic ABAP custom code with the Custom Code Migration App to estimate the impact. Custom Code Analysis for SAP S/4HANA with SAP Fiori App Custom Code Migration
    2. Detect and Retire unused classic ABAP custom code. In the analysis, it is found that roughly 60% (sometimes even more) of the code is not used productively in a typical ERP system. Removing obsolete code significantly reduces the effort for custom code adaptation. At the same time, this is certainly a first step toward a clean digital core.

Learn more: ABAP Testing and Analysis

Clean Core Dashboard:

The Clean Core Dashboard is a tool for monitoring the clean core compliance of your productive SAP S/4HANA Cloud Private Edition systems. Launched in August 2023 through the SAP for Me portal (Systems & Provisioning), it provides insights into how closely your system adheres to clean core principles. This dashboard is continually evolving, with new KPIs planned for future updates.

Important Note: Access to the Clean Core Dashboard is restricted to:

  • Productive Systems
  • SAP S/4HANA Systems that are RISE Systems managed by SAP Enterprise Cloud Services (ECS)

jeetendrakapase_0-1719328784004.png

 

 

ABAP Cloud Use Cases - Overview and Recommendations


Refer official guide: ABAP Cloud - Technical Use Cases and Recommended Technologies

 

Classic RICEFW Vs Modern Extensibility With BTP

 

Classic RICEFWModern Technology/Extensibility
Reports•SAP Fiori Analytical Apps
•SAP Custom Fiori Apps
•Decoupled from the core on BTP using released APIs, Integration Suite
•SAP Analytics Cloud
Interfaces• Extension of standard OData services or creation of new ones based on custom core data services (CDS) views with SAP S/4HANA key user (in-app) extensibility
• SAP Integration Suite
SAP Application Interface Framework tool (part of SAP S/4HANA)
• Event brokering using SAP Event Mesh
Enhancements•Custom business logic with SAP S/4HANA in-app extensibility and Developer Extensibility
•BTP Cloud Foundry Runtime, Event Mesh - Business Events / Workflow
Custom Tables•Custom business objects with generated UI with SAP S/4HANA in-app extensibility and Embedded ABAP
Modifications•Key user (in-app) extensibility in SAP S/4HANA covers a wide range of business requirements for UI adaptation and business logic.
•On-stack Developer Extensibility
•Developer Adaptation Project
ConversionsSAP S/4HANA migration cockpit to load data
Forms• SAP S/4HANA output management: custom forms with Adobe LiveCycle Designer with OData as a data source
Forms as Service on BTP
WorkflowsSAP S/4HANA flexible workflow
•SAP Build Apps.
User Interface•SAP Mobile Services, SAP Build Work zone.
•SAP Fiori, UI5
Data-Marts• Embedded BW with CDS views, Table Functions, and AMDP or SAP Datasphere, BW/4HANA, HANA cloud
Machine Learning•Embedded ML based on SAP Analytics cloud.
•Side-by-Side ML is used for Complex ML scenarios based on the SAP BTP (Data Intelligence, SAP HANA PAL, AI Business Services, AI Core).
Intelligent Scenario Lifecycle Management (ISLM) scenarios in SAP S/4HANA


 Decision Tree for Extensilibty Options

jeetendrakapase_0-1721770748970.png

Decision Matrix for Extensibility Options


Refer official guide Chapter 3: WHEN TO USE WHICH CLOUD EXTENSIBILITY OPTION

Requirements
Key-User
Developer
Classic
Side-by-side
End-Users and User Experience (UX):
External users (B2B / B2C, Fiori, non-Fiori) for service orders, master data self-services etc.   X
Multi-Channel (mobile) and Mobile native capabilities   X
Allow collaboration with business partners and internal employees who don't have full access to the SAP system.   X
Involve employees (B2E) without access to the business solution   X
SaaS solution integrates SAP and third-party on-premise, cloud, and hybrid products   X
Adapt existing UIs based on the SAP Fiori UXX   
Modernize existing UIs or redesign them for a better user experience.   X
Open-source components and freestyle UI (non-SAPUI5/SAP Fiori)   X

Business Processes:

Extend standard functionalities with focus on SAP S/4HANA data. X*X 
Develop separate applications with occasional data exchange with SAP S/4HANA. X*XX
Extensions that store custom data in the same logical unit of work as the extended SAP S/4HANA appX   
Strong consistency with SAP transactions (e.g., updates in the same logical unit of work).XX*X 
Tightly coupled and highly complex extensions directly interwoven with SAP code.  *X 
Non-released BAdis, classic user exits business-critical logic  *X 
Is a hub scenario (i.e., integrates with SAP and Non-SAP solutions and services)   X
Application with unpredictable or largely varying usage and resource consumption (scalability and elasticity)   X

Data and Analytics:

Analytical Key User Use CasesX   
Analytical application consuming standard and custom data residing in SAP S/4HANAXX  
Consolidate data from various sources (SAP and external systems) for analysis.   X
Emerging Technologies, e.g. AI,ML, also from other Hyperscalers   X

Features:

Agility and independence on the back-end lifecycle   X
Reactive (event-based) process extensions and custom workflows   X
Use of SAP and third-party cloud services   X
Application with unpredictable or largely varying usage and resource consumption (scalability and elasticity)   X
Non-ABAP, Other Skillset (Benefits from a broad spectrum of developers with different skill sets )   X
Can or should be decoupled (loosely coupled) from SAP S/4HANA coreX   
Is a hub scenario (integrates with SAP and Non-SAP solutions and services) X  
*X - Not applicable for S/4HANA Public Cloud

The clean core is a journey to be agile, reliable, and more efficient. You can not just switch it on overnight. 😉

Questions?, Please use the blog comment feature or reach out to me on Linkedin.

Summary

    • SAP S/4HANA provides a new extensibility model that clearly separates standard and custom developments.
    • The classic extensibility option is not available for SAP S/4HANA public edition.
    • A clean core strategy is important for customers to consider while extending an ERP application and be ready to consume product updates and innovations.
    • Key-user extension is a great tool for business users without the need for IT support.
    • Side-by-Side is an extensibility model that provides freedom to choose ABAP, Java, Node.js, etc., and build a full-stack application that will run in parallel with core ERP processes.
    • An embedded ABAP environment offers values for both greenfield and brownfield projects.
    • Retire unused code, Custom code migration and developments with modern cloud ABAP is a go-forward strategy to become cloud competent, modularized, and agile for business needs.

References:

    1. SAP Business Technology Platform ABAP Environment – Solution Overview
    2. Extend SAP S/4HANA in the cloud and on premise with ABAP based extensions
    3. Developing on ABAP Platform - Extensibility
    4. SAP Extensibility Explorer for SAP S/4HANA Cloud
    5. Custom Extensions in SAP S/4HANA Implementations - A Practical Guide for Senior IT Leadership


Credits: This blog has been put together by combining the incredible efforts, suggestions, and feedback from the ABAP platform PM team (Olga Dolinskaja), CoE expert (Subit Benny), and Solution advisory expert (Ruhi Naaz Quadari) when deciding on the extensibility of S/4HANA using the Clean Core concepts.
 

60 Comments
pbist0103
Participant
0 Kudos

Hey buddy,

Guess what there are large number of such customers who foot big bills to us and pay huge licensees to SAP. And not everyone in the world is dreaming to be on the clouds. SAP is still selling boat loads of on premise licenses and these customers are making investments for decades.

So, in short no they won't move their ERP solutions to cloud they love to be in control of their assets. And they will loose you are right. Yeah they will but if they move. In reality these deep pocket customers buy standalone cloud licenses of Ariba or Salesforce or other stuffs but keep the core ERP at home.

 

Any ways my point was to highlight this clean core marketing does not fits with in the on-premise world but may be still the marketing loves to tell them something that would be  ridiculous to do though you still get to bill them for the discussions of something you yourself would absolutely never do. right?

 

Thanks,

Prasenjit

Frank1
Participant
0 Kudos
Hi Prasenjit,

Thanks a lot for sharing, large SAP ERP customers might prefer to stay on SAP ECC/SAP S4HANA On-Premise/SAP S4HANA cloud private edition, right? For SAP S4HANA On-Premise/SAP S4HANA cloud private edition customers, when doing extension for customers if not follow the clean core concept and do the same as before following the classic approach, then might face big problems when doing the upgrade for S4HANA On-Premise/SAP S4HANA cloud private edition, such as an upgrade from SAP S4HANA cloud private edition 2021 to 2023, right? I have no upgrade experience, just my assumption.
pbist0103
Participant
0 Kudos

Hello Frank,

 

The on-premise world still does not have a lot of cloud like extensibilities available and given these customers would go for a big customization and SAP has not kept up there are still many BADIs that are not API released or you would still use a lot of customer exits, VOFM and what not. Of you check the SAP documentation or the kind of PDFs they publish these are all still accepted and rather recommended ways. We all know modifications are bad even in ECC and we never do right. Only point is in S/4 SAP will still allow you a lot of enhancement points. So, the summary is SAP itself is part of the problem at most places and may be deliberately doing that to push more people to cloud but at the end of the day those who use such heavily modified ERP will see the real value in on-premise version.

Just imagine the charges for BTP ABAP or other stuffs so, who would like to put an extension there and not directly on the S/4 stack itself?

My point is the so much hyped clean core and side by side or key users are valid only in the cloud world and not on the on-premise given how each customer has different implementations and choices. And the usual problems that you rightly mentioned will be there as expected.

Read this portion from one of their documents for instance ->

Classic business logic extensions should follow the below recommendations below:
• BAdIs: even if a BAdI is not released for usage in cloud development it is a good choice for customers to extend the application. Most likely the BAdI will be released with an upcoming release or will be replaced with a released BAdI as successor.
• User exits, like VOFM, SAPMV45A: user exits are coding parts pre-defined by SAP (form routines, includes) in an SAP namespace where the customer can implement custom code to extend the SAP business process. The predefined coding parts from SAP are stable and typically do not lead to issues after an upgrade. Technically the custom code here is treated as a modification. It is planned that BAdIs will replace these extensions over time.
• Customer exits (SMOD/CMOD): customer exits are the predecessor technology to BAdIs and will be replaced. Anyhow you can still use them in exceptional cases where no BAdIs exist yet in the application. Most likely they will be replaced completely with upcoming releases.
• Explicit enhancement spots: these are extension points that were mainly created by SAP to enable industry-specific adaptations to the core ERP applications. We recommend using them only in exceptional cases to include custom-defined BAdIs into the SAP core. You should not directly include extension code in the enhancement spot.
• Implicit enhancement spots: this extension technique is very similar to modifications and should therefore not be used to extend the core applications.

Source- https://www.sap.com/documents/2022/10/52e0cd9b-497e-0010-bca6-c68f7e60039b.html

https://learning.sap.com/learning-journey/explore-sap-cloud-erp/defining-release-upgrades-for-the-sa...

Frank1
Participant
0 Kudos

Hi Prasenjit,

Thanks a lot for sharing and interesting discussion.

Yes, classic extension still valid for long time as lots of customers might keep on on-premise world.
But I also believe more and more will choose public cloud, a cloud-first approach is becoming the new normal powered by software-as-a-service (SaaS) applications with AI/ML, digital assistants such as SAP announced SAP Joule. I believe more and more businesses process will be enabled with Generative AI capabilities.

As ABAP consultants working on ABAP for many years, in the new world faces lots of challenges and lots of new thing need to explore and practice such as you mentioned BTP ABAP cloud, SAP UI5, Fiori and etc. And if want to be good architects not pure ABAP consultant,and can give suitable solutions such as when to use what on cloud world(SAP BTP CAP , SAP BTP ABAP cloud, BTP integration) , need to learn a lot. We have a long journey for SAP Public cloud world, eventhoug currently not many customers choose PUBLIC CLOUD, but I believe public cloud is the future.

pbist0103
Participant
0 Kudos

I agree with you and we keep learning that is not and should not be our problem as we work for System Integrators and we deliver whatever comes to us. If in 2023 someone asks me to write a Web Dynpro ABAP app I will have to do that and if some one says maintain my smart form I will do that. So, in a year I work on multiple projects with RAP or ALV or Module Pool or WDA and everything good or bad. My point is we learn and we deliver the things on Public Cloud as well. Even for one of my customer we did clean core because they wanted it that way. They dropped where it was not possible but wanted clean core. Now what about the majority, so it will be the tool as  and when required. Right?

My only objection is always the way SAP sources hype things. Clean Core and Cloud Extensibility is not possible always 100% in on-premise but the way people try to ring them is like this is the new religion you have to follow else you are done. I just care about those boundaries and demarcations and that is what this led to my comments. How many do care about Joule or their IoT and so many things. How many use event mesh? There will always be some takers and some will only use the core ERP processes on SAP and not do everything. Again the point is extending on-prem core applications.

Generative AI I believe will come to on-premise also or as a BTP service that is okay, we are talking about the core business applications. I am not sure how cloud journey will go for all customers but there are 2 camps and let's respect it. Let's not make it like the cold war or assume it's a unipolar world. It's actually multi polar as you not only have cloud, private etc. but many are still on ECC and will continue for a decade or so more to come and they have their own wisdom and reasons we can not force them to come ride with us the S/4 or the S/5 wave if any at all after 2040.

Frank1
Participant
0 Kudos
Hi Prasenjit,

Totally agreed with what you mentioned, also learned a lot from your comments. Our customers always come first. We delivere what our customers want and what’s the best for our customers. Yes, ECC, S4 OP, S4 Public Cloud, S4 Private Cloud, SAP BTP, and etc and etc, definitely coexists for long and long time. Hope SAP ecosystem becomes more and more successful, and all of us working in SAP ecosystem have bright future.
jeetendrakapase
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi Prasenjit - Thank you for sharing your thoughts.

It's a recommendation to start using a new extensibility model by looking at the benefits for the customers. As mentioned it's NOT an on/off switch it's a journey to move away from classic extensibility towards a new cloud extensibility model. To be clear clean core adoption is a customer choice for on-prem customers, We (SAP) understand that one size does not fit all meaning that there will still be exception customers who may continue using the classic extensibility model based on the business goals and requirements.

We also want to have a positive mindset to accept, understand, and adopt ERP extensions. Classic extensibility which you are talking about no doubt provides immense flexibility, however, there is also a downside considering the innovation & Gen AI era in the business. We (SAP) want to bring the latest innovations, process optimization, Gen AI, and automation capabilities with faster ERP releases and if the customer is ready for an update/upgrade they will directly benefit.

Do customers want a 1-2 year upgrade project or 1-3 upgrade months? The obvious answer is sooner the better considering cost, timelines, innovation, and less testing effort, a customer needs competitive ERP systems for competitive business, etc.

For your point 3 - extend business functionality:

>Modifications e.g. SAPMV45A user exit for Sales Order Processing, instead use released BAdi (or monitor if SAP released BAdI can be used) It is planned that BAdIs will replace these extensions over time.

>Customer exits (SMOD/CMOD): customer exits are the predecessor technology to BAdIs and will be replaced. Anyhow you can still use them in exceptional cases where no BAdIs exist yet in the application. Most likely they will be replaced completely with upcoming releases.

Thanks,

Jeet

pbist0103
Participant

Hello Jeetendra,

Agreed but I do believe your on-premise customers are not looking to jump on the cloud anytime soon 🙂 It should not be a surprise to SAP itself that in their own heartland there are users with S4H on-premise who won't move to cloud in decades and forget cloud they even don't activate the Fiori apps because they are power-users so where would you do UI adaptation, key user stuffs, RAP and RAP BO and all the cool stuffs 🙂 Yep again there are some who go for both flavors but very rare ones when it's on-prem

Customer exits (SMOD/CMOD): customer exits are the predecessor technology to BAdIs and will be replaced. Anyhow you can still use them in exceptional cases where no BAdIs exist yet in the application

We already write them as technical debt and when you(SAP) makes the BAdIs available we or their new vendors will change them. We try to follow wrappers blue listed APIs whatever we can as per the recommendations. But then cloud and on-prem are different.

The summarization is still the same what the customer  wants- the cloud stuffs are cool but then that is in cloud and some customers will stay back on the on-prem because of obvious benefits they get.

I won't mind if S/5 comes out only on cloud 😛 at least less confusion and less questions to answer to the customers. One code line single unified technology no support for the bygone era clean stuff

Thanks for taking out time and responding.

Best regards,

Prasenjit

 

Chunleng
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi,

I fully agreed. This is a good blog and what will be of interest as a natural next step is to discuss about a framework and best practices to guide our customers and partners to assess existing custom code landscape and to move to a clean core setup. I am thinking of the ABAP Test Cockpit as a tool, how to rid of unused codes and move chunk by chunk over to few options of extensions.

Looking forward to any recommended that depicts the above content.

CL
ChetanSharma
Explorer
0 Kudos

Excellent Blog !!!