Symptom
When the PATCH method is used to update a ConditionRateValue with A_SalesOrderHeaderPrElement, an error message is returned against the CONDITIONTYPE field.
Environment
- Sales and Distribution (SD)
- SAP S/4HANA Cloud All versions
Reproducing the Issue
- Input Request URI: /sap/opu/odata/sap/API_SALES_ORDER_SRV/A_SalesOrderHeaderPrElement(SalesOrder='5XXX',PricingProcedureStep='750',PricingProcedureCounter='1')
- Select http method: PATCH
- Provide the following payload example:
{
"ConditionType": "YBHD",
"ConditionRateValue": "10"
}
4. [EXECUTE]
5. The following error is raised with ~status_code 400: "message": "Field CONDITIONTYPE is not an input field",
Cause
Field ConditionType has been provided in the request body. Since release CE2011 this field is no longer accepted. Only fields that are to be updated should be provided within the patch request. As the condition type is a field that cannot be changed, the error message is correct.
Resolution
Please only provide fields to be changed within the payload. Since the PricingProcedureStep and PricingProcedureCounter is already provided through the URI, The example payload should be updated to the following:
{
"ConditionRateValue": "10"
}
Keywords
FIORI S4 S4CORE, header pricing element, conditions tab, editable, non-editable, locked, v/08, price, PPR0, PCO1, procedure, ODATA, API, SalesOrder , KBA , SD-SLS-API , API , SD-SLS-API-2CL , API (Public Cloud) , Problem