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.
SAP Cloud for Customer
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.
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.
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