Status

Owner
Stakeholders

GONZALVEZ-ext, Antonio Jean-christophe Pham ngoc thuan

Jira Request ID

Jira Development ID

High- Level Specification

Implementing SystemSAP S/4HANA 
Invoked by/Invokes

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

Insert the flowchart and fill in the steps

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 

3

Sales Order is created in SAP S/4HANA based on the message received from SAP CPI


Assumptions

Describe any assumptions that have been made in the process of completing this design. What functionality is expected of configuration or other developments that pass information to this development and/ or retrieve the information processed by it (performance, triggers, exceptions, etc.)

  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

Indicate any dependencies or constraints that may impact development, in terms of requirements from internal or external applications or teams, limited access to legacy systems, time constraints or data restrictions. Also, please specify schedule dependencies e.g. interface or batch jobs that must run prior to execution.

  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

To detail the security requirements for processing this object, any data integrity issues associated with the object and the teams that will be responsible for processing the object, i.e. authorization/roles required to who can execute the interface, encryption requirement, etc.

  • 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

Specify the configuration requirements for this object. Like in case of substitution/ routine specify the configuration needed

  1. Text IDs VBBK-Z002, VBBK-Z004, VBBK-Z999, VBBP-Z999
  2. User status ZECB
  3. 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

If the interface interacts with third-party systems such as Icertis, describe any additional integration, security or authentication considerations that must be taken into account.

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

Populate the type of the API use  in this section. Will the API be Consumed or Provided. 

Custom API based on 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
A_SalesOrderHeader1





DocumentIdentifier
NString


DocumentIdentifierDateTime
NDateTime


RequestingDocumentIdentifier
NString


RequestingDocumentDateTime
NDateTime


SenderPartnerName
YString


SenderDUNS
YString


SenderContactName
NString


SenderContactDescription
NString


SenderTelephoneNumberTelecomCountryCode
NString


SenderTelephoneNumberTelecomAreaCode
NString

 SenderTelephoneNumberPhoneNumber
NString

 SenderFaxNumberTelecomCountryCode
NString


SenderFaxNumberTelecomAreaCode
NString


SenderFaxNumberPhoneNumber
NString


SenderEmailAddress
NString


SenderAlternativeCommunicationMethod
NString


SenderAddressLine
NString


SenderCityName
NString


SenderStateProvince
NString


SenderPostalCode
NString


SenderPostalCountry
NString


SenderLocationCode
NString


SenderTaxIdentifierNumber
NString


SenderJurisdiction
NString


SenderTaxCertificateType
NString


SenderTaxCertificateNumber
Nstring


SenderTaxBasis
Nstring


SenderTaxRate
Nstring


SenderSenderURL
Nstring


ReceiverPartnerName
Ystring


ReceiverDUNS
YString


ReceiverContactName
NString


ReceiverContactDescription
NString


ReceiverTelephoneNumberTelecomCountryCode
NString


ReceiverTelephoneNumberTelecomAreaCode
NString


ReceiverTelephoneNumberPhoneNumber
NString


ReceiverFaxNumberTelecomCountryCode
NString


ReceiverFaxNumberTelecomAreaCode
NString


ReceiverFaxNumberPhoneNumber
NString


ReceiverEmailAddress
NString


ReceiverAlternativeCommunicationMethod
NString


ReceiverAddressLine
NString


ReceiverCityName
NString


ReceiverStateProvince
NString


ReceiverPostalCode
NString


ReceiverPostalCountry
NString


ReceiverLocationCode
NString


ReceiverTaxIdentifierNumber
NString


ReceiverJurisdiction
NString


ReceiverTaxCertificateType
NString


ReceiverTaxCertificateNumber
NString


ReceiverTaxBasis
NString


ReceiverTaxRate
NString


ReceiverSenderURL
NString


PurchaseOrderTypeCode
YString


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


CustomerPurchaseOrderDate
YDateTime


TransactionCurrencyThe currency that applies to the sales order

N

String


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


LanguageCode

N

String


RevisionNumber

N

String


ReleaseNumber

N

String


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

N

String


IncotermsLocation1Provides additional information for the primary Incoterm

N

String


CustomerPaymentTerms

N

String


DiscountPercentage

N

String


DiscountAmount

N

String


DiscountDaysDue

N

String


DiscountsDueDate

N

DateTime


DeferredAmount

N

String


DeferedDueDate

N

DateTime


PercentDeferredPayable

N

String


Penalty

N

String


ShipWithPurchaseOrder

N

String


CountryOfFinalDestination

N

String


MarketPlaceIdentifier

N

String


MarketPlaceDocumentIdentifier

N

String


MarketPlaceReferenceItem

N

String


MarketPlaceSellerIdentifier

N

String


InvoiceCommunicationMode

N

String


BillingScheduleCode

N

String


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

Y

String


BuyerPartnerCode

Y

String


BuyerContactName
NString


BuyerContactDescription

N

String


SellerPartnerName
NString


SellerPartnerCode

Y

String


SellerContactName
NString


SellerContactDescription
NString


ShiptoPartnerName
NString


ShipToPartnerCode

Y

String


PayerPartnerName
NString


PayerPartnerCode

N

String


BilltoPartnerName
NString


BillToPartnerCode

N

String


ShipperPartnerName
NString


ShipperPartnerCode

N

String


ShipFromPartnerName
NString


ShipFromPartnerCode

N

String


CarrierPartnerName
NString


CarrierPartnerCode

N

String


BuyerTelephoneNumberTelecomCountryCode
NString


BuyerTelephoneNumberTelecomAreaCode
NString


BuyerTelephoneNumberPhoneNumber
NString


BuyerFaxNumberTelecomCountryCode
NString


BuyerFaxNumberTelecomAreaCode
NString


BuyerFaxNumberPhoneNumber
NString


BuyerEmailAddress
NString


BuyerAlternativeCommunicationMethod
NString


BuyerAddressLine
NString


BuyerCityName
NString


BuyerStateProvince
NString


BuyerPostalCode
NString


BuyerPostalCountry
NString


BuyerLocationCode
NString


BuyerExternalReference
NString


BuyerTaxIdentifierNumber
NString


BuyerJurisdiction
NString


BuyerTaxCertificateType
NString


BuyerTaxCertificateNumber
NString


BuyerTaxBasis
NString


BuyerTaxRate
NString


BuyerSenderURL
NString


ShipToTelephoneNumberTelecomCountryCode
NString


ShipToTelephoneNumberTelecomAreaCode
NString


ShipToTelephoneNumberPhoneNumber
NString


ShipToFaxNumberTelecomCountryCode
NString


ShipToFaxNumberTelecomAreaCode
NString


ShipToFaxNumberPhoneNumber
NString


ShipToEmailAddress
NString


ShipToAlternativeCommunicationMethod
NString


ShipToAddressLine
NString


ShipToCityName
NString


ShipToStateProvince
NString


ShipToPostalCode
NString


ShipToPostalCountry
NString


ShipToLocationCode
NString
 
ShipToExternalReference
NString
 
ShipToTaxIdentifierNumber
NString


ShipToJurisdiction
NString


ShipToTaxCertificateType
NString


ShipToTaxCertificateNumber
NString


ShipToTaxBasis
NString


ShipToTaxRate
NString


ShipToSenderURL
NString


PayerTelephoneNumberTelecomCountryCode
NString


PayerTelephoneNumberTelecomAreaCode
NString


PayerTelephoneNumberPhoneNumber
NString


PayerFaxNumberTelecomCountryCode
NString


PayerFaxNumberTelecomAreaCode
NString


PayerFaxNumberPhoneNumber
NString


PayerEmailAddress
NString


PayerAlternativeCommunicationMethod
NString


PayerAddressLine
NString


PayerCityName
NString


PayerStateProvince
NString


PayerPostalCode
NString


PayerPostalCountry
NString


PayerLocationCode
NString


PayerExternalReference
NString


PayerTaxIdentifierNumber
NString


PayerJurisdiction
NString


PayerToTaxCertificateType
NString


PayerTaxCertificateNumber
NString


PayerTaxBasis
NString


PayerTaxRate
NString
 
PayerSenderURL
NString


AccountHolderName
NString


AccountNumber
NString


FinancialInstitution
NString


FinancialInstitutionDFINumber
NString


CreditCardNumber
NString


CreditCardType
NString


CreditCardExpirationDate
NDateTime


BillToTelephoneNumberTelecomCountryCode
NString


BillToTelephoneNumberTelecomAreaCode
NString


BillToTelephoneNumberPhoneNumber
NString


BillToFaxNumberTelecomCountryCode
NString


BillToFaxNumberTelecomAreaCode
NString
 
BillToFaxNumberPhoneNumber
NString


BillToEmailAddress
NString


BillToAlternativeCommunicationMethod
NString


BillToAddressLine
NString


BillToCityName
NString


BillToStateProvince
NString


BillToPostalCode
NString


BillToPostalCountry
NString


BillToLocationCode
NString


BillToExternalReference
NString


BillToTaxIdentifierNumber
NString
 
BillToJurisdiction
NString
 
BillToTaxCertificateType
NString
 
BillToTaxCertificateNumber
NString
 
BillToTaxBasis
NString
 
BillToTaxRate
NString
 
BillToSenderURL
NString


ShipFromTelephoneNumberTelecomCountryCode
NString


ShipFromTelephoneNumberTelecomAreaCode
NString


ShipFromTelephoneNumberPhoneNumber
NString


ShipFromFaxNumberTelecomCountryCode
NString


ShipFromFaxNumberTelecomAreaCode
NString
 
ShipFromFaxNumberPhoneNumber
NString


ShipFromEmailAddress
NString


ShipFromAlternativeCommunicationMethod
NString


ShipFromAddressLine
NString


ShipFromCityName
NString


ShipFromStateProvince
NString


ShipFromPostalCode
NString


ShipFromPostalCountry
NString


ShipFromLocationCode
NString


ShipFromExternalReference
NString


ShipFromTaxIdentifierNumber
NString
 
ShipFromJurisdiction
NString
 
ShipFromTaxCertificateType
NString
 
ShipFromTaxCertificateNumber
NString
 
ShipFromTaxBasis
NString
 
ShipFromTaxRate
NString
 
ShipFromSenderURL
NString


CarrierTelephoneNumberTelecomCountryCode
NString


CarrierTelephoneNumberTelecomAreaCode
NString


CarrierTelephoneNumberPhoneNumber
NString


CarrierFaxNumberTelecomCountryCode
NString


CarrierFaxNumberTelecomAreaCode
NString
 
CarrierFaxNumberPhoneNumber
NString


CarrierEmailAddress
NString


CarrierAlternativeCommunicationMethod
NString


CarrierAddressLine
NString


CarrierCityName
NString


CarrierStateProvince
NString


CarrierPostalCode
NString


CarrierPostalCountry
NString


CarrierLocationCode
NString


CarrierExternalReference
NString


CarrierTaxIdentifierNumber
NString
 
CarrierJurisdiction
NString
 
CarrierTaxCertificateType
NString
 
CarrierTaxCertificateNumber
NString
 
CarrierTaxBasis
NString
 
CarrierTaxRate
NString
 
CarrierSenderURL
NString


ShipperTelephoneNumberTelecomCountryCode
NString


ShipperTelephoneNumberTelecomAreaCode
NString


ShipperTelephoneNumberPhoneNumber
NString


ShipperFaxNumberTelecomCountryCode
NString


ShipperFaxNumberTelecomAreaCode
NString
 
ShipperFaxNumberPhoneNumber
NString


ShipperEmailAddress
NString


ShipperAlternativeCommunicationMethod
NString


ShipperAddressLine
NString


ShipperCityName
NString


ShipperStateProvince
NString


ShipperPostalCode
NString


ShipperPostalCountry
NString


ShipperLocationCode
NString


ShipperExternalReference
NString


ShipperTaxIdentifierNumber
NString
 
ShipperJurisdiction
NString
 
ShipperTaxCertificateType
NString
 
ShipperTaxCertificateNumber
NString
 
ShipperTaxBasis
NString
 
ShipperTaxRate
NString
 
ShipperSenderURL
NString
A_SalesOrderText1 to many
 



CustomerRequiredInstructions NString


ShipperInstructions
NString


ConsigneeInstructions
NString

 CarrierInstructions
NString


ImportInstruction NString


CustomerServiceInstructions NString


RoutingInstruction
NString
A_SalesOrderItem1 


  LineItemNumber
NString


PurchaseOrderLineItemNumber
NString

 LineItemHandlingInstruction
NString

 MaterialByCustomer

YString

 MaterialByCustomerDescription
NString
  ProductDescription
NString
  ProductGradeDescription
NString
  Material
MString
  MaterialDescription
NString
  ProductDescription
NString
  ProductGradeDescription
NString
  CustomerPurchaseOrderNumber
NString
  ReferenceItem
NString
  RequestedQuantityThe number or volume of materials specified for an itemNString
 
RequestedQuantityISOUnit
NString
 
PackagingQuantity
NString
 
PackagingQuantityISOUnit
NString
 
EngineeringChangeOrderIdentifier
NString
 
BatchNumber
NString
 
CountryOfOriginCode
NString
 
IncotermsClassification
NString
 
IncotermsLocation1
NString
 
TransportMethodCode
NString
 
LineItemPurposeCode
NString
 
BalanceItemFlag
NString
 
DeliveryTolerancesLowerLimit
NString
 
DeliveryTolerancesUpperLimit
NString
 
DeliveryTolerancesUnitofMeasure
NString


ItemShiptoPartnerName
NString


ItemShipToPartnerCode

Y

String


ItemBilltoPartnerName
NString


ItemBillToPartnerCode

N

String


ItemShipperPartnerName
NString


ItemShipperPartnerCode

N

String


ItemShipFromPartnerName
NString
 
ItemShipFromPartnerCode

N

String
 
ItemCarrierPartnerName
NString
 
ItemCarrierPartnerCode

N

String


ItemShipToTelephoneNumberTelecomCountryCode
NString


ItemShipToTelephoneNumberTelecomAreaCode
NString


ItemShipToTelephoneNumberPhoneNumber
NString


ItemShipToFaxNumberTelecomCountryCode
NString


ItemShipToFaxNumberTelecomAreaCode
NString


ItemShipToFaxNumberPhoneNumber
NString


ItemShipToEmailAddress
NString


ItemShipToAlternativeCommunicationMethod
NString


ItemShipToAddressLine
NString


ItemShipToCityName
NString


ItemShipToStateProvince
NString


ItemShipToPostalCode
NString


ItemShipToPostalCountry
NString


ItemShipToLocationCode
NString
 
ItemShipToExternalReference
NString
 
ItemShipToTaxIdentifierNumber
NString


ItemShipToJurisdiction
NString


ItemShipToTaxCertificateType
NString


ItemShipToTaxCertificateNumber
NString


ItemShipToTaxBasis
NString


ItemShipToTaxRate
NString


ItemShipToSenderURL
NString


ItemBillToTelephoneNumberTelecomCountryCode
NString


ItemBillToTelephoneNumberTelecomAreaCode
NString


ItemBillToTelephoneNumberPhoneNumber
NString


ItemBillToFaxNumberTelecomCountryCode
NString


ItemBillToFaxNumberTelecomAreaCode
NString
 
ItemBillToFaxNumberPhoneNumber
NString


ItemBillToEmailAddress
NString


ItemBillToAlternativeCommunicationMethod
NString


ItemBillToAddressLine
NString


ItemBillToCityName
NString


ItemBillToStateProvince
NString


ItemBillToPostalCode
NString


ItemBillToPostalCountry
NString


ItemBillToLocationCode
NString


ItemBillToExternalReference
NString


ItemBillToTaxIdentifierNumber
NString
 
ItemBillToJurisdiction
NString
 
ItemBillToTaxCertificateType
NString
 
ItemBillToTaxCertificateNumber
NString
 
ItemBillToTaxBasis
NString
 
ItemBillToTaxRate
NString
 
ItemBillToSenderURL
NString


ItemShipFromTelephoneNumberTelecomCountryCode
NString


ItemShipFromTelephoneNumberTelecomAreaCode
NString


ItemShipFromTelephoneNumberPhoneNumber
NString


ItemShipFromFaxNumberTelecomCountryCode
NString


ItemShipFromFaxNumberTelecomAreaCode
NString
 
ItemShipFromFaxNumberPhoneNumber
NString


ItemShipFromEmailAddress
NString


ItemShipFromAlternativeCommunicationMethod
NString


ItemShipFromAddressLine
NString


ItemShipFromCityName
NString


ItemShipFromStateProvince
NString


ItemShipFromPostalCode
NString


ItemShipFromPostalCountry
NString


ItemShipFromLocationCode
NString


ItemShipFromExternalReference
NString


ItemShipFromTaxIdentifierNumber
NString
 
ItemShipFromJurisdiction
NString
 
ItemShipFromTaxCertificateType
NString
 
ItemShipFromTaxCertificateNumber
NString
 
ItemShipFromTaxBasis
NString
 
ItemShipFromTaxRate
NString
 
ItemShipFromSenderURL
NString


ItemCarrierTelephoneNumberTelecomCountryCode
NString


ItemCarrierTelephoneNumberTelecomAreaCode
NString


ItemCarrierTelephoneNumberPhoneNumber
NString


ItemCarrierFaxNumberTelecomCountryCode
NString


ItemCarrierFaxNumberTelecomAreaCode
NString
 
ItemCarrierFaxNumberPhoneNumber
NString


ItemCarrierEmailAddress
NString


ItemCarrierAlternativeCommunicationMethod
NString


ItemCarrierAddressLine
NString


ItemCarrierCityName
NString


ItemCarrierStateProvince
NString


ItemCarrierPostalCode
NString


ItemCarrierPostalCountry
NString


ItemCarrierLocationCode
NString


ItemCarrierExternalReference
NString


ItemCarrierTaxIdentifierNumber
NString
 
ItemCarrierJurisdiction
NString
 
ItemCarrierTaxCertificateType
NString
 
ItemCarrierTaxCertificateNumber
NString
 
ItemCarrierTaxBasis
NString
 
ItemCarrierTaxRate
NString
 
ItemCarrierSenderURL
NString


ItemShipperTelephoneNumberTelecomCountryCode
NString


ItemShipperTelephoneNumberTelecomAreaCode
NString


ItemShipperTelephoneNumberPhoneNumber
NString


ItemShipperFaxNumberTelecomCountryCode
NString


ItemShipperFaxNumberTelecomAreaCode
NString
 
ItemShipperFaxNumberPhoneNumber
NString


ItemShipperEmailAddress
NString


ItemShipperAlternativeCommunicationMethod
NString


ItemShipperAddressLine
NString


ItemShipperCityName
NString


ItemShipperStateProvince
NString


ItemShipperPostalCode
NString


ItemShipperPostalCountry
NString


ItemShipperLocationCode
NString


ItemShipperExternalReference
NString


ItemShipperTaxIdentifierNumber
NString
 
ItemShipperJurisdiction
NString
 
ItemShipperTaxCertificateType
NString
 
ItemShipperTaxCertificateNumber
NString
 
ItemShipperTaxBasis
NString
 
ItemShipperTaxRate
NString
 
ItemShipperSenderURL
NString
A_SalesOrderItemText1 to many





CustomerRequiredInstructions NString


ShipperInstructions
NString


ConsigneeInstructions
NString

 CarrierInstructions
NString


ImportInstruction NString


CustomerServiceInstructions NString


RoutingInstruction
NString
A_SalesOrderItemPrElement

1







PricePerUnit
NString
 

 

PriceCurrencyCode
NString
 

 

PriceBasis
NString
 

 

PriceBasisUnitofMeasure
NString
A_SalesOrderScheduleLine

1

 






ScheduleDateRequestedDeliveryOn


NDateTime


ScheduleDateConfirmedPickUpOn


NDateTime


Calculation and Mapping

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

ParentFieldRule TypeRule Instruction

(Field/TextID to map to)
Additional Instruction
A_SalesOrderHeader




DocumentIdentifiermap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

DocumentIdentifierDateTimemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

RequestingDocumentIdentifiermap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

RequestingDocumentDateTimemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

SenderPartnerNamemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

SenderDUNSmap to ZL2C_DUNS custom table
SenderDUNS 


SenderContactNamemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

SenderContactDescriptionmap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

SenderTelephoneNumberTelecomCountryCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

SenderTelephoneNumberTelecomAreaCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

SenderTelephoneNumberPhoneNumbermap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

SenderFaxNumberTelecomCountryCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

SenderFaxNumberTelecomAreaCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

SenderFaxNumberPhoneNumbermap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

SenderEmailAddressmap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

SenderAlternativeCommunicationMethodmap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

SenderAddressLinemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

SenderCityNamemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

SenderStateProvincemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

SenderPostalCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

SenderPostalCountrymap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

SenderLocationCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

SenderTaxIdentifierNumbermap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

SenderJurisdictionmap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

SenderTaxCertificateTypemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

SenderTaxCertificateNumbermap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

SenderTaxBasismap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

SenderTaxRatemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

SenderSenderURLmap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ReceiverPartnerNamemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ReceiverDUNSmap to ZL2C_DUNS custom table
ReceiverDUNS 


ReceiverContactNamemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ReceiverContactDescriptionmap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ReceiverTelephoneNumberTelecomCountryCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ReceiverTelephoneNumberTelecomAreaCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ReceiverTelephoneNumberPhoneNumbermap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ReceiverFaxNumberTelecomCountryCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ReceiverFaxNumberTelecomAreaCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ReceiverFaxNumberPhoneNumbermap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ReceiverEmailAddressmap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ReceiverAlternativeCommunicationMethodmap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ReceiverAddressLinemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ReceiverCityNamemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ReceiverStateProvincemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ReceiverPostalCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ReceiverPostalCountrymap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ReceiverLocationCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ReceiverTaxIdentifierNumbermap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ReceiverJurisdictionmap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ReceiverTaxCertificateTypemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ReceiverTaxCertificateNumbermap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ReceiverTaxBasismap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ReceiverTaxRatemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ReceiverSenderURLmap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

PurchaseOrderTypeCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

CustomerPurchaseOrdermap to sales order fieldVBAK-BSTNK

CustomerPurchaseOrderDatemap to sales order fieldVBAK-BSTDK

TransactionCurrencymap to sales order fieldVBAK-WAERK

ContractNumbermap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

LanguageCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

RevisionNumbermap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ReleaseNumbermap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

IncotermsClassificationmap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

IncotermsLocation1map to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

CustomerPaymentTermsmap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

DiscountPercentagemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

DiscountAmountmap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

DiscountDaysDuemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

DiscountsDueDatemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

DeferredAmountmap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

DeferedDueDatemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

PercentDeferredPayablemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

Penaltymap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipWithPurchaseOrdermap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

CountryOfFinalDestinationmap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

MarketPlaceIdentifiermap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

MarketPlaceDocumentIdentifiermap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

MarketPlaceReferenceItemmap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

MarketPlaceSellerIdentifiermap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

InvoiceCommunicationModemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

BillingScheduleCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

BuyerPartnerNamemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

BuyerPartnerCode

map to ZL2C_DUNS custom table and 

see Partner Look Up Logic

BuyerDUNS

BuyerContactNamemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

BuyerContactDescriptionmap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

SellerPartnerNamemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

SellerPartnerCodemap to ZL2C_DUNS custom tableSellerDUNS

SellerContactNamemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

SellerContactDescriptionmap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShiptoPartnerNamemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipToPartnerCodesee Partner Look Up Logic


PayerPartnerNamemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

PayerPartnerCodesee Partner Look Up Logic


BilltoPartnerNamemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

BillToPartnerCodesee Partner Look Up Logic


ShipperPartnerNamemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipperPartnerCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipFromPartnerNamemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipFromPartnerCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

CarrierPartnerNamemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

CarrierPartnerCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

BuyerTelephoneNumberTelecomCountryCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

BuyerTelephoneNumberTelecomAreaCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

BuyerTelephoneNumberPhoneNumbermap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

BuyerFaxNumberTelecomCountryCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

BuyerFaxNumberTelecomAreaCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

BuyerFaxNumberPhoneNumbermap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

BuyerEmailAddressmap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

BuyerAlternativeCommunicationMethodmap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

BuyerAddressLinemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

BuyerCityNamemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

BuyerStateProvincemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

BuyerPostalCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

BuyerPostalCountrymap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

BuyerLocationCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

BuyerExternalReferencemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

BuyerTaxIdentifierNumbermap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

BuyerJurisdictionmap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

BuyerTaxCertificateTypemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

BuyerTaxCertificateNumbermap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

BuyerTaxBasismap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

BuyerTaxRatemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

BuyerSenderURLmap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipToTelephoneNumberTelecomCountryCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipToTelephoneNumberTelecomAreaCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipToTelephoneNumberPhoneNumbermap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipToFaxNumberTelecomCountryCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipToFaxNumberTelecomAreaCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipToFaxNumberPhoneNumbermap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipToEmailAddressmap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipToAlternativeCommunicationMethodmap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipToAddressLinemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipToCityNamemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipToStateProvincemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipToPostalCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipToPostalCountrymap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipToLocationCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipToExternalReferencemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipToTaxIdentifierNumbermap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipToJurisdictionmap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipToTaxCertificateTypemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipToTaxCertificateNumbermap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipToTaxBasismap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipToTaxRatemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipToSenderURLmap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

PayerTelephoneNumberTelecomCountryCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

PayerTelephoneNumberTelecomAreaCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

PayerTelephoneNumberPhoneNumbermap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

PayerFaxNumberTelecomCountryCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

PayerFaxNumberTelecomAreaCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

PayerFaxNumberPhoneNumbermap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

PayerEmailAddressmap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

PayerAlternativeCommunicationMethodmap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

PayerAddressLinemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

PayerCityNamemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

PayerStateProvincemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

PayerPostalCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

PayerPostalCountrymap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

PayerLocationCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

PayerExternalReferencemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

PayerTaxIdentifierNumbermap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

PayerJurisdictionmap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

PayerToTaxCertificateTypemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

PayerTaxCertificateNumbermap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

PayerTaxBasismap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

PayerTaxRatemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

PayerSenderURLmap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

AccountHolderNamemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

AccountNumbermap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

FinancialInstitutionmap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

FinancialInstitutionDFINumbermap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

CreditCardNumbermap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

CreditCardTypemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

CreditCardExpirationDatemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

BillToTelephoneNumberTelecomCountryCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

BillToTelephoneNumberTelecomAreaCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

BillToTelephoneNumberPhoneNumbermap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

BillToFaxNumberTelecomCountryCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

BillToFaxNumberTelecomAreaCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

BillToFaxNumberPhoneNumbermap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

BillToEmailAddressmap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

BillToAlternativeCommunicationMethodmap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

BillToAddressLinemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

BillToCityNamemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

BillToStateProvincemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

BillToPostalCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

BillToPostalCountrymap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

BillToLocationCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

BillToExternalReferencemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

BillToTaxIdentifierNumbermap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

BillToJurisdictionmap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

BillToTaxCertificateTypemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

BillToTaxCertificateNumbermap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

BillToTaxBasismap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

BillToTaxRatemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

BillToSenderURLmap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipFromTelephoneNumberTelecomCountryCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipFromTelephoneNumberTelecomAreaCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipFromTelephoneNumberPhoneNumbermap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipFromFaxNumberTelecomCountryCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipFromFaxNumberTelecomAreaCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipFromFaxNumberPhoneNumbermap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipFromEmailAddressmap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipFromAlternativeCommunicationMethodmap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipFromAddressLinemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipFromCityNamemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipFromStateProvincemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipFromPostalCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipFromPostalCountrymap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipFromLocationCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipFromExternalReferencemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipFromTaxIdentifierNumbermap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipFromJurisdictionmap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipFromTaxCertificateTypemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipFromTaxCertificateNumbermap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipFromTaxBasismap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipFromTaxRatemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipFromSenderURLmap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

CarrierTelephoneNumberTelecomCountryCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

CarrierTelephoneNumberTelecomAreaCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

CarrierTelephoneNumberPhoneNumbermap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

CarrierFaxNumberTelecomCountryCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

CarrierFaxNumberTelecomAreaCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

CarrierFaxNumberPhoneNumbermap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

CarrierEmailAddressmap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

CarrierAlternativeCommunicationMethodmap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

CarrierAddressLinemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

CarrierCityNamemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

CarrierStateProvincemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

CarrierPostalCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

CarrierPostalCountrymap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

CarrierLocationCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

CarrierExternalReferencemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

CarrierTaxIdentifierNumbermap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

CarrierJurisdictionmap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

CarrierTaxCertificateTypemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

CarrierTaxCertificateNumbermap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

CarrierTaxBasismap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

CarrierTaxRatemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

CarrierSenderURLmap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipperTelephoneNumberTelecomCountryCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipperTelephoneNumberTelecomAreaCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipperTelephoneNumberPhoneNumbermap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipperFaxNumberTelecomCountryCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipperFaxNumberTelecomAreaCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipperFaxNumberPhoneNumbermap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipperEmailAddressmap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipperAlternativeCommunicationMethodmap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipperAddressLinemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipperCityNamemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipperStateProvincemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipperPostalCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipperPostalCountrymap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipperLocationCodemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipperExternalReferencemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipperTaxIdentifierNumbermap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipperJurisdictionmap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipperTaxCertificateTypemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipperTaxCertificateNumbermap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipperTaxBasismap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipperTaxRatemap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ShipperSenderURLmap to textVBBK_Z999 Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank
A_SalesOrderText




CustomerRequiredInstructionsmap to textVBBK_Z004

Format for update in Text: 

"<Field>:" +

<value>. 
Add label <Field> only if <value> is not blank


ShipperInstructionsmap to textVBBK_Z004

Format for update in Text: 

"<Field>:" +

<value>. 
Add label <Field> only if <value> is not blank


ConsigneeInstructionsmap to textVBBK_Z004

Format for update in Text: 

"<Field>:" +

<value>. 
Add label <Field> only if <value> is not blank


CarrierInstructionsmap to textVBBK_Z004

Format for update in Text: 

"<Field>:" +

<value>. 
Add label <Field> only if <value> is not blank


ImportInstructionmap to textVBBK_Z004

Format for update in Text: 

"<Field>:" +

<value>. 
Add label <Field> only if <value> is not blank


CustomerServiceInstructionsmap to textVBBK_Z004

Format for update in Text: 

"<Field>:" +

<value>. 
Add label <Field> only if <value> is not blank


RoutingInstructionmap to textVBBK_Z004

Format for update in Text: 

"<Field>:" +

<value>. 
Add label <Field> only if <value> is not blank

A_SalesOrderItem




LineItemNumbermap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

PurchaseOrderLineItemNumbermap to sales order fieldVBAP-POSNR

LineItemHandlingInstructionmap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

MaterialByCustomermap to sales order fieldVBAP-KDMAT

MaterialByCustomerDescriptionmap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ProductDescriptionmap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ProductGradeDescriptionmap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

Materialmap to sales order fieldVBAP-MATNR

MaterialDescriptionmap to sales order fieldVBAP-ARKTX

ProductDescriptionmap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ProductGradeDescriptionmap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

CustomerPurchaseOrdermap to sales order fieldVBKD-BSTKD_E

ReferenceItemmap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

RequestedQuantitymap to sales order fieldVBAP-KWMENG

RequestedQuantityISOUnitmap to sales order fieldVBAP-VRKME

PackagingQuantitymap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

PackagingQuantityISOUnitmap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

EngineeringChangeOrderIdentifiermap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

BatchNumbermap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

CountryOfOriginCodemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

IncotermsClassificationmap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

IncotermsLocation1map to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

TransportMethodCodemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

LineItemPurposeCodemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

BalanceItemFlagmap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

DeliveryTolerancesLowerLimitmap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

DeliveryTolerancesUpperLimitmap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

DeliveryTolerancesUnitofMeasuremap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShiptoPartnerNamemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipToPartnerCodemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemBilltoPartnerNamemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemBillToPartnerCodemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipperPartnerNamemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipperPartnerCodemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipFromPartnerNamemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipFromPartnerCodemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemCarrierPartnerNamemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemCarrierPartnerCodemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipToTelephoneNumberTelecomCountryCodemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipToTelephoneNumberTelecomAreaCodemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipToTelephoneNumberPhoneNumbermap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipToFaxNumberTelecomCountryCodemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipToFaxNumberTelecomAreaCodemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipToFaxNumberPhoneNumbermap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipToEmailAddressmap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipToAlternativeCommunicationMethodmap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipToAddressLinemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipToCityNamemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipToStateProvincemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipToPostalCodemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipToPostalCountrymap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipToLocationCodemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipToExternalReferencemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipToTaxIdentifierNumbermap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipToJurisdictionmap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipToTaxCertificateTypemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipToTaxCertificateNumbermap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipToTaxBasismap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipToTaxRatemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipToSenderURLmap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemBillToTelephoneNumberTelecomCountryCodemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemBillToTelephoneNumberTelecomAreaCodemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemBillToTelephoneNumberPhoneNumbermap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemBillToFaxNumberTelecomCountryCodemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemBillToFaxNumberTelecomAreaCodemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemBillToFaxNumberPhoneNumbermap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemBillToEmailAddressmap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemBillToAlternativeCommunicationMethodmap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemBillToAddressLinemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemBillToCityNamemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemBillToStateProvincemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemBillToPostalCodemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemBillToPostalCountrymap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemBillToLocationCodemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemBillToExternalReferencemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemBillToTaxIdentifierNumbermap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemBillToJurisdictionmap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemBillToTaxCertificateTypemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemBillToTaxCertificateNumbermap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemBillToTaxBasismap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemBillToTaxRatemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemBillToSenderURLmap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipFromTelephoneNumberTelecomCountryCodemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipFromTelephoneNumberTelecomAreaCodemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipFromTelephoneNumberPhoneNumbermap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipFromFaxNumberTelecomCountryCodemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipFromFaxNumberTelecomAreaCodemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipFromFaxNumberPhoneNumbermap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipFromEmailAddressmap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipFromAlternativeCommunicationMethodmap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipFromAddressLinemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipFromCityNamemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipFromStateProvincemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipFromPostalCodemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipFromPostalCountrymap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipFromLocationCodemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipFromExternalReferencemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipFromTaxIdentifierNumbermap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipFromJurisdictionmap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipFromTaxCertificateTypemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipFromTaxCertificateNumbermap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipFromTaxBasismap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipFromTaxRatemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipFromSenderURLmap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemCarrierTelephoneNumberTelecomCountryCodemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemCarrierTelephoneNumberTelecomAreaCodemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemCarrierTelephoneNumberPhoneNumbermap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemCarrierFaxNumberTelecomCountryCodemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemCarrierFaxNumberTelecomAreaCodemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemCarrierFaxNumberPhoneNumbermap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemCarrierEmailAddressmap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemCarrierAlternativeCommunicationMethodmap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemCarrierAddressLinemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemCarrierCityNamemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemCarrierStateProvincemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemCarrierPostalCodemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemCarrierPostalCountrymap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemCarrierLocationCodemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemCarrierExternalReferencemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemCarrierTaxIdentifierNumbermap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemCarrierJurisdictionmap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemCarrierTaxCertificateTypemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemCarrierTaxCertificateNumbermap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemCarrierTaxBasismap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemCarrierTaxRatemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemCarrierSenderURLmap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipperTelephoneNumberTelecomCountryCodemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipperTelephoneNumberTelecomAreaCodemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipperTelephoneNumberPhoneNumbermap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipperFaxNumberTelecomCountryCodemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipperFaxNumberTelecomAreaCodemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipperFaxNumberPhoneNumbermap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipperEmailAddressmap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipperAlternativeCommunicationMethodmap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipperAddressLinemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipperCityNamemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipperStateProvincemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipperPostalCodemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipperPostalCountrymap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipperLocationCodemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipperExternalReferencemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipperTaxIdentifierNumbermap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipperJurisdictionmap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipperTaxCertificateTypemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipperTaxCertificateNumbermap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipperTaxBasismap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipperTaxRatemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

ItemShipperSenderURLmap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank
A_SalesOrderItemText




CustomerRequiredInstructionsmap to textVBBP_Z004

Format for update in Text: 

"<Field>:" +

<value>. 
Add label <Field> only if <value> is not blank


ShipperInstructionsmap to textVBBP_Z004

Format for update in Text: 

"<Field>:" +

<value>. 
Add label <Field> only if <value> is not blank


ConsigneeInstructionsmap to textVBBP_Z004

Format for update in Text: 

"<Field>:" +

<value>. 
Add label <Field> only if <value> is not blank


CarrierInstructionsmap to textVBBP_Z004

Format for update in Text: 

"<Field>:" +

<value>. 
Add label <Field> only if <value> is not blank


ImportInstructionmap to textVBBP_Z004

Format for update in Text: 

"<Field>:" +

<value>. 
Add label <Field> only if <value> is not blank


CustomerServiceInstructionsmap to textVBBP_Z004

Format for update in Text: 

"<Field>:" +

<value>. 
Add label <Field> only if <value> is not blank


RoutingInstructionmap to textVBBP_Z002

Format for update in Text: 

"<Field>:" +

<value>. 
Add label <Field> only if <value> is not blank

A_SalesOrderItemPrElement




PricePerUnitmap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

PriceCurrencyCodemap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

PriceBasismap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

PriceBasisUnitofMeasuremap to textVBBP-Z999Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank
A_SalesOrderScheduleLine




ScheduleDateRequestedDeliveryOnmap to sales order fieldVBEP-EDATU 

VBEP-EDATU for each VBAP-POSNR

also map to VBAK-VDATU from first line item 


ScheduleDateConfirmedPickUpOnmap to textVBBP-Z999

Format for update in Text:  "<Field>:" + <value>. 
Add label <Field> only if <value> is not blank

A_SalesOrderAdditionalFields




DsitributionChannelrefer to field logics in Processing Logic section


Divisionrefer to field logics in Processing Logic section


SalesOrderTyperefer to field logics in Processing Logic section


SalesOrganisationrefer to field logics in Processing Logic section


SalesOrderPOTyperefer to field logics in Processing Logic section


UserStatusrefer to field logics in Processing Logic section

Processing Logic

Describe the processing requirement in the System

Custom Table: DUNS Reference Table (ZL2C_DUNS)

Every Elemica message has a set of 4 DUNS codes that uniquely identifies the message and used to support its successful integration in S/4HANA. To support this use, a custom table will be created in S/4HANA to stored this sets of data, keep them updated (where required) and reference them when outbound messages are sent from S/4HANA to Elemica. 

This table will be initially populated with known and existing data as part of cutover activities. Subsequently, whenever an Elemica OrderCreate message is received, it will update this table automatically with the DUNS received for Sender, Receiver, Buyer and Seller in the message. If it finds any values already in the table, it does not update table

Field DescriptionData TypeValidation Rule/Value HelpSource Field in Inbound Message
SenderDUNSThis is Elemica's representation of the Sender as a communication partnerString
A_SalesOrderHeader/SenderDUNS
ReceiverDUNSThis is Elemica's representation of the Receiver as communication partnerString
A_SalesOrderHeader/ReceiverDUNS
BuyerDUNSThis is a representation of the customerString
A_SalesOrderHeaderPartner/BuyerPartnerCode

SellerDUNS


This is a representation of the Syensqo entity making the saleString
A_SalesOrderHeaderPartner/SellerPartnerCode


Partner Look Up Logic

Elemica use the DUNS for the different business partner roles in a message. To create a sales order in S/4HANA, the equivalent SAP Customers for each of the partner DUNS have to be found. As a pre-requisite, the mapping of the partner DUNS, 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 activites via transaction code VOE4. 

Below table summarised the look up logic of the SAP Customer Numbers for each partner role from the DUNS in the Elemica message

SAP Customer Logic to find SAP Customer from API data Field in Sales Order for SAP Customer

SoldToParty

EDPAR-INPNR where:
EDPAR - EXPNR = <A_SalesOrderHeader/BuyerPartnerCode> and EDPAR-PARVM = SP

VBAK-KUNNR
ShipToParty

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

EDPAR-KUNNR = <SoldToParty>

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

EDPAR-INPNR where:
EDPAR - EXPNR = <A_SalesOrderHeader/PayerPartnerCode> and EDPAR-PARVM = PY

EDPAR-KUNNR = <SoldToParty>

VBPA-KUNNR where:
VBPA-VBELN = VBAK-VBELN
VBPA-PARVW = PY
BillToParty

EDPAR-INPNR where:
EDPAR - EXPNR = <A_SalesOrderHeader/BillToPartnerCode> and EDPAR-PARVM = BP

EDPAR-KUNNR = <SoldToParty>

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


Field Logic

As API field mapping is not sufficient, we need to add logic to populate these fields to create the sales order

FieldLogic to populate field
A_SalesOrderAdditionalFields/SalesOrganization

KNMT-VKORG where KNMT-KUNNR = ShipToParty and KNMT-KDMAT = <MaterialByCustomer>.

if not found, use:

KNMT-VKORG where KNMT-KUNNR = SoldtoParty and KNMT-KDMAT = <MaterialByCustomer>

A_SalesOrderAdditionalFields/DistributionChannel

KNMT-VTWEG where KNMT-KUNNR = SoldtoParty and KNMT-KDMAT = <MaterialByCustomer>

if not found, use:

KNMT-VTWEG where KNMT-KUNNR = SoldtoParty and KNMT-KDMAT = <MaterialByCustomer>

A_SalesOrderAdditionalFields/Division

Default as  01

A_SalesOrderAdditionalFields/SalesOrderPOType

Default 'DFUE' into VBAK-BSARK

A_SalesOrderAdditionalFields/SalesOrderTypeUse PurchaseOrderTypeCode value to derive based on SalesOrderType mapping table
A_SalesOrderAdditionalFields/UserStatus

Activate ZECB user status


The user status in sales order header is found following the below logical steps


Step 1: Get the Status Object Number for the sales order

VBAK–OBJNR where VBAK-VBELN


Step 2: Find Active User Status Entries

Query the JEST table, where:

JEST-OBJNR = VBAK–OBJNR

JEST-INACT = ‘’ (or 0) → Only active statuses

Fetch JEST-STAT where start letter = E (User statuses start with “E”)


Step 3: Find the status profile used for the sales order

fetch sales document type: VBAK-AUART where VBAK-VBELN

then fetch TVAK-STSMA where TVAK-AUART = VBAK-AUART


Step 4: Convert Technical User Status to Description

Query TJ30T to find TXT04 where:

TJ30T–STSMA = TVAK-STSMA (Status Profile assigned to the sales document type as in step 3 above)

TJ30T–ESTAT = JEST–STAT (determined in step 2)

TJ30T–SPRAS = 'EN' language key

Set  TJ30T-TXT04 = ZECB, and make active


SalesOrderType Mapping

SalesOrderType is derived based on PurchaseOrderTypeCode from the source XML using the mapping table below

PurchaseOrderTypeCodeSalesOrderTypeComment
KNORTriggers a logic to fetch reference contract for SalesOrderType 
SAORTriggers a logic to fetch reference contract for SalesOrderType 
KAKETriggers a logic to fetch Consignment Fill Up Order (KB) for SalesOrderType KE
CNKBTriggers a logic to fetch reference contract for SalesOrderType
Z2KBBTriggers a logic to fetch reference contract for SalesOrderType
SOKBBTriggers a logic to fetch reference contract for SalesOrderType 
NEORBTriggers a logic to fetch reference contract for SalesOrderType 
ZERCM


Logic to fetch reference contract for SalesOrderType 

Step 1: Find if a contract exists for the sold to, ship to, material and validity

1a: To find existing contract(s) for the sold to party of the order being created

Contract Number(s) = VBAK-VBELN

Read VBAK-VBELN where

VBAK-AUART = CQ and

VBAK-KUNNR = SoldToParty

If no contract(s) is found, API create an error which can be checked in AIF (see error handling section for data errors approach).

1b: For the contract(s) found in step 1a, check the ship to in the sales order being created match the ship to(s)

ContractShipToParty = VBPA-KUNNR

where:
VBPA-VBELN = Contract Number(s)
VBPA-PARVW = SH

If ShipToParty, in the sales order being created matches ContractShipToParty on the contract(s), then contract exist for the ship to

If not, API create an errors which can be checked in AIF (see error handling section for data errors approach).

1c: check contract exist for each of the material (A_SalesOrderItem_Material) for which the sales order is being created

For the contract(s) found in step 1b, check each material for which sales order is being created exist in them

Fetch VBAP-MATNR where

VBAP-POSNR = A_SalesOrderItem _PurchaseOrderLineItemNumber

If A_SalesOrderItem_Material =  VBAP-MATNR, then material is found in the contract

If material is not found, API create an error which can be checked in AIF (see error handling section for data errors approach).

1d: check validity of contract(s) found in step 1c

For a unique combination of sold to, ship to and material,

If only one contract Is found, move to step 2

If multiple contracts are found, the compare the contract end date against the requested delivery date and select the contract with the most recent contract end date.

Contract End date = VEDA-VENDDAT where VEDA-VBELN = Contract Number

Requested delivery date = VBAK-VDATU

Select contract with the most recent contract end date compared to the requested delivery date of the sales order being created

Move to step 2


Step 2: Find check pricing validity

For each of the materials in the sales order being created, for which a contract is found, check the condition record for the material that the valid to date is same or later than the requested delivery date of the sales order being created

Assumption: Pricing condition record will use key combination: Customer / Contract No / Contract Item / Material (exact condition table / key combination will be confirmed after configuration)

Step 2a: check the pricing “valid to” date in condition table (ZXXX – exact value to be determined after configuration)

Valid to date is AXXX-DATBI

From table AXXX, read AXXX-DATBI where:

AXXX-KSCHL = PPR0

AXXX-KUNNR = SoldToParty

AXXX-VGBEL = Contract Number (VBAK-VBELN)

AXXX-VGPOS = ContractItem (VBAP-POSNR)

AXXX-MATNR = Material (VBAP-MATNR)

Step 2b: Compare Valid to date with Requested Delivery Date

If valid to date is greater than Requested Delivery Date, then pricing is valid and sales order can be created

If Requested Delivery Date is greater than valid to date, then there is no valid price. Sales Order should be created without price (and goes to incompletion log)


 Logic to fetch Consignment Fill Up Order (KB) for SalesOrderType KE

Step 1: Find if a Consignment Fill Up exists for the sold to, ship to and material

Consignment Fill Up = Sales Document Type KB

1a: To find if a Consignment Fill Up exists for the sold to

Consignment Fill Up = VBAK-VBELN

Read VBAK-VBELN where

VBAK-AUART = KB and

VBAK-KUNNR = SoldToParty

If no Consignment Fill Up is found, API create an error which can be checked in AIF (see error handling section for data errors approach).

1b: For the Consignment Fill Up(s) found in step 1a, check the ship to in the sales order being created match the ship to(s)

ConsignmentFillUpShipToParty = VBPA-KUNNR

where:
VBPA-VBELN = Consignment Fill Up
VBPA-PARVW = SH

If ShipToParty in the Consignment Issue being created matches ConsignmentFillUpShipToParty then Consignment Fill Up exist for the ship to

If not, API create an error which can be checked in AIF (see error handling section for data errors approach).


1c: check Consignment Fill Up exist for the material for which the Consignment Issue sales order is being created (A_SalesOrderItem_Material)


For the Consignment Fill Up(s) found in step 1b, check each material for which consignment issue sales order is being created exist in them

Fetch VBAP-MATNR where

VBAP-VBELN = Consignment Fill Up(s) and

VBAP-POSNR = A_SalesOrderItem _PurchaseOrderLineItemNumber

If A_SalesOrderItem_Material =  VBAP-MATNR, then material is found in the contract


If material is not found, API create an error which can be checked in AIF (see error handling section for data errors approach).

 

Duplicate PO check

API to check that sales order has not been created for the same Customer Purchase Order. If a sales order already exists with the Customer Purchase Order, the API should not create the sales order but should generate an error message.

Sales Order Purchase Order field: VBAK-BSTNK

API field for Customer Purchase Order Number: A_SalesOrderHeader_CustomerPurcaseOrder

At posting new sales order creation, compare A_SalesOrderHeader_CustomerPurcaseOrder with VBAK-BSTNK

If there is a match, API generates error message "Customer PO <A_SalesOrderHeader_CustomerPurcaseOrder> already exist in Sales Order" (see error handling section for data errors approach)


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

Monitoring will be done via AIF. 

Language Requirements

Specify multi language requirements

English

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. 

NA

Sequencing

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

N/A

Volumetrics

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

circa 450 inbound OrderCreate messages per month

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

Error handling for this interface to align with the error handling process for interfaces as defined for SyWay (exact approach / process yet to be defined and below are indicative only to be refined based on the defined approach)

Integration errors:

All errors occurring during mapping rule execution and during posting to be added to the application log and AIF in a readable and user understandable format. These errors should trigger incident creation in SyRa (tbc)

Data errors or errors in S4 during translation, logic execution etc:

These should trigger a Fiori launchpad notification to the CSR highlighting the error in an understandable format in addition to logging the error in AIF (to be defined exactly how users will access and reprocess these failed messages)


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
1OrderCreate XML received from SAP CPICustom API processes received OrderCreate XML into the specified data structure 
2OrderCreate XML from SAP CPI maps to Custom API structureCustom API structure is mapped successfully from received OrderCreate XML
3Custom API executes defined logics, mapping and lookups in S/4HANA and creates a sales orderAll defined logics, mapping and lookups in S/4HANA executed correctly and sales order is created 



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