SAP Knowledge Base Article - Public

2844299 - CashDiscountTerms Are Not Updated When Creating a Sales Order via the Web Service

Symptom

You are creating a Sales Order via the web service ManageSalesOrderIn and are passing the Payment Terms in the element CashDiscountTerms. However, the Payment Terms from the payload are not taken over in the new created Sales Order but instead the Payment Terms from the Account Master Data are used.

Environment

 SAP Business ByDesign

Reproducing the Issue

Example Payload for creating a Sales Order with the Payment Terms 1005 (60 days net):

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:glob="http://sap.com/xi/SAPGlobal20/Global" xmlns:glob1="http://sap.com/xi/AP/Globalization" xmlns:a00="http://sap.com/xi/AP/CustomerExtension/BYD/A0014">
<soap:Header/>
<soap:Body>
<glob:SalesOrderBundleMaintainRequest_sync>
<BasicMessageHeader></BasicMessageHeader>
<SalesOrder actionCode="04">
<AccountParty>
<PartyID>XYZ</PartyID>
</AccountParty>
<Item>
<ID>10</ID>
<ItemProduct>
<ProductInternalID>EFG</ProductInternalID>
</ItemProduct>
</Item>
<CashDiscountTerms>
<Code>1005</Code>
<PaymentBaselineDate>2019-09-30</PaymentBaselineDate>
</CashDiscountTerms>
</SalesOrder>
</glob:SalesOrderBundleMaintainRequest_sync>
</soap:Body>
</soap:Envelope>

 Sales Order ABC has been created via this payload (ABC represents the Sales Order ID).

  1. Go to the Sales Orders work center. 
  2. Select the Sales Orders view. 
  3. Open the sales order ABC.
  4. In the General tab, the Payment Terms are not displayed as 1005 (60 days net).

Cause

The Payment Terms can only be updated via a second call.

Resolution

The Payment Terms can be updated via a second call e.g:

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:glob="http://sap.com/xi/SAPGlobal20/Global" xmlns:glob1="http://sap.com/xi/AP/Globalization" xmlns:a00="http://sap.com/xi/AP/CustomerExtension/BYD/A0014">
<soap:Header/>
<soap:Body>
<glob:SalesOrderBundleMaintainRequest_sync>
<BasicMessageHeader/>
<SalesOrder actionCode="04">
<ID>ABC</ID>
<CashDiscountTerms>
<Code>1005</Code>
</CashDiscountTerms>
</SalesOrder>
</glob:SalesOrderBundleMaintainRequest_sync>
</soap:Body>
</soap:Envelope>

The Sales Order ABC will then have the Payment Terms 1005 (60 days net).

Keywords

Web Service; Payment Terms; Cash Discount Terms; <CashDiscountTerms>; overwritten; second call; not updated , KBA , AP-SLO-SO , Sales Order , Problem

Product

SAP Business ByDesign all versions