Clean Core
BTP
Key User

SAP Extensions

A structured guide to all SAP S/4HANA extension patterns — from no-code key user tools through developer BAdI/RAP extensions to fully decoupled side-by-side BTP applications — all aligned with Clean Core principles.

Overview

SAP S/4HANA provides a structured extensibility framework that enables businesses to adapt and extend standard SAP functionality without modifying SAP-delivered source code. Extensions are classified by where they run (in-system or side-by-side), who can create them (key user, developer, or architect), and how they interact with SAP processes (configuration, logic extension, or new application).

The extensibility framework maps directly to the 3-tier Clean Core model: Tier 2 covers in-system extensions accessible to key users and developers through released SAP APIs. Tier 3 covers side-by-side extensions deployed on BTP that communicate exclusively through released OData V4 or REST APIs. Both tiers ensure that S/4HANA upgrades proceed without regression risk.

Side-by-side extensions on BTP via CAP or SAP Build Apps
Key user extensions: Custom Fields (F1481), Custom Logic, Custom BOs
Developer extensions: released BAdI implementations in ABAP Cloud
RAP extensions: add custom nodes to existing RAP business objects
Fiori app variants: personalise standard Fiori Elements app layouts
In-app SAPUI5 extensions via Adaptation Project (Fiori Tools)

Extension Patterns Matrix

PatternTierWhoClean CoreToolingUpgrade Impact
Custom Fields & LogicTier 2Key UserYesF1481 Fiori appNone
Custom Business ObjectsTier 2Key UserYesF1731 Fiori appNone
Released BAdI ImplementationTier 2DeveloperYesABAP Cloud / ADTLow
RAP BO Extension NodeTier 2DeveloperYesABAP Cloud / ADTLow
Fiori App VariantTier 2Key User/DevYesFiori Tools / BASNone
SAPUI5 Adaptation ProjectTier 2DeveloperPartialFiori Tools / BASMedium
CAP Side-by-Side AppTier 3DeveloperYesCAP + BAS + BTPNone
SAP Build AppsTier 3Key User/DevYesSAP Build AppsNone
Classic ABAP EnhancementTier 1DeveloperNOSE80 / Enhancement WBHIGH

Key User Extensions (Tier 2)

Custom Fields (F1481)

Add custom fields to business objects (Sales Order header/item, Purchase Order, etc.) without ABAP. Fields are immediately available in Fiori apps, CDS views, and extensible APIs.

Custom Logic (F1481)

Attach field validation, default-value derivation, or determination logic to custom fields using a formula editor or simple condition statements.

Custom Business Objects (F1731)

Create standalone transactional objects (master data, approval objects) with a generated Fiori UI, OData V4 API, and number range — fully transport-enabled.

Business Rules

Decision-table driven rules maintained by business users. Triggered from standard processes (e.g., pricing, routing) via released rule service APIs.

Avoid Classic ABAP Modifications
Classical ABAP modifications (SE80 user exits, implicit enhancements to SAP-standard objects, direct table writes via unreleased function modules) are considered Clean Core violations. SAP's Upgrade Readiness checks will flag these as regression risks during S/4HANA upgrade assessments. Migrate to released BAdIs or side-by-side patterns.
Detailed content for this section is being added in upcoming prompt modules. Use the navigation to explore fully documented sections.