Symptom
You are trying to create a Contract via the web service where one or more items have the value 0 in the ItemMainPrice or the ItemMainDiscount, however, the document is created either inconsistent with error "Item AB: Mandatory List Price missing for the price calculation" (Where AB Represents the line item ID) or the List Price or Discount is determined from a Price List or Discount List instead of taken over from the payload.
Environment
SAP Business ByDesign
Reproducing the Issue
You are passing the ItemMainPrice or/and the ItemMainDiscount in the payload as follows:
....
<PriceAndTax>
<ItemMainDiscount>
<Rate>
<DecimalValue>0</DecimalValue>
</Rate>
</ItemMainDiscount>
<ItemMainPrice>
<Rate>
<DecimalValue>0</DecimalValue>
<CurrencyCode>EUR</CurrencyCode>
</Rate>
</ItemMainPrice>
</PriceAndTax>
....
But the 0 value is not taken over in the created Contract.
Cause
If you want to pass a 0 value for the ItemMainDiscount and/or for the ItemMainPrice you need to also pass the ItemPriceComponent tag with the respective TypeCode.
For the List Price the Type Code is 7PR1 and for the Main Discount the Type Code is 7PR6
Resolution
Example Payload extract:
...
<PriceAndTax>
<ItemPriceComponent actionCode="01">
<TypeCode>7PR6</TypeCode>
<ItemMainDiscount>
<Rate>
<DecimalValue>0</DecimalValue>
</Rate>
</ItemMainDiscount>
</ItemPriceComponent>
<ItemPriceComponent actionCode="01">
<TypeCode>7PR1</TypeCode>
<ItemMainPrice>
<Rate>
<DecimalValue>0.00</DecimalValue>
<CurrencyCode>EUR</CurrencyCode>
</Rate>
</ItemMainPrice>
</ItemPriceComponent>
</PriceAndTax>
...
Keywords
0 Amount; 0 Value; Price List; List Price; Decimal Value; Web Service; Contract; Item; ManageCustomerContractIn; API; CustomerContractProcessing; CustomerContract; <CustomerContract> , KBA , AP-CCP-CC , Customer Contract , Problem