About transaction isolation levels

The Collection Read Mode setting corresponds to the Transact-SQL statement SET TRANSACTION ISOLATION LEVEL READ COMMITTED [or UNCOMMITTED]. It applies to queries that load primary collections, secondary collections, and lists, and to "in-collection" validations. It also applies to background-task queries that generate reports and to background-task stored procedures.

The base, systemwide transaction isolation level is set on the Process Defaults form. You can override this setting (UNCOMMITTED or COMMITTED) for individual reports and stored procedures on the Background Task Definitions form. You can also override the setting at the form level through the Read Mode field in design mode.

The UNCOMMITTED setting allows the reading of uncommitted data. Users do not have to wait for other long-running transactions accessing the same dataset to complete before their queries can complete. However, an uncommitted record may be rolled back between the time the query displays it and the time the user attempts to save updates to it. Users cannot save a record if uncommitted data were rolled back at some time after the query, because the optimistic locking will fail. The user must refresh the record to get valid data before making changes and saving the data.

With the COMMITTED setting, a query reads committed data and returns only data for which the query can get a shared lock.