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

Lesson 4 of 5

Quality gates in the pipeline

17 min

Listen to this lesson

0:00 / 8:09

A quality gate is a check that change must pass before it moves on. Gates turn good intentions ("we should run ATC", "we should write tests") into rules that hold under deadline pressure. For clean core, the essential gates are static checks of how code is built, automated tests of what it does, and contract checks at the boundaries, placed where they stop problems earliest.

ATC as the clean core gate

The ABAP test cockpit (ATC) is SAP's static check framework, and SAP names it as the key tool for code-level clean core governance. In SAP S/4HANA 2023 and 2025, clean core checks are available in ATC; a practitioner guide from SAP PRESS describes using a check variant based on ABAP_CLOUD_DEVELOPMENT_DEFAULT, whose "Usage of APIs" check uses SAP's object classifications (published in SAP's Cloudification Repository on GitHub) to say whether code uses released, classic or internal objects. SAP Notes govern the setup on each release, so follow the current notes for yours. Systems below SAP S/4HANA 2023 can be checked with a central ATC on SAP BTP.

ATC can run automatically when a transport request is released and block the release when findings exceed a priority threshold. The same guide reports SAP's recommendation to block on priority 1 and 2 findings, with level C and D findings blocking by default and level B findings reported as non-blocking priority 3 messages. By default the check runs at request release; checking at task release is optional and adds overhead. Treat these defaults as a starting point and confirm them in your system.

Level C and D findings block transport release by default; the only way through is a fix or an approved, time-limited exemption.
The Sign-Off Table · thesignofftable.com/academy/sap-tst-402
  1. DevelopDeveloper runs ATC and ABAP Unit in ADT while coding
  2. Release taskOptional ATC check at task level
  3. Release transportATC gate: priority 1–2 findings block; ABAP Unit tests must pass
  4. Import to CMQAutomated regression of affected processes; contract checks
  5. Business acceptanceKey users test changed processes; evidence in SAP Cloud ALM
  6. Import to CMPOnly with passed gates and approval
Quality gates along Contoso's on-stack path from CMD to CMP.
The Sign-Off Table · thesignofftable.com/academy/sap-tst-402

Exemptions without erosion

Some findings can't be fixed now: legacy code converted from ECC, or a level C access with no released alternative yet. ATC supports exemptions with approval. Used well, an exemption is a recorded, time-limited decision with a reason and an owner. Used badly, it is a way to make the gate green. Report exemptions on the governance dashboard and review them each release; a growing exemption list is a clean core trend in the wrong direction.

Gates for side-by-side

BTP extensions follow a pipeline instead of transports. Contoso's portal pipeline runs unit and CAP service tests on every commit, contract checks against the API specification on every build, provider verification against the S/4HANA quality system before deployment to the BTP test space, and a small end-to-end suite before production. When S/4HANA itself changes (a feature pack stack, a fix to a custom OData service), the contract and end-to-end checks run again from the S/4HANA side, too.

The side-by-side pipeline puts a gate at every stage, and an S/4HANA update re-triggers the boundary checks from the core side.
The Sign-Off Table · thesignofftable.com/academy/sap-tst-402
GateOn-stack (ABAP)Side-by-side (BTP)Blocks when
Static checksATC with clean core checksLinters and security scans in the pipelinePriority 1–2 findings without approved exemption
Developer testsABAP UnitUnit and CAP service testsAny failure
Contract testsCustom APIs offered to consumersAPIs consumed from S/4HANABreaking difference found
Regression and acceptanceAutomated and key-user tests in QASEnd-to-end flows with QASFailed critical test or missing sign-off
Equivalent gates on both extension paths.
The Sign-Off Table · thesignofftable.com/academy/sap-tst-402

What would you do?

Two days before a release, a developer's transport is blocked by an ATC priority 1 finding: a new report reads an internal SAP table that has a released CDS view as successor. The developer asks for an exemption "to hit the date." What should the quality gate owner do?

Key points
  • ATC with clean core checks is the static gate for on-stack code; it can block transport release by priority.
  • Combine static checks with developer tests, contract tests and regression as equivalent gates on both paths.
  • Exemptions must be approved, time-limited, owned and reported.
  • When S/4HANA changes, rerun the contract and end-to-end checks of side-by-side consumers.

Check your understanding · not graded

Lesson check

  1. 1. When does the ATC transport check run by default?

  2. 2. Which ATC finding priorities does SAP recommend blocking on, per the SAP PRESS guide?

  3. 3. What makes an ATC exemption healthy rather than eroding the gate?

  4. 4. Where do SAP's object classifications for the "Usage of APIs" check come from?