Update

Optimistic concurrency control

IFS is built to detect if entity has been updated between the time the Flow app has retrieved the data until it's being updated, change tracking. In pre-cloud IFS, developers returned objversion and objid values in modify PL/SQL calls for this purpose.

In OData calls same check can be enforced using entity specific ETag in request headers if-match attribute upon Update operation. ETag value of an entity can only be retrieved by using "Get by key" -operation prior Update operation.

The ETag value returned by IFS is a base64 encoded value of the combination of objid:objversion.

In case you encounter ODP_MISSING_PRECONDITION -error In Update operations, provide the if-match header attribute. By providing the ETag as if-match attribute value; IFS will check that entity has not been updated between your clients "Get by key" request and Update operation.

Providing if-match attribute with value *, IFS will dismiss the optimistic concurrency control.

Last updated