SAP Knowledge Base Article - Public

3095796 - Purchase Order Odata API error 06159

Symptom

When changing the 'Invoice receipt' flag (repos) in a Purchase order, the 'free item' indicator (umson) is filled and the net value of the PO item is set to 0.00. When you post a similar change of the 'Invoice receipt' flag via API_PURCHASEORDER_PROCESS_SRV, the posting fails and the system raises error: 'For items without invoice receipt, please enter price 0 (06 159) 

Environment

SAP S/4Hana All Versions 

Reproducing the Issue

Post a PATCH operation via API_PURCHASEORDER_PROCESS_SRV setting the "InvoiceIsExpected" field as false

Cause

When the change is triggered the system executes the pricing with pricing type A. Manual conditions are not overwritten in this case, so the original value in the PO item remains unchanged, only the 'Invoice receipt' flag is changed leading to the '06159' error.  

Resolution

To carry out this change via API you must use a batch operation where you can change the item entity "InvoiceIsExpected" 
and set the manual price condition PMP0 to 0.00 in the same batch operation under the pricing element entity.

See the attached batch example and payload. 

See Also

API Documentation 

Keywords

06159, 06 159, free item, UMSON, REPOS, LMEPOF1T, ME_CHECK_PRICING_RESULT, I_KOMP-NETPR, PRICE_NOT_ZERO_WITHOUT_INVOICE , KBA , MM-PUR-PO , Purchase Orders , MM-PUR-PO-BAPI , BAPIs - Purchase order , How To

Product

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

Attachments

Batch example 06159.txt