SAP BTP & Extensibility

Key User Extensibility

Key user extensibility is the set of in-app tools in SAP S/4HANA that lets trained key users add custom fields, custom logic, custom business objects, reports and UI adaptations to standard applications through SAP Fiori apps. Key user extensibility works only at extension points SAP has released for this purpose, which keeps the resulting extensions upgrade-stable.

Quick facts

Type
In-app (on-stack) extensibility model
Layer
Business logic & data model; UI applications
Key apps
Custom Fields and Logic (F1481), Custom Logic (F6957), Custom Business Objects (F1712), Extensibility Inventory (F2587)
Language for logic
ABAP for Key Users (restricted ABAP)
Transport
Software collections in Public Edition; Adaptation Transport Organizer apps on-premise and in Private Edition
Who works with it
Key users, functional consultants, extensibility CoE
Applies to
SAP S/4HANA Cloud Public Edition, Private Edition, on-premise
Layer: Business logic & data modelWhere it sits ▾
Where it sits: L5 · Business logic & data modelLayer: Business logic & data model. Also touches: UI applications.L1L2L3L4L5L6BTP

Layer: Business logic & data model

Also touches: UI applications

Open the architecture map →

What can key users extend?

Key user extensibility covers several kinds of extension, each with its own app:

  • Custom fields on business contexts such as a purchase order header, made available in apps, reports, forms, email templates and, where released, APIs.
  • Custom logic: implementations of released Business Add-Ins (BAdIs), written in a web editor in ABAP for Key Users, for example to default or check a value.
  • Custom business objects: small own data models with generated persistence and services, for data the standard does not hold.
  • Custom CDS views and analytical queries for reporting on released data sources; app names and versions differ by release.
  • UI adaptation at runtime: moving, hiding, renaming or adding fields and sections in SAP Fiori apps that support it.

Every option attaches to an extension point SAP has explicitly opened. Key user extensibility is therefore wide in variety but narrow in reach: it changes what SAP has made changeable.

How does key user extensibility work?

Suppose Alder Manufacturing wants a supplier rating on every purchase order:

  1. A key user opens the custom fields app and creates the field on the business context Procurement: Purchasing Document, which covers the purchase order header.
  2. The key user chooses the field type and label and enables the usages: which apps, reports, forms or APIs should know the field.
  3. Publishing the field generates the technical artifacts in the system.
  4. In the purchase order app, the key user adds the field to the screen with UI adaptation at runtime.
  5. If the rating should be defaulted for Cedar Office Supply, a custom logic implementation of a suitable BAdI sets it.
  6. The extension items are transported to test and production: through software collections in Public Edition, or through the Configure Software Packages and Register Extensions for Transport apps on-premise and in Private Edition.

No ABAP development environment is involved. Key user extensibility turns a typical small enhancement into a configuration-like change with its own transport path.

What are the strengths of key user extensibility?

  • Speed for small changes: a field or a validation can go live without a development project.
  • Upgrade stability: extensions depend only on released extension points, so they fit the clean core principle by construction.
  • Same tools in every deployment option: the apps exist in Public Edition, Private Edition and on-premise, so skills transfer.
  • Built-in impact checks: the Extensibility Inventory app shows extension items and whether they use SAP objects that have been deprecated.
  • Dependency awareness: the export of software collections analyzes dependencies between extension items before transport.

For extra fields, simple checks and screen changes on standard documents, key user extensibility is the option SAP's extensibility guidance points to first.

Where does key user extensibility stop?

  • Bounded by released extension points. If SAP has not released a business context or a BAdI for the object, key user tools cannot reach it.
  • Restricted language. ABAP for Key Users allows only a subset of ABAP and access to objects released for key user apps or created by them.
  • Small by design. Custom business objects suit simple data; complex transactions, mass processing or new end-to-end flows need developer or side-by-side extensibility.
  • One system only. Key user extensions live inside one SAP S/4HANA system and do not coordinate steps in other systems.
  • Governance does not come for free. Many small extensions created by many key users become hard to trace without naming rules, documentation and an owner per item.

These limits are the reason the tools stay safe: key user extensibility trades reach for upgrade stability and speed.

When should you use key user extensibility?

Use key user extensibility when all of these hold:

  • the change attaches to a standard business object that offers a released business context or BAdI;
  • the logic is short, local and needs no calls to other systems;
  • the data belongs to the document itself, not to a separate application;
  • a named key user or CoE will own the item after go-live.

A common mistake is starting with key user tools and stretching them, for example chaining several BAdIs to imitate a workflow. When requirements grow beyond a field, a check or a screen change, move up to developer extensibility or a side-by-side extension instead of forcing key user extensibility beyond its design.

Why does a custom field not appear in an app?

Work through this sequence before suspecting a defect:

  1. Not published. Fields saved as drafts do not exist at runtime.
  2. Usage not enabled. The field must be enabled for that specific app, report, form or API.
  3. Not added to the screen. Enabling a usage makes the field available; UI adaptation places it.
  4. Wrong business context. A field on the item level does not show on the header, and vice versa.
  5. Missing in the target system. The software collection or transport did not include the field or a dependent item.
  6. App not extensible. Some SAP Fiori apps do not support the usage at all; the app's extensibility topic in its SAP Help Portal documentation lists the business contexts it supports.

Most missing-field cases with key user extensibility are usage or transport gaps, not broken apps.

Key user extensibility vs. side-by-side extensibility: what is the difference?

Key user extensibilitySide-by-side extensibility
Where it runsInside SAP S/4HANAOutside, usually on SAP BTP
Who builds itKey users and functional consultantsDevelopers or business technologists
CouplingTight: same system, same transactionLoose: connected through APIs and events
Typical useFields, checks, defaults, screen changesNew apps, external users, multi-system logic
LifecycleTransported with the SAP S/4HANA systemOwn deployment and release cycle

Key user extensibility adapts what SAP S/4HANA already does; side-by-side extensibility builds something new next to it.

FAQ

Is key user extensibility available in SAP S/4HANA on-premise?

Yes. Key user extensibility is part of SAP S/4HANA on-premise and Private Edition as well as Public Edition. On-premise and in Private Edition, extension items are transported with the Configure Software Packages and Register Extensions for Transport apps; Public Edition uses software collections.

Do custom fields survive SAP S/4HANA upgrades?

Custom fields are designed to survive upgrades because they attach to released business contexts. The Extensibility Inventory app helps check after an upgrade whether any extension item uses SAP objects that have since been deprecated, so follow-up work can be planned.

Can key users write code with key user extensibility?

Yes, within limits. The custom logic app offers a web editor for BAdI implementations in ABAP for Key Users, a restricted ABAP language version. It allows only released objects and a subset of statements, which keeps the logic upgrade-stable.

What is the difference between Custom Fields and Logic and Custom Logic?

In the SAP Fiori apps reference library, Custom Fields and Logic (F1481) is the app for custom fields and Custom Logic (F6957) is a separate app for BAdI implementations. SAP documentation refers both to a combined app and to separate apps, so names can vary by release.

Does key user extensibility need SAP BTP?

No. Key user extensibility runs entirely inside SAP S/4HANA, and its apps are part of the SAP S/4HANA system. SAP BTP becomes relevant only when an extension outgrows the key user tools, for example because it needs its own app, external users or data from other systems.

Sources

Applies to
SAP S/4HANA on-premise · SAP S/4HANA Cloud Private Edition · SAP S/4HANA Cloud Public Edition
Last reviewed

Go deeper

SAP, SAP Fiori, SAPUI5, SAP S/4HANA, SAP BTP and other SAP products and services mentioned are trademarks or registered trademarks of SAP SE (or an SAP affiliate company) in Germany and other countries. This guide is independent and is not affiliated with, sponsored or endorsed by SAP SE.