| Status | |
|---|---|
| Owner | RUIZ SOMOZA-ext, Carolina |
| Stakeholders | |
| Jira Request ID | |
| Jira Development ID |
| Implementing System | S/4 HANA |
|---|---|
| Invoked by/Invokes | Link to any Integration Process spec which is related to this System Interface, e.g. because it is invoking this interface, or because this interface is sending data to it. |
| Business Process Reference |
This Functional Specification describes the outbound Reservation interface between SAP S/4HANA and Third-Party Logistics providers (3PLs), implemented via SAP Integration Suite (CPI) using the standard OData service API_RESERVATION_DOCUMENT.
The purpose of this interface is to transmit reservation information created in SAP S/4HANA to the 3PL systems in order to provide visibility of planned or pre-allocated inventory movements. Reservations are used in SAP to reserve stock for specific processes or requirements before the corresponding physical movement is executed.
In scenarios where inventory is physically managed by a 3PL, the reservation information must be shared to allow the 3PL to prepare, plan, or restrict stock usage accordingly. This ensures alignment between SAP stock reservations and the inventory handling activities performed in the 3PL warehouse.
Only relevant reservations are transmitted. The scope of the interface is controlled through configuration and business rules, such as plant ensuring that only reservations that require action or visibility at the 3PL are sent.
For each relevant reservation created or updated in SAP S/4HANA, the reservation data is extracted and sent to CPI using the standard API_RESERVATION_DOCUMENT service. CPI validates, transforms, and routes the message to the assigned 3PL system
This interface covers the transmission of Reservation documents created in S/4 HANA to the 3PLs (via CPI).

Step | Description | Comment |
|---|---|---|
1 | Reservation document is created or updated in S/4 HANA | |
2 | S/4 raises an internal event. | |
3 | System checks the 3PL assignment table | To determine if the interface is active and retrieve the 3PL assigned |
4 | Relevant event is published to SAP Event Mesh | If previous steps are successful |
5 | CPI consumes the event and retrieves full reservation doc information | CPI will also get the 3PL partner from the 3PL assignment table for routing purposes |
6 | S/4 updates Monitoring Table | Using System date and time |
7 | 3PL consumes, post the document and send an Ack back | |
8 | S/4 updates Monitoring Table | with the Ack information received |
N/A
ERP-865 - 3PL Warehouse interface - Inbound acknowledgements - System Interface FS in Progress For tracing the transmission in the monitoring table
ERP-845 - 3PL Configuration Application FS in Progress 3PL assignment and activation table
N/A
N/A
N/A
APIs to be consumed:
API_RESERVATION_DOCUMENT - (OData service) Retrieve Reservation Document
Retrieve Items with Header using RKPF-RSNUM (Reservation number) and RESB table for items
Example
GET <host>/sap/opu/odata4/sap/api_reservation_document/srvd_a2x/sap/apireservationdocument/0001/ReservationDocument('{{Reservation}}')/_ReservationDocumentItem
1) Every time a new event is raised from a Reservation document, it should be published for transmission if the following criteria is met:
2) If previous step is successful, an entry should be logged into the monitoring table to trace the correct transmission to the 3PL. This table is detailed in ERP-865 - 3PL Warehouse interface - Inbound acknowledgements - System Interface FS in Progress .
DOC_TYPE=RESERVATION
DOC_ID= RKPF-RSNUM
DATE_SENT = System date
TIME_SENT = System time
Monitoring will be handled by ERP-865 - 3PL Warehouse interface - Inbound acknowledgements - System Interface FS in Progress and ERP-844 - 3PL Warehouse Interface - Monitoring dashboard FS in Progress
N/A
N/A
N/A
Around 5 docs per day for all 3PLS
N/A
Error handling is managed through SAP Application Interface Framework (AIF) and SAP Integration Suite (CPI) to ensure reliable transmission of reservation data to the 3PL.
If an error occurs during data extraction or transmission to CPI or the 3PL, the interface execution is marked as failed and the error is visible in AIF and/or CPI monitoring. The interface must support retriggering.
Configuration or relevance errors result in the reservation being treated as not relevant for transmission and no message being sent.
Retransmission requirement (dependency):
Where the 3PL rejects a message due to functional reasons on the 3PL side (e.g. missing/invalid master data), a controlled mechanism must exist to retransmit the document after correction. The chosen approach must be confirmed with the technical team.
Please provide some guidance and/or test data to help the developer unit test the interface. Please include both positive and negative testing (to validate error situations handling)
The developer will need to test repeatedly, so where appropriate provide instructions to reverse the actions performed so the test may be run again, or explain how to create new input data to the test. In particular, the developer will need logons for test users representing the various roles within the approval process.
| ID | Condition | Expected Results |
|---|---|---|
| 1 | Create a Reservation document for a relevant plant (3PL plant) and matching configuration/rule | Event is published for transmission. CPI extracts the reservation data via API_RESERVATION_DOCUMENT and sends it to the assigned 3PL. Monitoring entry is created/updated |
| 2 | Create a Reservation document for a non-relevant plant (no active interface / no 3PL assignment) | Event is not published and no message is sent. |
| 3 | Update a relevant Reservation document (e.g., quantity/date/item changes) with matching configuration/rule | Update event is published and the change is sent to the 3PL via CPI. Monitoring entry is updated with latest send timestamp |
| 4 | Update a Reservation document that is non-relevant (plant not in scope / no configuration entry) | Event is not published and no message is sent. |
List any considerations essential for application test planning (e.g., test this before ABC along with DEF separate from GHI). If the development encompasses a user interface, explain how to test it. List any insights as to how this component could be tested the most efficiently.
| Package Name | Parent Package |
|---|---|
Other Development Objects
| Object Type | Object Name | Purpose/High Level Logic | Design Rationale Reference |
|---|---|---|---|
Insert links and references to other documents which are relevant when trying to understand this decision and its implications. Other decisions are often impacted, so it's good to list them here with links. Attachments are also possible but dangerous as they are static documents and not updated by their authors.
