SAP Knowledge Base Article - Public

3269529 - Error BM034 "No measurement unit is assigned to ISO code" happens when using API to create supplier invoice

Symptom

When using API "Supplier Invoice - Create (A2A, Inbound, Asynchronous)" to create supplier invoice you get error BM034 "No measurement unit is assigned to ISO code &".

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

Reproducing the Issue

The payload you are sending 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 you can use either the ISO Code or the SAP internal code:

You can find settings related to units of measurement in SSCUI 102179 "Check Units of Measurement".

Considering the example above, we are using unit BAG, and the respective ISO code is BG

Resolution

As mentioned in the SAP Help Documentation you can use either the ISO Code or the SAP code. So it is expected to have, for example, one of the following lines in your 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

Product

SAP S/4HANA Cloud Public Edition all versions ; SAP S/4HANA Cloud all versions