Data Consistency

When a workbook uses a compatible REST API service that supports data consistency verification using an entity tag (Etag) mechanism, the add-in detects and reacts to the following scenario:

  1. Person A downloads information from a business object into a table in their integrated workbook.
  2. Person B downloads the same information into a table in their integrated workbook, edits it, and uploads changes.
  3. Person A then edits the same information (downloaded in Step 1) and uploads the changes.
  4. The add-in provides the service with the necessary information (entity tags) to prevent Person A's changes from overwriting those changes made by Person B.

    The add-in sends an If-Match request header containing the entity tag for single row requests or includes the entity tag along with the row changes as part of a multi-row request. See Upload Changes Using Multi-Row Requests.

    When the server inspects the entity tag and detects such a change, its response (either an HTTP Status 412, or an error code of 11412) allows the add-in to display an error message for any such rows in the table like this:

    This row has been modified by another user. Please download before editing.

    If you see this message, you'll have to discard your changes by downloading the latest data and then redoing your changes as needed.

Note:

Some services do not support this conflict detection functionality. If the service does not, then Person A's changes will replace Person B's changes with no warning. Contact the service owner for more information.

For information about the entity tag (ETag) mechanism, see Data Consistency Tasks in Accessing Business Objects Using REST APIs.

If your workbook uses other types of REST services, the last writer wins. So, for the scenario just outlined, Person A’s changes in Step 3 will overwrite the changes of Person B in Step 2.