Resources > Frequently Asked Questions > FAQ: Mobile App Configuration
 
FAQ: Mobile App Configuration
SFM Configurations
Which SFM transactions are available for mobile users? 
SFM transactions of the type View Record and Standalone Create are made available based on SFM Mobile Permissions for the ServiceMax group profile associated with the mobile user’s Salesforce profile.
SFM transactions of other types are made available based on the following:
If the mobile user has access to source & target header & child objects and to objects of lookup fields included in the SFM page layouts.
If the transaction is associated with an SFM Wizard available for the mobile user or is associated as a linked SFM transaction to another available SFM transaction
If the SFM transaction is set to be visible on the device using the SFM App Permissions feature.
All the above SFM transactions should be Complete and have valid Page Layout / Document Template association for both target header and child objects.
How can I determine the list of objects referenced in an SFM transaction to make it available to mobile users? 
You can get this information in the SFM Transactions Tab of the Mobile Configuration Screen. Click the pencil icon to display the list of objects referenced in the associated SFM transaction. This list includes source and target header and child objects, objects referenced in the Page Layout through reference fields, and objects referenced in the Document Template and Document Template Details.
Which SFM wizards are available for mobile users? 
SFM wizards are made available based on the following:
SFM Wizards – Manage Permissions configuration for the ServiceMax group profile associated with the mobile user’s Salesforce profile
SFM App Permissions configuration for SFM wizard
Which SFM Custom Actions are available for mobile users? 
SFM Custom Actions are available based on SFM App Permissions configuration for SFM Custom Actions.
Which SFM searches are available for mobile users? 
SFM searches are made available based on SFM Search – Manage Permissions configuration for the ServiceMax group profile associated with the mobile user’s Salesforce profile.
How can I show or hide Action menu items on different devices? 
Using SFM App Permissions, you can show/hide SFM transactions, SFM Wizards, and SFM Custom Actions on specific ServiceMax apps. SFM App Permissions gives you the power to control and limit the technician’s visibility/access to what is required in order to perform the field service actions. For more information about showing/hiding SFM transactions, SFM Wizards, and SFM Custom Actions on specific apps for technicians, see SFM App Permissions .
Data Download Configurations
What is an Event Window? Where is it configured? How does it work? 
An Event window refers to the date-time range of events downloaded to mobile apps. It is configured in the mobile configuration screen using the options ‘Retrieve events and tasks for the next’ and ‘Delete events and tasks older than’. The figure below illustrates how these define the event window:
All events that start or end within the event window are downloaded. Along with the events, related records and their child records (except for Attachments) are downloaded, if the mobile user has access to related objects and child objects. If the user does not have access to the related object, the event is not downloaded. If there are any Advanced Download Criteria configurations, matching records are downloaded only if the top-level related record is associated with an event in the event window.
Can additional filter conditions be applied for downloading events? 
Yes, additional filter conditions can be specified for events as SOQL where clause, as the value of a global configuration setting SET012. For an example of this, see this business use case and solution.
What is the difference between Download and Advanced Download Criteria? 
With Download Criteria configuration, the only conditions that can be specified are based on the object’s attributes. Examples are My Open Work Orders and All Installed Products In Installed Status.
With Advanced Download Criteria configuration, conditions must be specified based on the attributes of a relatedobject, optionally in addition to the attributes of the same object, for primary records associated with events in the event window. Examples are all the Installed Products in the scheduled Work Order’s Location and Attachments of all the scheduled Work Orders or Parts Orders.
Is there any relationship between Download and Advanced Download Criteria? 
No, there is no relationship. Neither of them has any impact on the other. While they can be considered complementary to each other, they are technically not so. This means that you can configure both for the same object. For example, you can configure Download Criteria to download all Installed Products in a given City. You can additionally configure Advanced Download Criteria to download all the Installed Products available at the Location of all the Work Orders scheduled in your calendar, in the event window defined.
Are child records downloaded automatically through Download Criteria? 
The child records are not automatically downloaded for Download Criteria records. For example, if the Work Order object is included in the Download Criteria, the related Work Detail records are not automatically downloaded. The only way you can get child records downloaded in this case is to define a separate Download Criteria configuration for the child object. However, if you create an event for a Work Order record, only related Work Detail records for the referenced Work Order record will be downloaded automatically.
Attachments
How can Attachments be enabled for mobile apps? 
Define Advanced Download Criteria for Attachments, matching the Parent ID to the IDs of each required object such as Work Order, Parts Order, and so on.
Enable Attachment option in Advanced Options tab in SFM Designer for each required SFM transaction.
Do a Reset App, or Configuration Sync followed by Data Sync after the above updates.
The above configurations are required for downloading and displaying Smart Docs (service reports, finalized and synchronized to server, and converted from HTML to PDF and attached to the parent record) also.
Can Attachments be downloaded for objects other than Work Order? 
Yes, it is possible to download attachments for objects other than Work Order, through Advanced Download Criteria configuration where Parent Id of Attachment can be mapped to the Id of the required object. However, these other object records must be associated with events in the event window, in order for attachments to be downloaded.
How can Attachments be downloaded for Download Criteria records? 
This is not possible, as Attachments are to be configured in Advanced Download Criteria tab, and these configurations are applied in the context of records related to events only.
Location Tracking
How does Location Tracking work? 
In order to use Location Tracking, it must be enabled by your admin in the Mobile Configuration screen, Other Settings tab. After your admin enables it, you must do configuration sync or reset app. Then, you need to enable the Location Tracking in your mobile device.
Once you enable the feature in your mobile device, you don’t need to do anything for this feature to work. Following is what happens automatically:
At the interval configured by your ServiceMax admin, your GPS location information is stored locally by your mobile app as location history records
Once the maximum number of location history records as configured by your ServiceMax admin is reached, app deletes the oldest entries
Location history records are synced to online at the configured interval (if there is connectivity), or whenever data sync happens from your mobile app (aggressive, scheduled, or manual). They are deleted from your mobile app after successful sync
Location history information (latitude & longitude) is stored in User GPS Log object, along with related status, timestamp, and any error messages
If configured by your ServiceMax admin, Current Latitude & Current Longitude fields in your technician record are updated from your latest location history record
* 
Your technician record is the one associated with your Salesforce username.
The information synced to online is used by your dispatcher to know your current location and location history, to schedule appropriate, nearby work orders to you.
* 
If you disable Location Services on your mobile device, when the feature is enabled in online, location history records are created with status as Failure and reason as Blocked by User. - Location tracking is done even when the app is in background (when signed in).
iPad Configurations
How is Troubleshooting feature in iPad App configured? 
Troubleshooting feature in iPad App comprises Knowledge Base articles, Product Manuals, and Product Chatter. Configuration for each of these is covered in section Salesforce Configurations.
How can GPS Location Tracking be enabled for iPad App? 
Refer to Other Settings tab section for details of related settings in Mobile Configuration screen. In addition to this, GPS Location Services need to be enabled in the iPad device.
Other Configurations
How can Advanced Get Price (JavaScript-based) be enabled for mobile apps? 
Set the group configuration setting SET009 (Enable Get Price, module ServiceMax iPad Client, submodule Synchronization) to True.
Ensure that the mobile app user’s profile has access to all the requisite permissions.
Ensure that user has access to clones of one or more of the standard SFM transactions (for instance TDM015 or TDM016) which include the Get Price button associated with the standard JavaScript code snippet for advanced price calculation. For this Get Price button, select the checkbox Show in iPad.
Do a Reset App, or Configuration Sync followed by Data Sync after the above updates.
How can Sharing Settings be enabled for mobile apps? How to restrict the user’s access to records that are assigned to them? 
As a ServiceMax Administrator, you can control the user’s access to specific records using the Sharing Settings on Salesforce Setup (Salesforce Setup > Administer/Administration Setup > Security Controls). Here you can define sharing of records based on role hierarchy or sharing rules. For more information, see Sharing Settings on Saleforce help. However, group configuration setting SET014 (Apply sharing rules during data sync, module ServiceMax iPad Client, submodule Synchronization) can be set to True to apply Sharing Settings. Do a Reset App after updating this setting value.
How can sync request and response times be measured? 
This can be achieved by turning on the Mobile Configuration option Capture synchronization time logs in Other Settings tab.
Client Features
What is the difference between Sync Conflicts and Sync Errors? 
Sync Conflicts are ServiceMax errors raised when the same record is updated in both online and mobile, and the sync conflict handling option in Mobile Configuration screen is set to Ask User.
Sync Errors are Salesforce errors raised when an insert, update, or delete record operation fails. Such DML failure can be caused by Salesforce Validation Rules, Apex triggers, Data Model constraint violations (missing mandatory field, invalid value, missing field), and so on.
Mobile user can resolve sync conflicts by choosing to keep the online changes or mobile changes.
Mobile user needs to identify the correct option from amongst a variety of options available to resolve sync errors. The options are to retry sync (safe first option for any sync error; required action after root cause is identified and fixed in mobile app or online or both), restore from server (for delete or update errors), or delete new records locally (for insert errors).
Synchronization and Conflicts
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?