Symptom
The user creates a Purchase Order via Web Service (External Application). In the front end, when the Supplier is changed, the currency is not updated as expected.
Environment
SAP Business ByDesign
Reproducing the Issue
- Go to Purchase Requests and Orders work center.
- Go to Purchase Orders view.
- Search for ABC (ABC is the Order's ID).
- Click in Edit button.
- Change the Supplier to XYZ (XYZ is the updated Supplier ID).
The currency stays "OPQ" (it was expected to change to "MNO").
Cause
In the Supplier's master data, the currency can be maintained in the field "Purchase Order Currency". So it is expected that when an user picks Supplier ABC, that the currency picked by the system is the same as in the Master Data.
When the document is created from Web Service with action code 01, the system doesn't allow the currency to be changed. If the action code used is 04, then the system will change the currency to be maintained the same as in Supplier's master data.
Resolution
In the payload, instead of using actionCode="01", please use ="04".
For example:
1. Doesn't change the currency automatically when Supplier is changed:
<PurchaseOrderMaintainBundle actionCode="01" ItemListCompleteTransmissionIndicator="true">
2. Change the currency automatically when Supplier is changed:
<PurchaseOrderMaintainBundle actionCode="04" ItemListCompleteTransmissionIndicator="true">
See Also
Keywords
Purchase Order, Web Service, Supplier, Currency, Purchase Order Currency, PurchaseOrderMaintainBundle , KBA , SRD-SRM-PRO , Purchase Requests and Orders , How To
SAP Knowledge Base Article - Public