| Status | Approved |
|---|---|
| Owner | ABOLAJI-ext, Luqman |
| Stakeholders | |
| Jira Request ID | ERP-208 - Getting issue details... STATUS |
| Jira Development ID | ERP-1119 - Getting issue details... STATUS |
High- Level Specification
| Implementing System | SAP S/4HANA |
|---|---|
| Invoked by/Invokes | ERP-1120 Integration Process - Order Response Interface from S/4HANA to Elemica |
| Business Process Reference | 02.04.02.01. Manage Standard Sales Order |
Functional Overview
Some of the EDI customers requires an acknowledgement/response when their Sales Order is successfully created in Syensqo's S/4HANA system.
For this, the OrderResponse message is triggered from the Sales Order in Syensqo's S/4HANA system which calls the custom API to send the XML via SAP CPI to Elemica (the EDI service provider system).
The purpose of this functional specification is to create the custom API for the trigger and generation of the OrderResponse message from a sales order in S/4HANA
Scope and Objectives
This System Interface, a custom implementation in SAP S/4HANA,
- sends the OrderResponse data to SAP CPI
- maps sales order in SAP S/4HANA into a structure to create the OrderResponse XML
- transform some data in the Sales Order structure to OrderResponse message send to SAP CPI
- performs lookup of specified data (as applicable) in S/4HANA
The standard SAP Sales Order API is unable to support the above functions, hence the need for a custom API.
Process Flow Diagram
Step | Description | Comment |
|---|---|---|
1 | Sales Order event triggers the custom Sales Order Response API to send Sales Order to SAP CPI based on defined structure. Events that could trigger this are Creation of Sales Order and Specific changes to a Sales Order | |
2 | SAP CPI receives the custom Sales Order ResponseAPI and translates the message to a cXML format | This is covered in Integration Process functional specification ERP-1120 Integration Process - Order Response Interface from S/4HANA to Elemica |
3 | Via API management, SAP CPI pushes the xXML format of the sales order to Elemica |
Assumptions
- The custom Sales Order Response API will be called from SAP CPI and be able to lookup data from SAP S/4HANA to feed the target structure needed by SAP CPI
- The S/4HANA Sales Order source fields and SAP CPI/Elemica target field mappings, including custom fields, will be updated based on mapping requirements in SAP CPI/Elemica.
- The Custom API should be able to map all source data to their corresponding target fields successfully
Dependencies
- The sales order must have been created successfully
- All configurations and sales order fields in S/4HANA from where the custom API should look up values should already be available before the interface is deployed.
- Connection between SAP CPI and S/4HANA already set up
- Required master data in S/4HANA already loaded
Security, Integrity and Controls
- Required authorisations to execute the custom API need to be defined.
- Existing secure connectivity for communication between SAP S/4HANA and SAP CPI will be applied
Configuration Requirements
- Text IDs VBBK-Z002, VBBK-Z004, VBBK-Z999, VBBP-Z999
- Sales Order Types
Special Requirements
N/A
Design Rationale
API Use
Custom API based on CO_SDSLS_ESR_SALES_ORDER_NOTIF
Data Structure
The following fields will be used to provide the required data structure of the interface:
| Parent | Field | Description | Mandatory (Y/N) | Data Type |
|---|---|---|---|---|
Calculation and Validation
| Parent | Field | Rule Type | Rule Instruction |
|---|---|---|---|
eDocument mapping
| General | Syensqo XML (Intermediate Target) | SAP eDoc Standard Mapping (Source) | Custom Mapping (Source) | |||||||
|---|---|---|---|---|---|---|---|---|---|---|
| S-NR | Flow (SD/FI/MM/ALL) | Target Field | Target Field Details | Condition | Syensqo XML Node | Syensqo XML Field | SAP eDoc Standard Node | SAP eDoc Standard Field | Fixed Value | Custom Logic |
Processing Logic
SellerPartnerCode Determination Logic
Refer to DUNS Reference Table (ZL2C_DUNS)
Fetch SellerDUNS where:
SenderDUNS = A_SalesOrderHeaderHeader/SenderDUNS
ReceiverDUNS = A_SalesOrderHeaderHeader/ReceiverDUNS
BuyerDUNS = A_SalesOrderHeaderPartner/BuyerPartnerCode
Partner Look Up Logic
Elemica use the DUNS (Partner Codes) for the different business partner roles in a message. To send a sales order response from S/4HANA, the Partner Codes for each of the SAP Customers Partner roles have to be found. As a pre-requisite, the mapping of the Partner Codes, partner role and the SAP Customer numbers will be maintained using the standard SAP table EDPAR. This table will be maintained in each client as part of customer activates via transaction code VOE4.
Below table is the look up logic of the Partner Code from the SAP Customer partner role from sales order for the Order Response Message
| Partner Code | Logic to find Partner Code from SAP Customer | Source of SAP Customer in Sales Order |
|---|---|---|
| BuyerPartnerCode | EDPAR-EXPNR where: | VBAK-KUNNR |
| ShipToPartnerCode | EDPAR-EXPNR where: EDPAR-KUNNR = <A_SalesOrderAdditionalFields/SoldToParty> | VBPA-KUNNR where: VBPA-VBELN = VBAK-VBELN VBPA-PARVW = SH |
| PayerPartnerCode | EDPAR-INPNR where: EDPAR-KUNNR = A_SalesOrderAdditionalFields/SoldToParty> | VBPA-KUNNR where: VBPA-VBELN = VBAK-VBELN VBPA-PARVW = BP |
| BillToPartnerCode | EDPAR-INPNR where: EDPAR-KUNNR = A_SalesOrderAdditionalFields/SoldToParty> | VBPA-KUNNR where: VBPA-VBELN = VBAK-VBELN VBPA-PARVW = PY |
SalesOrderType Mapping
SalesOrderType is derived based on PurchaseOrderTypeCode from the source XML using the mapping table below
| PurchaseOrderTypeCode | SalesOrderType |
|---|---|
| KN | OR |
| KN | ZOR |
| KA | KE |
| CN | KB |
| Z2 | KBB |
| SO | KBB |
| NE | ORB |
| ZE | RCM |
SO10 text for CustomerServiceInstruction
Maintain below text in SO10
This order is supplied subject to the General Terms and Conditions of sales of Solvay companies available on the Solvay Internet website: https://www.solvay.com/en/markets-and-products/doing-business-with-solvay/terms-conditions/index.html
Delta or Full Load Requirements
Interface Alert & Monitoring
Language Requirements
User Interface Requirements
Sequencing
Volumetrics
Performance Consideration
Error Handling
Testing
How to Test
Test Conditions and Expected Results
| ID | Condition | Expected Results |
|---|---|---|
Test Considerations/Dependencies
Other Information
Development Details
Package
| Package Name | Parent Package |
|---|---|
Other Development Objects
| Object Type | Object Name | Purpose/High Level Logic | Design Rationale Reference |
|---|---|---|---|