| Status | Approved |
|---|---|
| Owner | |
| Stakeholders | |
| Jira Request ID | |
| Jira Development ID |
High- Level Specification
| Implementing System | SAP S/4HANA |
|---|---|
| Invoked by/Invokes | ERP-1138 - Getting issue details... STATUS |
| Business Process Reference | 02.04.02.01. Manage Standard Sales Order |
Functional Overview
EDI customers sends their Sales Order creation message through Elemica to Syensqo. Elemica sends the OrderCreate XML to SAP CPI which then calls a custom API to create the Sales Order in Syensqo's S/4HANA system.
The purpose of this functional specification is to create the custom API for the creation of a sales order in S/4HANA either
- From data directly available in the Elemica XML or
- from data derived from S/4HANA based on data in the Elemica XML.
Scope and Objectives
This System Interface, a custom implementation in SAP S/4HANA,
- consumes the OrderCreate data from SAP CPI
- maps this data into a structure to create a sales order in SAP S/4HANA
- transform some data OrderCreate message from SAP CPI into the Sales Order structure in S/4HANA
- performs lookup of specified data (as applicable) in S/4HANA
- stored certain data from OrderCreate message from SAP CPI into a S/4HANA custom table
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 | Based on the purchase order received from Syensqo's EDI customer, Elemica converts this into OrderCreate message and sends to SAP CPI via API Management |
|
2. | SAP CPI receives the OrderCreate XML message from Elemica and maps to SAP Sales Order in S/4HANA. To create the Sales Order, SAP CPI calls the custom API which is the scope of this functional specification | This is covered in Integration Process functional specification ERP-1138 - Getting issue details... STATUS |
3 | Sales Order is created in SAP S/4HANA based on the message received from SAP CPI |
Assumptions
- The custom Sales Order Create API will be called from SAP CPI and be able to lookup data from SAP S/4HANA to feed the target structure to create the sales order
- The source object and S/4HANA System target field mappings, including custom fields, will be updated based on mapping requirements in S/4HANA System.
- The Custom API should be able to map all source and target mappings to successfully create a sales order
Dependencies
- All configurations in S/4HANA from where the custom API should look up values should already be implemented 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
tbc
Special Requirements
tbc
new custom table to map Header DUNS and Body DUNS
Design Rationale
API Use
Custom API from API_SALES_ORDER_SRV_0001
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 |
|---|---|---|---|---|
| ZDocumentHeader | DocumentIdentifier | Y | ||
| DocumentIdentifierDateTime | Y | |||
| RequestingDocumentIdentifier | N | |||
| RequestingDocumentDateTime | N | |||
| SenderPartnerName | Y | |||
| SenderPartnerRole | Y | |||
| SenderDUNS | Y | |||
| SenderContactName | N | |||
| SenderContactDescription | N | |||
| SenderTelephoneNumberTelecomCountryCode | N | |||
| SenderTelephoneNumberTelecomAreaCode | N | |||
| SenderTelephoneNumberPhoneNumber | N | |||
| SenderFaxNumberTelecomCountryCode | N | |||
| SenderFaxNumberTelecomAreaCode | N | |||
| SenderFaxNumberPhoneNumber | N | |||
| SenderEmailAddress | N | |||
| SenderAlternativeCommunicationMethod | N | |||
| SenderAddressLine | N | |||
| SenderCityName | N | |||
| SenderStateProvince | N | |||
| SenderPostalCode | N | |||
| SenderPostalCountry | N | |||
| SenderLocationCode | N | |||
| SenderTaxIdentifierNumber | N | |||
| ReceiverPartnerName | Y | |||
| ReceiverPartnerRole | Y | |||
| ReceiverDUNSCode | Y | |||
| ReceiverContactName | N | |||
| ReceiverContactDescription | N | |||
| ReceiverTelephoneNumberTelecomCountryCode | N | |||
| ReceiverTelephoneNumberTelecomAreaCode | N | |||
| ReceiverTelephoneNumberPhoneNumber | N | |||
| ReceiverFaxNumberTelecomCountryCode | N | |||
| ReceiverFaxNumberTelecomAreaCode | N | |||
| ReceiverFaxNumberPhoneNumber | N | |||
| ReceiverEmailAddress | N | |||
| ReceiverAlternativeCommunicationMethod | N | |||
| ReceiverAddressLine | N | |||
| ReceiverCityName | N | |||
| ReceiverStateProvince | N | |||
| ReceiverPostalCode | N | |||
| ReceiverPostalCountry | N | |||
| ReceiverLocationCode | N | |||
| ReceiverTaxIdentifierNumber | N | |||
| A_SaleOrder | DsitributionChannel | Y | ||
| OrganisationDivision | Y | |||
| SalesOrderType | Y | |||
| SalesOrgansation | Y | |||
| PurchaseOrderByCustomer | Customer reference number that the customer uses to uniquely identify a purchasing document (for example, a sales inquiry or a purchase order) | Y | ||
| ZContractNumber | Customer reference number that the customer uses to uniquely identify a purchasing document (for example, a sales inquiry or a purchase order) | N | ||
| TransactionCurrency | The currency that applies to the sales order | N | ||
| ZRevisionNumber | N | |||
| ZReleaseNumber | N | |||
| A_SalesOrderHeaderPartner | PartnerFunction | |||
| ContactPerson | ||||
| A_SalesOrderText | Language (key) | The language key indicates the following:
| Y | |
| LongTextID (key) | Y | |||
| LongText | Y |
Calculation and Validation
Not needed as information will be in the processing logic section
| Parent | Field | Rule Type | Rule Instruction |
|---|---|---|---|
Processing Logic
describe the custom table for the header and body DUNS
how the header DUNS is fetched (which field in XML) and where it is stored
EDPAR look ups
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 |
|---|---|---|---|