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: Describing Application Development and Automation Services

Introduction to the Lesson: Describing Application Development and Automation Services

This lesson introduces the learner to application development and automation in the context of SAP BTP. It begins with a discussion of extensibility in general and some basic terms used. Next we cover the concepts of clean core and the SAP S/4HANA Cloud extensibility model. Finally we look at some of the specific SAP BTP services used for application development and automation.

This lesson contains the following topics:

  • Extending SAP Systems
  • Basic Terms Explained
  • Clean Core
  • SAP S/4HANA Cloud Extensibility Model
  • Three Tier Extensibility Model
  • SAP BTP Application Development and Automation Portfolio
  • SAP Build Apps
  • SAP Build Code
  • ABAP Development Tools for Eclipse (ADT)
  • SAP Build Process Automation

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, and classic extensions as well as 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..

SAP S/4HANA Cloud Extensibility Model.

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 (i.e., 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 (i.e., 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 irregardless of the deployment option chosen for SAP S/4HANA, in certain (and hopefully rare) situations (i.e., mission critical legacy code not currently able to be refactored in ABAP Cloud) classical ABAP and classical extensibility techniques may still temporarily need to be used. 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 utilized 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 will 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 Rapid Application Development (RAD) methodology.

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 & AnalyticsSAP DataspherePython tools
SAP Analytics Cloud 
AutomationSAP Build Process Automation 
AI Joule

The Clean Core Concept

Summary

Clean Core is a philosophy and an approach which aims to maximize the ability for customers to innovate with SAP S/4HANA by utilizing a best practices methodology in regards to areas such as business process design, extensibility and integrations. Regarding clean core extensibility for example some principles are that extensions should be avoided if possible and extensions should 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 (i.e., business processes, extensibility, integration), various factors are emphasized.

Overview Clean Core

What is Clean Core?

"Core" means:

By "Core" we are referring 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:

By "Clean" we mean 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.