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

Lesson 2 of 5

Clean core principles

10 min

Listen to this lesson

0:00 / 14:33

Dimensions describe where clean core applies. Principles tell people what to do when they face a decision. A good set of principles is short, specific enough to settle arguments and written so that a developer, a process owner and a tester all understand it. This lesson builds Contoso's principles from SAP's guidance.

Standard first

The first principle is about processes, not code: adopt the standard unless there is a business reason not to. In SAP Activate this is the fit-to-standard approach, and SAP's clean core guidance asks for a standard-first mindset, few process variants and SAP Best Practices where they fit. Every gap that the standard closes is an extension nobody has to build, test or upgrade.

Released interfaces, at the highest level possible

When an extension is needed, it should use released interfaces. SAP's clean core level concept grades extensions: level A uses only publicly released, stable interfaces; level B also uses classic APIs that SAP documents as generally upgrade-stable; level C reaches into SAP internal objects for legacy scenarios; level D uses techniques SAP does not recommend, such as modifications, write access to SAP tables and implicit enhancements. SAP's guidance is to aim for A, accept B, use C only for specific needs, and avoid D. An extension is rated by its weakest component.

  1. ConfigureCan configuration or a standard app meet the need?
  2. Key userCustom fields, custom logic or custom business objects in released extension points
  3. Developer on-stackABAP Cloud with released APIs when logic must sit close to the data
  4. Side-by-sideAn app on SAP BTP using released APIs and events when it needs its own lifecycle
  5. ExceptionClassic or internal techniques only with a recorded design authority decision
The order in which Contoso looks for a solution. Each step is tried before the next.
The Sign-Off Table · thesignofftable.com/academy/sap-arc-201

Integration and data principles

For integration, SAP's guidance is to use standard integration scenarios and released APIs published in the SAP Business Accelerator Hub, using OData, SOAP or events, and to make every integration monitorable with clear error handling. For data, the principle is completeness, correctness and compliance: avoid incomplete, corrupted and unused data, set data quality rules, fix violations promptly and keep monitoring.

A clean integration is monitorable: a failed message reaches its owner before the customer calls.
The Sign-Off Table · thesignofftable.com/academy/sap-arc-201

Contoso's principles, as published

  1. Standard first: a process variant needs a named business owner and a measurable benefit.
  2. Extend at the highest clean core level possible; level D is not accepted for new work.
  3. New ABAP code is written in ABAP Cloud unless the design authority approves an exception.
  4. Interfaces use released APIs or events from the SAP Business Accelerator Hub; file interfaces need a reason.
  5. Every interface and background job has a monitoring owner from day one.
  6. Every extension has an owner, a clean core level, test cases and a retirement review date.
  7. Master data has a data owner and quality rules; unused data is archived on a schedule.
  8. The system stays current: stacks are applied on a planned rhythm, not when something breaks.
PrincipleDecision it settlesWho checks it
Standard firstWhether to build a variant at allProcess owner and design authority
Highest level possibleWhich technique and interface to useKenji's developers, ATC, code review
Released integrationFile, IDoc or API for a new interfaceIntegration lead
Monitoring ownerWhether an interface may go liveSam and the operations team
Stay currentWhen to apply the next stackProgram and run organization
Principles are useful only if someone checks them at a defined point.
The Sign-Off Table · thesignofftable.com/academy/sap-arc-201

On-stack or side-by-side

Principles should also say where an extension lives. SAP describes three broad options: key user extensions built by business experts with low-code tools, developer extensions on-stack in ABAP Cloud when logic must sit close to the data and run in the same transaction, and side-by-side extensions on SAP BTP when an app needs its own lifecycle, other BTP services or data from several systems. Contoso's rule of thumb is simple: if the extension must validate or change an SAP document while it is being saved, it belongs on-stack; if it serves a different user group, combines data from several systems or changes on its own schedule, it belongs side-by-side. Both can be level A.

Contoso's rule of thumb decides where an extension lives; both places can be level A.
The Sign-Off Table · thesignofftable.com/academy/sap-arc-201

What would you do?

Maria, the order-to-cash key user, asks for a custom sales order report because the standard app "shows too many columns". What does Contoso's first principle suggest?

Key points
  • Principles turn clean core into decisions people can make consistently.
  • Standard first comes before any extension technique.
  • Extend at the highest clean core level possible; the weakest component sets the level.
  • Integration uses released APIs and events and must be monitorable; data needs owners and quality rules.
  • Write principles so a reviewer can check them for a given object.

Check your understanding · not graded

Lesson check

  1. 1. What does the standard-first principle ask before any extension is built?

  2. 2. Where does SAP publish released APIs and events for integration?

  3. 3. Which principle is written so a reviewer can check it?

  4. 4. Which clean core level does SAP describe as acceptable only for specific needs?