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, system-wide transaction isolation level is set using the Collection Read Mode process default setting on the Process Defaults form. You can override this base setting for individual reports and stored procedures using the Background Task Definitions form. You can also override the setting at the form level using the Read Mode field in the designer (Web Designer in the web client or Design Mode in the Windows client).

The UNCOMMITTED setting allows the reading of uncommitted data. This means that 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 can 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 is rolled back at some time after the query, because the optimistic locking fails. 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.