Skip to content

How This Course Fits into the SAP S/4HANA Development Landscape ​

The technologies in this course are not separate topics.

They fit together as part of SAP's modern approach to building and extending business applications around SAP S/4HANA.

The simplest way to think about it is:

text
SAP S/4HANA
=
SAP's standard business processes and business data

ABAP Cloud
=
the modern ABAP development model used to build
upgrade-stable applications and extensions

CDS + RAP
=
the main building blocks for modeling data
and transactional business objects

OData + Fiori
=
ways to expose and consume those business objects

1. The big picture ​

SAP S/4HANA already contains business objects and processes such as:

text
Business Partner
Sales Order
Purchase Order
Material / Product
Journal Entry
Billing Document
Production Order

As an ABAP developer, you normally do not rebuild these from scratch.

Instead, you may:

text
extend an SAP process
build a new custom business object
create a new application
integrate S/4HANA with another system

A modern SAP extension should use supported, released interfaces rather than depend directly on internal SAP implementation details.

That is one of the main ideas behind:

text
ABAP Cloud
Clean Core
released APIs
RAP

2. How the technologies from this course connect ​

A typical custom RAP application looks like this:

text
                User / External System
                         │
                         ▼
                  Fiori / API Client
                         │
                         ▼
                     OData V4
                         │
                         ▼
              RAP Business Service
                         │
                         ▼
             RAP Business Object
              ├─ actions
              ├─ validations
              ├─ determinations
              ├─ authorization
              └─ feature control
                         │
                         ▼
                       CDS
                         │
                         ▼
              Persistence / SAP API
                         │
                         ▼
                    SAP HANA

Each course topic has a place in that picture.

Course conceptWhat it does
ABAPImplements application and business logic
ABAP SQLReads and writes data you are allowed to access
CDSModels business data and relationships
RAPAdds transactional business-object behavior
EMLLets ABAP code consume RAP Business Objects
ValidationPrevents invalid business state
DeterminationCalculates or defaults data automatically
ActionRepresents a named business operation such as Approve or Cancel
AuthorizationControls what a user is allowed to do
ODataExposes the business service to other consumers
FioriProvides the user interface
SAP HANAStores the underlying data

The important idea is:

CDS describes the business data. RAP controls how that business data may be changed.


3. Where SAP S/4HANA fits ​

In the course, you create your own objects such as:

text
ZRESV_###
ZR_RESERVATION_###

That is useful because you control the complete example.

In a real S/4HANA project, there are two common situations.

Situation A — your application owns the data ​

For example, your company needs a completely new internal Risk Review object.

You may create:

text
Custom Persistence
       ↓
Custom CDS
       ↓
Custom RAP BO
       ↓
OData Service
       ↓
Fiori App

This is very similar to the Reservation application built in the course.

Situation B — S/4HANA already owns the data ​

For example:

text
Sales Order
Purchase Order
Business Partner
Material

You should normally work through an SAP-released API, CDS entity, RAP interface, or extension point.

Conceptually:

text
Your Extension
      ↓
Released SAP Interface
      ↓
S/4HANA Business Object
      ↓
SAP-managed data

You should not think:

text
"I found the SAP database table,
so I will update it directly."

The SAP business object may contain important:

text
validations
status logic
authorization
document flow
accounting logic
events
side effects

that a direct table modification would bypass.


4. On-stack vs side-by-side development ​

This is one of the most important distinctions to understand.

On-stack developer extensibility ​

Your ABAP Cloud extension runs inside the S/4HANA ABAP environment.

text
┌──────────────────────────────┐
│         SAP S/4HANA          │
│                              │
│ Standard SAP Business Logic  │
│            │                 │
│     Released SAP APIs        │
│            │                 │
│     Custom ABAP Cloud        │
│     CDS / RAP Extension      │
└──────────────────────────────┘

This is useful when the extension belongs closely to the S/4HANA process.

Side-by-side extensibility ​

Your application runs separately on SAP BTP.

text
┌──────────────────────┐
│     SAP S/4HANA      │
│                      │
│ Standard Processes   │
└──────────┬───────────┘
           │
     Released API
       or Event
           │
           ▼
┌──────────────────────┐
│       SAP BTP        │
│                      │
│ ABAP Cloud App       │
│ CDS / RAP            │
│ Custom Persistence   │
└──────────────────────┘

The two systems have separate lifecycles.

They communicate through supported integration contracts.


5. Where your BTP Trial fits ​

The SAP BTP ABAP Trial used in this course is not an S/4HANA system.

It is its own ABAP environment.

When you create:

text
ZRESV_###

you are creating a table in your BTP ABAP environment.

You are not adding a table to S/4HANA.

What Trial gives you is the ability to learn the same important development model:

text
ABAP Cloud
CDS
RAP
EML
OData
ADT

So the skills transfer.

The difference in a real S/4HANA project is mainly:

text
where your code runs

and

how it reaches SAP business data

6. Two real-world examples ​

Example 1 — custom quality review inside S/4HANA ​

A manufacturer needs a small custom quality-review application connected closely to an existing manufacturing process.

A possible architecture is:

text
S/4HANA Manufacturing Data
           │
           ▼
   Released SAP Interface
           │
           ▼
   Custom ABAP Cloud Code
           │
           ▼
      Custom RAP BO
           │
           ▼
       OData V4
           │
           ▼
       Fiori App

Here, the extension runs on the S/4HANA stack.

The techniques from this course apply directly:

text
CDS
RAP
validations
actions
authorization
OData
Fiori

Example 2 — supplier application on SAP BTP ​

A company wants a supplier-facing application that uses Purchase Order information from S/4HANA but also stores its own:

text
supplier comments
review status
external documents
approval information

A possible architecture is:

text
SAP S/4HANA
Purchase Order
      │
      ▼
Released API / Event
      │
      ▼
SAP BTP ABAP Environment
      │
      ├─ Custom Persistence
      ├─ CDS
      ├─ RAP
      └─ Business Logic
      │
      ▼
OData / Application

In this case:

text
S/4HANA owns the Purchase Order

BTP owns the extension-specific data

That separation is important.


7. Where Clean Core fits ​

Clean Core does not mean:

text
no custom code

It means custom development should avoid unnecessary dependencies on SAP internals.

A simplified comparison is:

text
Tightly coupled approach

Custom Code
    ↓
Internal SAP Table / Internal Object

versus:

text
Clean Core-oriented approach

Custom Extension
      ↓
Released SAP API / Extension Point
      ↓
SAP S/4HANA

Released contracts make it easier for SAP to change internal implementation without breaking customer extensions.

That is why modern SAP development places so much emphasis on:

text
released APIs
ABAP Cloud
RAP
extension points
side-by-side applications

8. How your course progression maps to a real application ​

The course gradually builds this architecture:

text
Database / Persistence
        ↓
       CDS
        ↓
RAP Business Object
        ↓
Behavior
  ├─ CRUD
  ├─ validations
  ├─ determinations
  ├─ actions
  ├─ authorization
  └─ draft
        ↓
Projection
        ↓
Service Definition
        ↓
Service Binding
        ↓
OData V4
        ↓
Fiori / API Consumer

In a real S/4HANA project, the bottom of the diagram may change.

If you own the data:

text
RAP
 ↓
your custom persistence

If SAP owns the data:

text
your extension
 ↓
released SAP interface
 ↓
S/4HANA business object

That is the connection between the training environment and real SAP development.


9. The main idea to remember ​

You do not need to memorize every SAP product and layer.

Remember this:

text
SAP S/4HANA
=
the core ERP business system

ABAP Cloud
=
the modern ABAP development model

CDS
=
the business data model

RAP
=
the transactional business-object model

EML
=
ABAP-to-RAP consumption

OData
=
service exposure

Fiori
=
the user experience

SAP BTP
=
a platform where side-by-side extensions
and integrations can run

And the most important architectural rule is:

Work through stable business contracts rather than coupling custom code directly to SAP's internal implementation.

That is how the technologies taught in this course fit together in the SAP S/4HANA development landscape.