Lesson 1 of 5
How SAP systems exchange data
10 min
Listen to this lesson
No SAP system runs alone. Contoso Motor Co. sends purchase orders to its supplier Lakeside Components, receives orders from Great Lakes Fleet Services, feeds a warehouse system, sends payment files to its bank and publishes data to analytics. Every one of those links is an interface, and interfaces are where many go-live problems hide: the process works perfectly inside SAP and then fails at the boundary.
You do not need to be an integration developer to test interfaces well. You do need to recognize the main technologies, know what "success" looks like for each, and know where to look when it fails.
The main technologies
| Technology | Style | Typical use | What a tester checks |
|---|---|---|---|
| IDoc | Asynchronous business document | EDI orders, invoices and shipping notices with partners; distribution of master data between SAP systems | IDoc status, segment content, the application document created or sent |
| RFC / BAPI | Remote function call, synchronous or queued | SAP-to-SAP calls; older integrations calling business APIs (BAPIs) | Return messages, created documents, queue and tRFC status |
| OData | REST over HTTP, JSON or XML | SAP Fiori apps; released APIs for external systems | HTTP status, response body, created or changed data |
| SOAP web service | XML messages over HTTP | Enterprise services and many partner integrations | Response or acknowledgment, web service error log |
| Business events | Publish and subscribe | Notifying other systems that something happened, such as a sales order being created | Event published, consumer reacted, no duplicates or losses |
IDocs (intermediate documents) are SAP's long-standing container for business documents. A purchase order leaves SAP as an outbound IDoc of message type ORDERS; a customer's order can arrive as an inbound ORDERS IDoc and create a sales order. RFC lets one system call a function in another; BAPIs are stable business functions exposed that way. OData services are the REST APIs behind Fiori and most of SAP's released APIs for SAP S/4HANA. SOAP services remain common for enterprise services and B2B. Events let SAP announce a change without knowing who listens.
Middleware in between
Messages rarely go straight from SAP to the partner. Middleware sits between them to translate formats, map values, route and secure the traffic. In SAP landscapes that is increasingly SAP Integration Suite, with SAP Process Orchestration still found in many existing landscapes; SAP has steered customers toward Integration Suite as the strategic platform. For testing, the key point is that a message can succeed in SAP and fail in middleware, or the other way round, so you need to know every hop.
- SAP S/4HANAPurchase order 4500002210 saved; output creates an outbound ORDERS IDoc
- IDoc layerIDoc passed to the port; status shows it left SAP
- MiddlewareIntegration flow maps IDoc fields to the partner's EDI format and sends it
- PartnerLakeside Components receives the order and acknowledges it
- Return pathOrder confirmation comes back as an inbound message and updates the PO
Synchronous versus asynchronous
A synchronous call waits for an answer: an OData request to read a sales order returns the data or an error straight away. An asynchronous message is handed over and processed later: an IDoc is created, queued, sent and posted at the other end in its own time. Asynchronous interfaces need different tests, because success at the sender says nothing about the receiver. You must look at both ends, and you must test what happens when the receiver is not there.
Asynchronous interfaces are also where timing hides. An inbound IDoc may sit in a waiting status until a scheduled job processes it every 15 minutes; an outbound message may be collected and sent in batches. A test that checks the result one minute after sending can fail for no reason, and a test that never checks timing can miss an interface that is too slow for the business. Ask how each interface is scheduled and include it in the expected result, for example "order created within 20 minutes of receipt".
What would you do?
Contoso's tester confirms that saving PO 4500002210 created an outbound IDoc with a success status. Lakeside Components says they never received the order. What should the tester check next?
- SAP interfaces use IDocs, RFC/BAPI, OData, SOAP and events; each has its own idea of success.
- Middleware such as SAP Integration Suite sits between SAP and partners and can fail independently.
- Asynchronous success at the sender says nothing about the receiver; check every hop.
- Sketch each interface's hops, technology, direction and monitors before testing.
Check your understanding · not graded
Lesson check
1. Which technology is SAP's long-standing container for asynchronous business documents such as EDI orders?
2. What do most of SAP's released APIs for SAP S/4HANA use?
3. Why does an asynchronous interface need checks at both ends?
4. What role does middleware such as SAP Integration Suite play?