onTableChange
This event enables a remote system like Acumatica to call into and trigger changes on a mobile device by monitoring data updates. It detects changes in specific data tables (entities) and executes the configured actions accordingly. A common use case is ensuring data consistency between the remote system and the app and keeping information updated across the system.

External system data changes
- The remote system pushes data changes to the endpoint.
- The endpoint stores and continuously syncs the data to a table.
- The onTableChange event monitors the table for updates.
- When a change is detected, the event triggers an action that updates the mobile app.
Internal local data changes
- When data is saved to a local table on the device, the onTableChange event monitors the table for changes.
- Upon detecting a change, the event triggers the configured action to sync the data with a or remote table.
- In the Jigx API endpoint configuration, specify a name for the remote system's data table. This is the name given to the table.
- In default.jigx, add the table name.
- In index.jigx, add the onTableChange event property at the root level.
- Specify the data table the event should monitor for changes—this should match the table defined in the endpoint and default.jigx.
- Configure an action (e.g., action.sync-entities) to execute when a change is detected.
- Use IntelliSense to select from the list of available actions.
Key factors to keep in mind when using this event.
- Multiple onTableChange events can be configured in the index.jigx file.
- The event continuously listens for data changes on the specified table.
- It can be used with any data provider, including local, REST, SQL, and .
- The event can listen for changes in one table and respond by updating another table using the actions property.
- In the SQL data provider, when using the functionCall method, the onTableChange event does not execute because the data changes occur directly on the backend and do not affect local data.
- When the app is in the background, and changes occur in backend remote data tables, the onTableChange event executes once when the app opens to apply the data changes. This ensures optimal app performance and prevents multiple redundant executions.
- When the app is open and data changes are made, the event executes individually for each detected change.
- Avoid creating a loop in onTableChange by checking a table for changes and then modifying the same table.
This example demonstrates how to use the onTableChange event to monitor data changes in a single table from a remote data system. When a data change occurs on the remote system, the event executes and resets the solutions state.
This example demonstrates how to use the onTableChange event to monitor data changes across multiple tables and different data providers within the solution. When a data change occurs, the event executes the defined actions for each configured data provider.
In the second table, multiple actions are configured, including action.sync-entities, which is dynamically updated by specifying a list of entities, functions, and function parameters using an expression. This is particularly useful when the number of entities to sync and their corresponding parameters are not always known.
In the example below, the send-notifications table is monitored for changes. Once notifications are sent, the event executes and updates the customer table with the relevant data.