SAP Knowledge Base Article - Public

3085474 - Error "Changing Status Not Possible; Field is Read Only" When Updating Sales Orders Through OData

Symptom

You are trying to update the OrderExternalLifeCycleStatus field of a Sales Order through a PATCH call to the CustomerOrderCollection of the standard C4C OData service, but the response payload returns error message "Changing Status Not Possible; Field is Read Only", despite the metadata of the OData service stating this field is updatable.

Environment

SAP Cloud for Customer

Cause

The field OrderExternalLifeCycleStatusCode is generally not possible to be updated from C4C side, as it reflects the value of order status in SAP ERP for integration scenarios. In these cases, updates are only allowed through replication from the ERP system.

However, the metadata of the OData service because it is possible to edit this field in cases where the sales order has a document types whose maintenance mode is External Only. As the OData's metadata does not allow setting conditions/restrictions for updating, the field is set as updatable, but the system will reject updates when the document type of the sales order has a maintenance mode different than External Only.

Resolution

This is the standard system behavior.

Please either update the status of the desired sales order by running a replication from the external ERP system or change its document type to one whose maintenance mode is External Only, which will allow update through OData.

See Also

2325562 - Frequently Asked Questions on C4C OData Services

Keywords

CustomerOrderCollection, OrderExternalLifecycleStatus, Patch, Changing Status Not Possible, Field is Read Only, OData, c4codataapi , KBA , LOD-LE-CQP-CO , Lean Sales Orders , LOD-CRM-INT-API , OData API (C4C Only) , How To

Product

SAP Cloud for Customer add-ins all versions ; SAP Cloud for Customer core applications all versions