Symptom
When using API "Supplier Invoice - Create (A2A, Inbound, Asynchronous)" to create supplier invoice, error BM034 "No measurement unit is assigned to ISO code &" occurs.
Image/data in this KBA is from SAP internal systems, sample data, or demo systems. Any resemblance to real data is purely coincidental.
Environment
SAP S/4HANA Cloud Public Edition
Reproducing the Issue
The payload has the unitCode at the item level, for example:
<QuantityInPurchaseOrderUnit unitCode="BAG">1000</QuantityInPurchaseOrderUnit>
Cause
The error is caused because unitCode is not an ISO code.
As mentioned in the SAP Help Documentation either the ISO Code or the SAP internal code can be used:
The settings related to units of measurement can be found in SSCUI 102179 "Check Units of Measurement".
Considering the example above, unit BAG is used, and the respective ISO code is BG:
Resolution
As mentioned in the SAP Help Documentation either the ISO Code or the SAP code can be used. So it is expected to have, for example, one of the following lines in the payload:
<QuantityInPurchaseOrderUnit unitCode="BG">1000</QuantityInPurchaseOrderUnit>
or
<QuantityInPurchaseOrderUnit_SAPUnitCode unitCode="BAG">1000</QuantityInPurchaseOrderUnit_SAPUnitCode >
Keywords
SupplierInvoiceS4Request_In, SAP_COM_0240, BM034, QuantityInPurchaseOrderUnit, QuantityInPurchaseOrderUnit_SAPUnitCode, ISO code, unitCode, measurement unit , KBA , MM-FIO-IV , Fiori UI for Invoice Verification , Problem