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

Lesson 2 of 5

Common side-by-side patterns

10 min

Listen to this lesson

0:00 / 7:40

Once a requirement is placed side-by-side, the next question is which pattern fits. Most side-by-side extensions fall into a handful of shapes. Naming the pattern early helps everyone: the architect knows which BTP services to entitle, the developer knows which framework to start from, and the test lead knows which kinds of test will be needed.

UI extension (app)A new user interface on SAP S/4HANA data and its own data: SAP Fiori elements or SAPUI5 on the SAP Cloud Application Programming Model (CAP), or a low-code app in SAP Build Apps
Process and workflow extensionApprovals, forms and automations around SAP processes: SAP Build Process Automation
Event-driven extensionReacts to business events from SAP S/4HANA, such as a changed business partner or sales order, through the Event Mesh capability of SAP Integration Suite or SAP Integration Suite, advanced event mesh
Data extensionCombines and analyzes SAP and non-SAP data: SAP Datasphere, SAP Analytics Cloud, SAP HANA Cloud
Integration-centric extensionOrchestrates messages between systems: SAP Integration Suite (covered in the integration track)
The main side-by-side patterns and the SAP BTP services usually behind them.
The Sign-Off Table · thesignofftable.com/academy/sap-btp-201

UI extensions

A UI extension gives a user group an app that SAP does not deliver. Contoso's fleet order status app is one: a CAP service on Cloud Foundry reads sales orders and deliveries from SAP S/4HANA through released OData APIs, stores its own data (fleet inquiries and notes) in SAP HANA Cloud, and shows an SAP Fiori elements UI in SAP Build Work Zone. The app owns its data model and its users; SAP S/4HANA stays the system of record for orders. Low-code teams can build simpler apps of the same shape in SAP Build Apps.

Process and workflow extensions

A process extension adds steps around an SAP process: an approval, a data collection form, a decision table, or automation of a repetitive task. SAP Build Process Automation combines workflows, forms, decisions and automations. A typical shape is: an event or API call starts a process instance, people act on tasks in their inbox, and the process writes the result back to SAP S/4HANA through an API. Note that approvals that are part of a standard SAP document, such as Contoso's purchase order approval over $25,000, often run in the SAP S/4HANA flexible workflow on-stack; side-by-side processes suit steps that SAP does not model.

The usual shape of a process extension: something starts a process instance, people act in their inbox, and the result goes back to SAP S/4HANA through an API.
The Sign-Off Table · thesignofftable.com/academy/sap-btp-201

Event-driven extensions

An event-driven extension reacts after something happens in SAP S/4HANA. SAP S/4HANA publishes business events in the CloudEvents format to an event broker, either the Event Mesh capability of SAP Integration Suite (formerly the standalone SAP Event Mesh service) or SAP Integration Suite, advanced event mesh. A subscriber on SAP BTP receives the event and acts. Many standard events are notification events: they carry little more than the key, such as the business partner number, and the subscriber calls an API to read the details. Because the publisher does not wait for subscribers, the pattern decouples timing and load, at the price of eventual consistency.

  1. Change in SAP S/4HANAMaria changes the requested delivery date on a fleet sales order in CMP
  2. Event raisedA sales order changed event is published in CloudEvents format through the configured channel
  3. BrokerThe event broker routes it to the queue the fleet app subscribes to
  4. SubscriberThe CAP app receives the event with the sales order key only
  5. Read detailsThe app calls the released Sales Order API for the current data
  6. ActThe app updates its inquiry record and notifies the fleet desk
An event-driven notification flow. Check the exact event names your release publishes on the SAP Business Accelerator Hub.
The Sign-Off Table · thesignofftable.com/academy/sap-btp-201

Data extensions

A data extension brings SAP S/4HANA data together with other sources for analysis or planning without adding reporting load or custom tables to the core. SAP Datasphere, which SAP now delivers as part of SAP Business Data Cloud together with SAP Analytics Cloud, can federate or replicate data, model it in business terms and serve it to SAP Analytics Cloud; SAP Business Data Cloud also offers SAP-managed data products for SAP S/4HANA data, so check what already exists before building your own replication. Contoso's margin analysis, which joins billing data with warranty claims from a non-SAP warranty system, follows this pattern.

A data extension combines SAP S/4HANA billing data with non-SAP warranty claims in SAP Datasphere, so the analysis adds no reporting load or custom tables to the core.
The Sign-Off Table · thesignofftable.com/academy/sap-btp-201
PatternMain riskWhat testing must add
UI extensionAPI changes or wrong stage pairing break the screensService tests with mocked APIs, contract checks, UI tests, E2E in test
Process and workflowWrong routing, missed deadlines, write-back failuresPath coverage of each decision branch and the write-back
Event-drivenLost, duplicate or out-of-order eventsDuplicate and replay tests, idempotent handling, monitoring checks
Data extensionTotals that do not reconcile with the sourceReconciliation of key figures against SAP S/4HANA reports

Each pattern brings its own failure modes, and so its own tests.

What would you do?

Dan wants the fleet desk to be told whenever a fleet customer's sales order is changed in SAP S/4HANA, so they can call the customer. A developer proposes a job on SAP BTP that reads all sales orders every five minutes and compares them with a copy. What should the architect suggest?

Key points
  • UI extensions add apps for user groups SAP does not serve; CAP and SAP Fiori elements or SAP Build Apps are typical.
  • Process extensions add approvals, forms and automation with SAP Build Process Automation; standard document approvals often stay on-stack.
  • Event-driven extensions react to SAP S/4HANA business events via the Event Mesh capability of SAP Integration Suite or advanced event mesh; many events carry only keys.
  • Data extensions combine SAP and non-SAP data in SAP Datasphere and SAP Analytics Cloud.
  • Each pattern has its own failure modes and therefore its own tests.

Check your understanding · not graded

Lesson check

  1. 1. What does a notification event from SAP S/4HANA usually contain?

  2. 2. Which SAP BTP service is the usual home for approvals, forms and automations around an SAP process?

  3. 3. Which risk is specific to the event-driven pattern?

  4. 4. Which pattern fits margin analysis that joins ERP billing data with a non-SAP warranty system?