SAP Knowledge Base Article - Public

2991011 - An API_SALES_ORDER_SRV PATCH on Pricing element header results in error 'Field CONDITIONTYPE is not an input field'

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 Public Edition All versions 

Reproducing the Issue

  1. Input Request URI: /sap/opu/odata/sap/API_SALES_ORDER_SRV/A_SalesOrderHeaderPrElement(SalesOrder='5XXX',PricingProcedureStep='750',PricingProcedureCounter='1')
  2. Select http method: PATCH
  3. 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

Product

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