Validation and COMMIT statements
Validation of records synchronized from the InForm software to the CIS software are processed outside of the COM+ transaction that the CIS software creates to process each synchronized InForm transaction. Therefore, COMMIT statements and other data dictionary operations in Clintrial validation routines do not affect processing of synchronization.
When the CIS software processes transactions, it keeps track of the Clintrial records in which data is changed. It stores identifiers for these records in the INF_PENDINGVALIDATIONS table. The class that processes transactions reads records from the INF_PENDINGVALIDATIONS table and calls a COM+ object that does not support transactions to run validation on the records, thereby isolating the validation processing from any COM+ transaction. After validation on a record completes, the CIS software updates the INF_PENDINGVALIDATIONS table to indicate that the record is processed.
The CIS software writes the result of each validation to CTS.JOB_LOG. If errors prevent writing to CTS.JOB_LOG, the CIS software sets the VALIDATIONERROR status to 1 in the INF_PENDINGVALIDATION table and writes an error to the Windows Event Log on the CIS machine.