You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 18 Next »

Status

  Approved

Owner
Stakeholders
Jira Request ID
Jira Development ID

High- Level Specification

Implementing SystemSAP S/4HANA 
Invoked by/Invokes

ERP-1138 - Getting issue details... STATUS

Business Process Reference02.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

  1. From data directly available in the Elemica XML or
  2. 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

  1. No system interface functional specification is required for Elemica as the approach is to keep as-is the process on the Elemica side for the SyWay project. 
  2. API Management is for security/routing and do not change the message structure or format

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

  1. 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
  2. The source object and S/4HANA System target field mappings, including custom fields, will be updated based on mapping requirements in S/4HANA System.
  3. The Custom API should be able to map all source and target mappings to successfully create a sales order

Dependencies

  1. All configurations in S/4HANA from where the custom API should look up values should already be implemented before the interface is deployed.
  2. Connection between SAP CPI and S/4HANA already set up
  3. 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:

ParentCardinalityFieldDescriptionMandatory (Y/N)Data Type
ZDocumentHeaderDocumentIdentifier
YString

1DocumentIdentifierDateTime
YDateTime

1RequestingDocumentIdentifier
NString

1RequestingDocumentDateTime
NDateTime

1SenderPartnerName
YString

1SenderPartnerRole
YString

1SenderDUNS
YString

1SenderContactName
NString

1SenderContactDescription
NString

1SenderTelephoneNumberTelecomCountryCode
NISO Country ?

1SenderTelephoneNumberTelecomAreaCode
N

SenderTelephoneNumberPhoneNumber
N

SenderFaxNumberTelecomCountryCode
N

 1SenderFaxNumberTelecomAreaCode
N

 1SenderFaxNumberPhoneNumber
N

1SenderEmailAddress
N

1SenderAlternativeCommunicationMethod
N

1SenderAddressLine
N

1SenderCityName
N

1SenderStateProvince
N

1SenderPostalCode
N

1SenderPostalCountry
N

1SenderLocationCode
N

1SenderTaxIdentifierNumber
N

1ReceiverPartnerName
Y

1ReceiverPartnerRole
Y

1ReceiverDUNSCode
Y

1ReceiverContactName
N

1ReceiverContactDescription
N

1ReceiverTelephoneNumberTelecomCountryCode
N

1ReceiverTelephoneNumberTelecomAreaCode
N

1ReceiverTelephoneNumberPhoneNumber
N

1ReceiverFaxNumberTelecomCountryCode
N

1ReceiverFaxNumberTelecomAreaCode
N

1ReceiverFaxNumberPhoneNumber
N

1ReceiverEmailAddress
N

1ReceiverAlternativeCommunicationMethod
N

1ReceiverAddressLine
N

1ReceiverCityName
N

1ReceiverStateProvince
N

1ReceiverPostalCode
N

1ReceiverPostalCountry
N

1ReceiverLocationCode
N

1ReceiverTaxIdentifierNumber
N
A_SalesOrder1DsitributionChannel
Y

1OrganisationDivision
Y

1SalesOrderType
Y

1SalesOrganisation
Y

1ZUserStatus
Y

1CustomerPurchaseOrderType
Y

1PurchaseOrderByCustomerCustomer reference number that the customer uses to uniquely identify a purchasing document (for example, a sales inquiry or a purchase order)YString

1ZContractNumberCustomer reference number that the customer uses to uniquely identify a purchasing document (for example, a sales inquiry or a purchase order)NString

1TransactionCurrencyThe currency that applies to the sales order

N



1ZRevisionNumber

N



1ZReleaseNumber

N



1IncotermsClassificationCommonly used trading terms that comply with the standards established by the International Chamber of Commerce (ICC)

N



1IncotermsLocation1Provides additional information for the primary Incoterm

N



1CustomerPaymentTerms

N



1ZDiscountPercentage

N



1ZDiscountAmount

N



1ZDiscountDaysDue

N



1PurchaseOrderByShipToParty

N



1ZCountryOfFinalDestination

N


A_SalesOrderHeaderPartner1SoldtoPartyThe customer who orders the goods or services. The sold-to party is contractually responsible for sales orders.

Y



1ZBuyerContactName
NString

1ZBuyerContactDescription

N

String

1ZSeller
NString

1ZSellerContactName
NString


ZSellerContactDescription
NString

1ZShipto
NString

1ZPayer
NString

1ZBillto
NString

1ZShipper
NString

1ZShipFrom
NString

1ZCarrier
NString
A_SalesOrderPartnerAddress1BuyerTelephoneNumberTelecomCountryCode
N

1BuyerTelephoneNumberTelecomAreaCode
N

1BuyerTelephoneNumberPhoneNumber
N

1BuyerFaxNumberTelecomCountryCode
N

1BuyerFaxNumberTelecomAreaCode
N

1BuyerFaxNumberPhoneNumber
N

1BuyerEmailAddress
NString

1BuyerAlternativeCommunicationMethod
NString

1BuyerAddressLine
NString

1BuyerCityName
NString

1BuyerStateProvince
N

1BuyerPostalCode
N

1BuyerPostalCountry
N

1BuyerLocationCode
N

1BuyerTaxIdentifierNumber
NString

1ShipToTelephoneNumberTelecomCountryCode
N

1ShipToTelephoneNumberTelecomAreaCode
N

1ShipToTelephoneNumberPhoneNumber
N

1ShipToFaxNumberTelecomCountryCode
N

1ShipToFaxNumberTelecomAreaCode
N

1ShipToFaxNumberPhoneNumber
N

1ShipToEmailAddress
NString

1ShipToAlternativeCommunicationMethod
NString

1ShipToAddressLine
NString

1ShipToCityName
NString

1ShipToStateProvince
N

1ShipToPostalCode
N

1ShipToPostalCountry
N

1ShipToLocationCode
N
 1ShipToTaxIdentifierNumber
NString

1PayerTelephoneNumberTelecomCountryCode
N

1PayerTelephoneNumberTelecomAreaCode
N

1PayerTelephoneNumberPhoneNumber
N

1PayerFaxNumberTelecomCountryCode
N

1PayerFaxNumberTelecomAreaCode
N

1PayerFaxNumberPhoneNumber
N

1PayerEmailAddress
NString

1PayerAlternativeCommunicationMethod
NString

1PayerAddressLine
NString

1PayerCityName
N

1PayerStateProvince
N

1PayerPostalCode
N

1PayerPostalCountry
N

1PayerLocationCode
N

1PayerTaxIdentifierNumber
NString

1BillToTelephoneNumberTelecomCountryCode
N

1BillToTelephoneNumberTelecomAreaCode
N

1BillToTelephoneNumberPhoneNumber
N

1BillToFaxNumberTelecomCountryCode
N

1BillToFaxNumberTelecomAreaCode
N
 1BillToFaxNumberPhoneNumber
N

1BillToEmailAddress
NString

1BillToAlternativeCommunicationMethod
NString

1BillToAddressLine
NString

1BillToCityName
NString

1BillToStateProvince
N

1BillToPostalCode
N

1BillToPostalCountry
N

1BillToLocationCode
N

1BillToTaxIdentifierNumber
NString
A_SalesOrderText1 to manyLanguage
(key)
The language key indicates the following:
  • The language in which texts are displayed

  • The language in which you enter texts

  • The language in which the system prints texts

Y

1 to manyLongTextID
(key)

Y

1 to many LongText
YString
A_SalesOrderItem1 to manyUnderlyingPurchaseOrderItem
NString
  1 to manySalesOrderItem (key)
N

 1 to manyMaterialByCustomer

Y

 1 to manyZMaterialByCustomerDescription
NString
  1 to manyMaterial
M
  1 to manyZMaterialDescription
NString
  1 to manyPurchaseOrderByCustomer
NString
  1 to manyRequestedQuantityThe number or volume of materials specified for an itemN
  1 to manyRequestedQuantityISOUnit
N
 1 to manyIncotermsClassification
N
 1 to manyIncotermsLocation1
N
 1 to manyZLineItemPurposeCode
N
 1 to manyZBalanceItemFlag
N
A_SalesOrderItemPartner1 to manyZShipto
NString
 1 to manyZPayer
NString
 1 to manyZBillto
NString
 1 to manyZShipper
NString
 1 to manyZShipFrom
NString
 1 to manyZCarrier
NString
 

 1 to many

ZThirdParty


NString
A_SalesOrderItemText1 to manyLanguage
(key)

N
  1 to manyLongTextID
(key)

N
  1 to manyLongText
NString
A_SalesOrderItemPrElement

1 to many

ConditionAmount


N
 

 1 to many

ConditionCurrency


N
 

 1 to many

ConditionRateValue


N
 

 1 to many

ConditionQuantityUnit


N
A_SalesOrderScheduleLine

 1 to many

RequestedDeliveryDate


N


Calculation and Validation 

Not needed as information will be in the processing logic section

ParentFieldRule TypeRule 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

IDConditionExpected Results






Test Considerations/Dependencies


Other Information


Development Details

Package

Package NameParent Package




Other Development Objects

Object TypeObject NamePurpose/High Level LogicDesign Rationale Reference









Appendix

See also


No files shared here yet.

Change log

Version Published Changed By Comment
CURRENT (v. 18) Apr 17, 2026 07:41 ABOLAJI-ext, Luqman
v. 67 Apr 15, 2026 21:44 ABOLAJI-ext, Luqman
v. 66 Mar 26, 2026 17:55 ABOLAJI-ext, Luqman
v. 65 Mar 25, 2026 23:12 ABOLAJI-ext, Luqman
v. 64 Mar 25, 2026 11:39 ABOLAJI-ext, Luqman
v. 63 Mar 24, 2026 18:47 ABOLAJI-ext, Luqman
v. 62 Mar 24, 2026 15:44 ABOLAJI-ext, Luqman
v. 61 Mar 24, 2026 11:53 ABOLAJI-ext, Luqman
v. 60 Mar 24, 2026 08:29 ABOLAJI-ext, Luqman
v. 59 Mar 13, 2026 12:18 ABOLAJI-ext, Luqman

Go to Page History

  • No labels