All changes to downloaded data is temporarily stored for upload as Stored Actions. It is a chronological list of changes with pointer to the table and record changed.

If pending Stored Actions exists no download of data will happen.

If a Stored Action at the top of list has an issue, no further stored actions will be submitted.

Triggering

Stored Action upload is triggered by

Clicking 'Sync' on the Stored Action (list) screen

At start of any Refresh Action triggered from the App Menu

Local Refresh and Job Sync

After a Stored Action has been uploaded an updated version of that record returned from the server is stored locally and a Job sync will occur.

Exceptions

If there are sync errors (e.g. record already modified on server), view errors or excepts (e.g. connection lost), the blocking stored action can be deleted or error reset for a 2nd upload.

Be aware that in this case there is a risk that the local data set is inconsistent and a job refresh is required.

Also each Stored Action is stamped with a unique identifier and this value is stored and used to make sure the same Stored Action is not applied more than once.