Describing Application Development

Objectives

After completing this lesson, you will be able to:
  • Exploring the various extension options for SAP S/4HANA
  • Exploring platforms for software development and the clean core concept

Introduction to the Lesson: Introducing Application Development

This lesson provides an introduction to the various extensibility options for SAP S/4HANA and SAP BTP. It also explains the Clean Core concept, which aims to maximize the ability for customers to innovate with SAP S/4HANA by using a best practice methodology regarding areas such as business process design, extensibility, and integrations.

This lesson contains the following topics:

  • Extensibility Overview - Extensibility options.
  • Platforms for software development.
  • The Clean Core concept.

Extensibility Overview - Extensibility Options

Summary

This unit provides an overview of SAP S/4HANA extensibility options, including on-stack options such as key user, developer, classic extensions, and side-by-side options on the SAP Business Technology Platform (SAP BTP). Each option is explained in detail and how each of them can be applied depending on business requirements and implementation scenarios.

Introduction

The following is an overview of the SAP S/4HANA Cloud Extensibility Model. The various components are explained briefly here and in subsequent lessons.

On-Stack (Extension Located on SAP S/4HANA)

  • Key User Extensibility (implemented by using ABAP Cloud in SAP S/4HANA Cloud ABAP Environment; formerly known as In App Extensibility)
  • Developer Extensibility (implemented by using ABAP Cloud in SAP S/4HANA Cloud ABAP Environment; introduced with SAP S/4HANA Cloud 2208 and SAP S/4HANA 2022).
  • Classic Extensibility (only available in certain deployments (private edition | on-premise); implemented by using classic ABAP development techniques).

Side-by-side (Extension Located on SAP BTP)

  • SAP BTP, ABAP environment (ABAP Environment provided on SAP BTP).
  • Other environments, such as SAP BTP, Cloud Foundry environment, SAP BTP, Kyma runtime. When running applications in the Java or Node.js, connectivity to SAP S/4HANA Cloud (as well as other SAP cloud products) is supported by the SAP Cloud SDK.

Where ABAP Code Can Be Placed?

Taking the specifics of the SAP S/4HANA Cloud Extensibility Model into account ABAP code can therefore be placed in the following locations:

  • SAP S/4HANA Cloud public edition (ABAP Cloud only)
  • SAP S/4HANA Cloud private edition (ABAP Cloud recommended; Classic ABAP permitted)
  • SAP S/4HANA (on-premise) (ABAP Cloud recommended; Classic ABAP permitted)
  • SAP BTP, ABAP environment (ABAP Cloud only)

ABAP Development Tools In Eclipse is used for ABAP Cloud development. For classic ABAP development traditional transaction codes (that is, transaction /SE80 can be used).

Extensibility depending on the SAP S/4HANA Implementations

This architecture diagram shows the various possibilities for extension, depending on the currently available ABAP installations.

Key user extensibility along with developer extensibility is available in all SAP S/4HANA deployment models (that is, public edition, private edition, on-premise).

Traditional ABAP programming (classic ABAP) along with classical extensibility, both of which have been used for many years with various approaches and frameworks, is only available on certain SAP S/4HANA deployments (private edition | on-premise). While ABAP Cloud is the preferred approach regardless of the deployment option chosen for SAP S/4HANA, in certain (and hopefully rare) situations (that is, mission critical legacy code not currently able to be refactored in ABAP Cloud) classical ABAP and classical extensibility techniques may still need to be used temporarily. In this case, SAP recommends for customers to monitor these situations and as soon as ABAP Cloud becomes feasible for usage to refactor legacy code based on ABAP Cloud and retire the classic ABAP accordingly.

It is important to understand these differences to choose the right implementation and extension technology for your organization's specific needs and goals.

Platforms for Software Development

Summary

SAP BTP has various platforms that can be used for software development including both low-code/no-code (LCNC) and pro-code (PC) approaches. LCNC platforms allow users without in-depth programming knowledge to create applications, while PC platforms are used for more complex and extensive IT projects.

Introduction

Software development has changed dramatically over the last 20 years due to technologies such as cloud, mobile, IoT, and Artificial Intelligence/Machine Learning. In light of this development, the importance of agile methods has increased. In this context, you learn about the rise of low-code/no-code and pro-code development platforms.

Low-Code/No-Code Development (LCNC)

LCNC provides tools and functions that simplify development and make it more efficient. Graphical editors for visualizing data models and application components facilitate the configuration of specific elements and promote reusability. These approaches are central to the SAP Rapid Application Development by Mendix.

Sample Low-code/no-code

Pro-Code Development (PC)

In the IT-centered business world, advanced programming skills and flexibility are often required, which falls into the area of pro-code development. At SAP BTP, for example, various programming languages are used in different environments.

Sample pro-code

Comparison

The choice between LCNC and PC depends on the complexity of the application. LCNC can save time and money and allows less technical users to create efficient solutions. However, PC development is often required for sophisticated functions and performance optimization. Both approaches can coexist if a governance framework defines when which approach is appropriate.

Examples with SAP BTP

The following are some examples of the application of LCNC and PC on SAP BTP:

Examples of the Application of LCNC and PC on SAP BTP

SAP BTP CapabilityLCNCPC
IntegrationSAP Integration SuiteGroovy Programming
SAP Event MeshAdapter Programming
App DevelopmentSAP Build AppsSAP Build Code
 SAP Business Application Studio
Data and AnalyticsSAP DataspherePython tools
SAP Analytics Cloud 
AutomationSAP Build Process Automation 
AI Joule

The Clean Core Concept

Summary

The Clean Core concept aims to maximize the ability for customers to innovate with SAP S/4HANA by using a best practice methodology regarding areas such as business process design, extensibility, and integrations. Regarding clean core extensibility, for example, some principles are that extensions must be avoided if possible and extensions must be strictly separated from the standard software and only use released APIs.

Introduction

Clean Core is one of the most frequently mentioned terms in the context of the SAP S/4HANA. Depending on the perspective (that is, business processes, extensibility, integration), various factors are emphasized.

Overview of Clean Core

What Is Clean Core?

"Core" means:

The term "Core" refers to several "dimensions" (or "pillars" if you prefer), each one of which represents a different way that a customer can think about and analyze their ERP system. Those dimensions (in no particular order) are as follows:

  • Processes
  • Extensions
  • Data
  • Integrations
  • Operations

"Clean" means:

The term "Clean" means that for each dimension listed above, a set of best practices, methodologies, and tools exist. If these are used, they allow the customer to consider that dimension to be "clean".

So, for SAP S/4HANA, the term clean core refers to the concept of keeping the core functions of the system as clean and unchanged as possible. This means that customer-specific customizations and extensions must be developed and implemented outside the core system (separated from the standard) instead of making direct changes to the standard code.

The main advantage of this approach is that upgrades and updates to SAP S/4HANA Cloud can be carried out more easily and with less risk. If the core code remains unchanged, there is less chance of compatibility issues or malfunctions after an update. This can also simplify maintenance and troubleshooting as there is no modified code to consider.

Rules:

  • Fit-to-standard - Use standard SAP processes wherever possible.
  • Utilize the full potential of new enhancement options such as on-stack or side-by-side that best suit your requirements and use approved APIs.
  • Eliminate extensions that are redundant to standard code and functions and clone standard code.

Log in to track your progress & complete quizzes