Resources > Frequently Asked Questions > FAQ: Mobile App Configuration > FAQ: Synchronization and Conflicts
FAQ: Synchronization and Conflicts
This section contains frequently asked questions related to Synchronization and Conflicts.
Question
Answer
What data from the underlying record (of any object) gets transferred to mobile apps? Do all the fields in the record get transferred, or just the fields that are on SFM page layouts?
All the data from the underlying record will be transferred to mobile apps by default. SFM configuration does not have any impact on this. However, the fields which get transferred to mobile apps can be limited to those accessible to the mobile user (based on user's Salesforce Profile permissions and any associated permission sets) by changing the value of global setting SET008 - Skip inaccessible fields (under module ServiceMax iPad Client, submodule Synchronization) to True.
Which fields in transaction objects must be accessible to mobile user's Salesforce profile? Only the fields included in SFM page layouts?
Fields which need to be accessible to the user include the following, in addition to the fields included in SFM page layouts (and associated lookup configuration search, display, bubble, pre-filter, context, advanced filter, and form-fill fields) / document templates.
1. Fields included in Qualifying Criteria
2. Fields included in Field and Value maps
3. Fields included in Source / Target Object Update
4. Fields included in Sorting configuration (Advanced Options tab in SFM Designer)
5. Fields included in SFM Data Validation Rules
6. Fields included in SFM Wizard / Wizard Step Criteria expressions
7. Fields included in SFM Search configuration as filter, search result display, search, or sort fields.
8. Fields included in Mobile Configuration Download / Advanced Download Criteria expressions
How is the data set for incremental data sync determined?
Records that were updated on the client and server after the last successful data sync are synchronized during incremental data sync. The timestamp of the updated record (Last Modified By) is considered to determine if the update happened after the last successful data sync.
In case of Sync Conflicts, the sync conflict handling option in Mobile Configuration screen determines if conflict details should be displayed on the client app or data should be overwritten in client / server.
When are the changes made to a record on the server overwritten with the version on the client app on data sync?
If the conflict handling is set to Mobile takes precedence, any changes made to a record on the server after the last data sync get overwritten with the values from the client app, under the following conditions:
Record saved in client after values of any fields (same, different, or a combination of both) are updated.
Record saved in client, but no field's value is updated.
This is because with normal sync, the iPad app does not keep track of changes made to any individual fields. The only condition checked to identify if a record is changed in server or client is to see if the record's last modified date time has changed.
Even if a record is just opened for editing and saved without any updates in iPad app, its last modified date time changes, flagging it as an updated record to be synced. If the same record is updated in server (again, it does not matter whether any field value was changed or not), it will result in sync conflict, which gets handled as per sync conflict resolution option defined in Mobile Configuration screen.
However, iPad app supports Advanced Sync Conflict. This can be enabled by changing the group configuration setting SET016 to True. Once enabled, field-level changes are checked and merged if the fields updated in server and iPad are different. It will result in conflict only if the same field is updated in both server and iPad.
Was this helpful?