Status

OwnerABOLAJI-ext, Luqman 
Stakeholders
Jira Request ID

Jira Development ID

High- Level Specification

Implementing SystemSAP S/4HANA 
Invoked by/InvokesERP-1120 Integration Process - Order Response Interface from S/4HANA to Elemica
Business Process Reference02.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

  1. 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
  2. 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.
  3. The Custom API should be able to map all source data to their corresponding target fields successfully 

Dependencies

  1. The sales order must have been created successfully
  2. 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.
  3. Connection between SAP CPI and S/4HANA already set up
  4. 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

  1. Text IDs VBBK-Z002, VBBK-Z004, VBBK-Z999, VBBP-Z999
  2. Sales Order Types

Special Requirements

Specify any special requirements or considerations that may impact the interface based on specific locations, regulatory compliance or system limitations. Clearly outline requirements e.g. localization rules for countries like China

N/A


Design Rationale

This template section may be used to specify the custom API design. The requirement can be for an API provider which means the API will be designed in the system or can be for an API consumer which means that an API will be consumed in the system.

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:

ParentFieldDescriptionMandatory (Y/N)Data Type











Calculation and Validation

Populate the table below to list the calculation and validation rules per field. Can be deleted if not needed.

ParentFieldRule TypeRule Instruction












eDocument mapping

Populate the table below to list the mapping for edocument implementations. Can be deleted if not needed.

GeneralSyensqo XML (Intermediate Target)SAP eDoc Standard Mapping (Source)Custom Mapping (Source)
S-NRFlow (SD/FI/MM/ALL)Target FieldTarget Field DetailsConditionSyensqo XML NodeSyensqo XML FieldSAP eDoc Standard NodeSAP eDoc Standard FieldFixed ValueCustom Logic




Conditional / Mandatory Header / Header Tax / Header Value / Header Extension / Sender / Sender Extension / Receiver / Receiver Extension / Item / Item Tax / Item Value / Item Extension















Processing Logic

Describe the processing requirement in the System

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 CodeLogic to find Partner Code from SAP Customer Source of SAP Customer in Sales Order
BuyerPartnerCode

EDPAR-EXPNR where:
EDPAR - INPNR = <A_SalesOrderAdditionalFields/SoldToParty> and EDPAR-PARVM = SP

VBAK-KUNNR
ShipToPartnerCode

EDPAR-EXPNR where:
EDPAR - INPNR = <A_SalesOrderHeader/ShipToPartnerCode> and EDPAR-PARVM = SH

EDPAR-KUNNR = <A_SalesOrderAdditionalFields/SoldToParty>

VBPA-KUNNR where:
VBPA-VBELN = VBAK-VBELN
VBPA-PARVW = SH
PayerPartnerCode

EDPAR-INPNR where:
EDPAR - EXPNR = A_SalesOrderHeader/ShipToPartnerCode and EDPAR-PARVM = PY

EDPAR-KUNNR = A_SalesOrderAdditionalFields/SoldToParty>

VBPA-KUNNR where:
VBPA-VBELN = VBAK-VBELN
VBPA-PARVW = BP
BillToPartnerCode

EDPAR-INPNR where:
EDPAR - EXPNR = A_SalesOrderHeader/ShipToPartnerCode and EDPAR-PARVM = BP

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

PurchaseOrderTypeCodeSalesOrderType
KNOR
KNZOR
KAKE
CNKB
Z2KBB
SOKBB
NEORB
ZERCM


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

Please describe change tracking requirements, i.e. transferring only delta, or always full load

Interface Alert & Monitoring

Please describe any alert & monitoring requirement for business users and support organization, i.e. AIF

Language Requirements

Specify multi language requirements

User Interface Requirements

Capture the requirements for the user interface (UI) associated with the interface. It should provide a clear description of how users will interact with the interface and how information will be presented to ensure usability and accuracy. 

Sequencing

Please describe delivery requirements driven by message sequencing, i.e. specific order, impact of disruption of sequence, are duplicates allowed, etc.


Volumetrics

Provide volumetrics details: Initial load volumes, Number of Records, Expected Frequency, Expected Long term Growth)


Performance Consideration

Specify if there are any specific performance factors that need to be taken into consideration during development i.e. interface must be able to handle 100 posting per-hour, etc.

Error Handling

Detail how errors will be handled: Notification, Restart/ Recovery and Re-Processing Procedures


Testing

How to Test

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.

Test Conditions and Expected Results

IDConditionExpected Results






Test Considerations/Dependencies

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.


Other Information


Development Details

Package

Package NameParent Package




Other Development Objects

Object TypeObject NamePurpose/High Level LogicDesign Rationale Reference









Appendix

See also

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.


Change log