Foundations and integration contracts
Full lesson currently free to read · AI practice limits apply separately
Define sender, receiver, schema, business key and acknowledgement semantics before drawing an iFlow. Transport acceptance and business completion are different facts. A timeout after a receiver commit creates an ambiguous outcome that a blind retry cannot safely resolve.
Visual overview
What this complete series covers
Sixteen original guided chapters with synthetic worked cases, SAP references, branded diagrams and optional motion walkthroughs.
- Who it is for
- Developers, consultants and architects progressing from foundations to advanced design.
- Prerequisites
- Basic business-process knowledge. Use synthetic fixtures or an authorized sandbox. Follow the ordered chapter prerequisites.
- Final outcome
- Explain the contract, execute the worked investigation and verify its success and failure boundaries.
- Part 1: Foundations and integration contracts
The exercise distinguishes accepted, posted and unknown outcomes without duplicate orders. Check the linked SAP documentation for your product, runtime, region and enabled service plan. The worked case is a simulation; these steps were not executed in a customer SAP tenant.
- Part 2: Tenant setup and connectivity
The runtime reaches only the intended test resource with the intended identity. Check the linked SAP documentation for your product, runtime, region and enabled service plan. The worked case is a simulation; these steps were not executed in a customer SAP tenant.
- Part 3: iFlow design and message exchange
Internal processing decisions do not leak into the receiver's protocol contract. Check the linked SAP documentation for your product, runtime, region and enabled service plan. The worked case is a simulation; these steps were not executed in a customer SAP tenant.
- Part 4: Adapters and protocol contracts
The receiver recognizes the operation, while invalid business data still produces a controlled error. Check the linked SAP documentation for your product, runtime, region and enabled service plan. The worked case is a simulation; these steps were not executed in a customer SAP tenant.
- Part 5: Mapping and transformations
The target has both items with preserved keys and the defined numeric interpretation. Check the linked SAP documentation for your product, runtime, region and enabled service plan. The worked case is a simulation; these steps were not executed in a customer SAP tenant.
- Part 6: Groovy and reusable scripts
The deterministic amount test passes and failures do not log sensitive payloads. Check the linked SAP documentation for your product, runtime, region and enabled service plan. The worked case is a simulation; these steps were not executed in a customer SAP tenant.
- Part 7: Security and credentials
The renewed credential path works while least-privilege restrictions remain intact. Check the linked SAP documentation for your product, runtime, region and enabled service plan. The worked case is a simulation; these steps were not executed in a customer SAP tenant.
- Part 8: Reliable messaging and idempotency
The test records one final business effect and makes ambiguous outcomes visible. Check the linked SAP documentation for your product, runtime, region and enabled service plan. The worked case is a simulation; these steps were not executed in a customer SAP tenant.
- Part 9: Exception handling and monitoring
Invalid business data remains a visible failed case with a named correction owner. Check the linked SAP documentation for your product, runtime, region and enabled service plan. The worked case is a simulation; these steps were not executed in a customer SAP tenant.
- Part 10: API Management and event integration
Both synchronous protection and asynchronous recovery behavior are demonstrable. Check the linked SAP documentation for your product, runtime, region and enabled service plan. The worked case is a simulation; these steps were not executed in a customer SAP tenant.
- Part 11: B2B, migration and hybrid runtime
The migration plan explicitly addresses semantic gaps and rollback rather than only artifact conversion. Check the linked SAP documentation for your product, runtime, region and enabled service plan. The worked case is a simulation; these steps were not executed in a customer SAP tenant.
- Part 12: Splitter, gather and aggregator design
Partial processing is explicit and the chosen collect/recombine behavior fits the contract. Check the linked SAP documentation for your product, runtime, region and enabled service plan. The worked case is a simulation; these steps were not executed in a customer SAP tenant.
- Part 13: JMS transaction boundaries and ordered delivery
The counter remains one after redelivery and ordering claims match the tested contract. Check the linked SAP documentation for your product, runtime, region and enabled service plan. The worked case is a simulation; these steps were not executed in a customer SAP tenant.
- Part 14: Hybrid runtime placement and failure domains
The placement decision includes an operating model and tested recovery assumptions. Check the linked SAP documentation for your product, runtime, region and enabled service plan. The worked case is a simulation; these steps were not executed in a customer SAP tenant.
- Part 15: CI/CD, contract tests and integration release governance
The release has schema compatibility evidence, artifact provenance and a recovery plan. Check the linked SAP documentation for your product, runtime, region and enabled service plan. The worked case is a simulation; these steps were not executed in a customer SAP tenant.
- Part 16: Production integration capstone
The capstone has repeatable evidence for every declared success and recovery case. Check the linked SAP documentation for your product, runtime, region and enabled service plan. The worked case is a simulation; these steps were not executed in a customer SAP tenant.
System and release assumptions: Product, edition, runtime, plan and enabled capabilities vary. Reference checking is not customer SAP execution.
Explanation
What you should be able to explain
Integration Suite contains multiple integration capabilities. Cloud Integration designs and executes message-based flows; API Management governs API exposure. BTP provides the surrounding platform context. This dedicated track develops integration engineering beyond the existing BTP overview lessons.
Write the contract
In a fictional order interface, specify the sender, receiver, operation, schema, authentication method, business key and expected acknowledgement. Decide whether the sender waits for a final business result or only receives an acceptance response. A successful transport response is evidence about transport; it is not automatically proof that the receiver posted an order.
Design the processing boundary
A sender adapter receives the message. Processing steps validate and transform it. A receiver adapter calls the target. Exchange properties can carry internal processing context, while headers may affect adapter behavior or protocol communication. Confirm the exact adapter documentation before propagating a header. Keep secrets in the supported security material rather than script literals.
Worked investigation: the sender timed out
This is a fictional training case. The receiver committed order ORD-101, but its acknowledgement arrived after the sender timeout. A blind retry may create a duplicate. Use the business correlation key and receiver evidence to distinguish a failed delivery from a lost acknowledgement. A message-processing log is one evidence source; the final business object provides another. Neither a transport status nor a retry counter alone proves business completion.
Guided practice
Use a mock receiver and an explicit idempotency contract. Test a valid order, an invalid schema, a receiver rejection, a timeout before posting and a timeout after posting. For the last case, verify the receiver's business key before replay. The platform cannot guarantee exactly-once business effects across arbitrary remote systems merely because a queue or retry exists.
Recovery and operations
Set retry limits, distinguish retryable communication errors from invalid business data, and name the recovery owner. Configure retention and diagnostic logging to suit data sensitivity. Preserve a correlation identifier and sanitized failure summary rather than permanently recording full payloads. Re-test both the original failure and the successful path after changing the integration.
Check your understanding
An HTTP acceptance response has been returned but the downstream posting is pending. What can you claim? The receiving interface accepted the request according to its contract. Claim business success only when the relevant downstream evidence confirms it.
Scope and references
Capabilities, adapters, runtime options and entitlements differ by plan, region and release. JMS, events, APIs and hybrid runtime are separate design choices whose prerequisites must be checked.
[Official SAP Help: Cloud Integration](https://help.sap.com/docs/integration-suite/sap-integration-suite/ci?locale=en-US)
[Official Cloud Integration guide](https://help.sap.com/docs/cloud-integration)
---
Tutorial outcome
Define sender, receiver, schema, business key and acknowledgement semantics before drawing an iFlow. Transport acceptance and business completion are different facts. A timeout after a receiver commit creates an ambiguous outcome that a blind retry cannot safely resolve.
Prerequisites
Basic business-process knowledge; synthetic fixtures or an authorized sandbox.
Worked case — fictional
A synthetic create-order call times out after the mock receiver commits ORD101.
Step-by-step investigation
1. Contract
Write down the order key and the meaning of each acknowledgement before implementing retries.
Expected evidence: ORD101 is the stable business key.
2. Receive
Validate the synthetic message and preserve its correlation identifier through processing.
Expected evidence: Correlation C101 remains attached to ORD101.
3. Ambiguity
Simulate a receiver commit followed by a lost response and inspect receiver state.
Expected evidence: Sender timed out; ORD101 already exists.
4. Recover
Reconcile the receiver result before following the agreed replay procedure.
Expected evidence: Replay creates no second order.
Try it yourself
Reproduce the synthetic input from the example below in a local fixture or authorized sandbox. Follow each step, record the observed result, and explain any mismatch before continuing. Do not treat the expected evidence as a result observed in your SAP tenant.
Acceptance check
The exercise distinguishes accepted, posted and unknown outcomes without duplicate orders.
Common failure to avoid
Queueing and retries alone do not establish exactly-once business effects.
Self-check
A receiver timed out after a possible commit. What is the next safe evidence?
Expected reasoning: The receiver's business state for the agreed business key.
Edition and release scope
Check the linked SAP documentation for your product, runtime, region and enabled service plan. The worked case is a simulation; these steps were not executed in a customer SAP tenant.
SAP references
References checked 2026-10-30. SAP material supports the named concepts; the case, fixture and acceptance checks are original ERPClimb teaching material. No SAP tenant execution or certification is claimed.
[SAP Learning — Developing with SAP Integration Suite](https://learning.sap.com/learning-journeys/developing-with-sap-integration-suite) — Cloud Integration, API management and integration engineering
[SAP Help — Define Idempotent Process Call](https://help.sap.com/docs/cloud-integration/sap-cloud-integration/define-idempotent-process-call) — Successful subprocess recording and ambiguous receiver timeout limitations
Code example
{"businessKey":"ORD101","correlationId":"C101","receiverState":"committed","senderState":"timeout"}Foundations and integration contracts: evidence walkthrough
Simulated training case. These observations are authored fixtures, not screenshots or results from a customer SAP system.
A synthetic create-order call times out after the mock receiver commits ORD101.
Before you start
- Basic business-process knowledge; synthetic fixtures or an authorized sandbox.
Check the linked SAP documentation for your product, runtime, region and enabled service plan. The worked case is a simulation; these steps were not executed in a customer SAP tenant.
Contract
Write down the order key and the meaning of each acknowledgement before implementing retries.
Expected evidence · simulated
ORD101 is the stable business key.
Automatic playback is disabled by your reduced-motion preference. All steps remain available.
Try it, then verify
The exercise distinguishes accepted, posted and unknown outcomes without duplicate orders.
Watch for: Queueing and retries alone do not establish exactly-once business effects.
Open the ERPClimb lesson diagram at full sizeSAP references and release scope
References checked 2026-10-30. The linked SAP material supports the named concepts; the scenario, fixtures and acceptance checks are original ERPClimb teaching material. This is not an SAP certification or a tenant-execution claim.
- SAP Learning — Developing with SAP Integration Suite
Cloud Integration, API management and integration engineering
- SAP Help — Define Idempotent Process Call
Successful subprocess recording and ambiguous receiver timeout limitations
Real project scenario
A synthetic create-order call times out after the mock receiver commits ORD101.
Common mistakes
Queueing and retries alone do not establish exactly-once business effects.
Best practices
The exercise distinguishes accepted, posted and unknown outcomes without duplicate orders. Check the linked SAP documentation for your product, runtime, region and enabled service plan. The worked case is a simulation; these steps were not executed in a customer SAP tenant.
Interview angle
A receiver timed out after a possible commit. What is the next safe evidence? The receiver's business state for the agreed business key.
Practice this lesson
Original educational case studies for SAP consultants, not official SAP certification exam questions. Verify product edition and implementation details against the current SAP documentation.
Quick check
0 of 3 questions attempted
1. What should an integration contract between sender and receiver define?
2. In SAP Cloud Integration, what does the message exchange carry through an iFlow?
3. Why define error behaviour in the integration contract upfront?
Interview questions
1. What do you agree before building an integration in SAP Cloud Integration?
Answer it in your own words first, then compare.
2. Explain headers versus exchange properties in Cloud Integration.
Answer it in your own words first, then compare.
Check before use: lesson examples are educational, not a guarantee of correctness for your SAP edition or release. Sample code has not been executed on your SAP system. Confirm API availability, syntax, authorizations and business impact in an approved development or test environment.