Now accepting guest editorial from SAP, Oracle, Workday and ServiceNow practitioners.Pitch a guide
The Sign-Off Table

Lesson 1 of 5

The extensibility model

9 min

Every SAP S/4HANA project hears requests like "can we add a field for the fleet contract number?" or "can we hide these six fields nobody uses?" In older SAP systems the answer was usually a developer, a change request and a modification. SAP S/4HANA gives a large part of that power to trained key users, inside the system, through Fiori apps. This course explains what key users can change, how those changes move to production and, above all, what each change means for testing.

Three ways to extend

Key user (in-app) extensibilityOn-stack, in the SAP S/4HANA system itself, using Fiori apps such as Adapt UI, Custom Fields, Custom Logic and Custom Analytical Queries. No development environment needed.
Developer extensibilityOn-stack, built by ABAP developers in the development environment using released APIs and extension points (the ABAP Cloud model).
Side-by-side extensibilitySeparate applications on SAP Business Technology Platform that talk to SAP S/4HANA through released APIs and events.
The three extensibility options SAP describes for SAP S/4HANA.
The Sign-Off Table · thesignofftable.com/academy/sap-bku-205

The options are not competitors. A typical project uses all three: key users add fields and adjust screens, developers build heavier logic on-stack, and separate apps on SAP BTP handle things that do not belong in the ERP core, such as a customer-facing portal. The choice depends on what the change needs to do, who will maintain it and how it should behave during upgrades.

Why SAP cares: the clean core

SAP's clean core principle says extensions should use stable, released interfaces instead of changing SAP's own code. SAP now describes extensions on a scale from level A (only released APIs and extension points, the most upgrade-stable) to level D (modifications, implicit enhancements and direct writes to SAP tables, the riskiest). An extension is rated by the riskiest technique it uses. Key user tools work through extension points that SAP has opened for them, which is why they are a natural fit for a clean core.

LevelWhat it usesUpgrade risk
AReleased APIs and extension points onlyLowest; fully supported by SAP
BAlso classic APIs such as well-established BAPIs and BAdIsLow
CInternal SAP objects not released for customersManageable, but needs impact checks at upgrade
DModifications, implicit enhancements, writes to SAP tablesHighest; remediation recommended
SAP's clean core extensibility levels, simplified.
The Sign-Off Table · thesignofftable.com/academy/sap-bku-205

What key users can do

ToolWhat it changesContoso example
Adapt UILayout of a Fiori app for all its users: hide, move, rename, group fieldsHide unused fields on the sales order object page for the order desk
Custom FieldsAdds new fields to SAP business objects and makes them available in apps, reports, forms and APIsFleet contract number on the sales order header
Custom LogicSmall pieces of logic in released extension points, such as validations, defaults and substitutionsWarn when a fleet order has no contract number
Custom Analytical QueriesNew analytical queries on released data sourcesOpen fleet orders by contract and plant

The main key user tools. Further apps, such as Custom CDS Views and Custom Business Objects, exist for more advanced key users.

Where it is allowed

Key user extensibility only works where SAP has enabled it. Not every app can be adapted, not every business object accepts custom fields, and custom logic can only be written where SAP provides an extension point. The Custom Fields app shows which business contexts (for example sales document header or item) accept fields; the Custom Logic app lists the available extension points. On-premise and private cloud systems must also have the key user tools and their transport set up by Basis before anyone can use them. Who may use them is controlled by business roles, and it should be a small, trained group.

Who should extend

Contoso decided early that extensibility rights would go to a handful of people: one key user per process area, trained, with a named backup. Everyone else asks them. That is not bureaucracy. A key user who extends the system needs to understand the business object, the downstream documents, the forms and the reports the change touches, and needs to know how to test it. Spreading the rights widely produces duplicate fields with slightly different names, conflicting logic and screens that nobody recognizes from the training material.

A good test for whether someone should hold these rights: can they explain, for a proposed change, which scenarios must be rerun to prove it? If not, they should request the change rather than build it.

What would you do?

Maria wants Contoso's sales orders to carry the customer's fleet contract number, show it on the order screen and print it on the invoice. Which approach fits best?

Key points
  • SAP S/4HANA offers key user, developer and side-by-side extensibility; projects use all three.
  • The clean core principle favors released APIs and extension points; SAP rates extensions from level A to D.
  • Key user tools include Adapt UI, Custom Fields, Custom Logic and Custom Analytical Queries.
  • Key user extensibility works only where SAP has enabled it, and only for authorized, trained users.

Check your understanding · not graded

Lesson check

  1. 1. Which type of extensibility is designed for key users without coding?

  2. 2. Which clean core level carries the highest upgrade risk?

  3. 3. Where do side-by-side extensions run?

  4. 4. How do you find out whether a business object accepts custom fields?