Confirmation of Imported Records
To confirm records that are being imported, use the RecordState parameter of the ImportCatalogRecords activity. For more information on the RecordState parameter, refer to TIBCO MDM Workflow Reference.However, use the ConfirmImmediately mode with caution especially when your objective is to import data quickly and with eventual consistency.
By default, the Draft value is specified for the RecordState parameter. This facilitates a sandbox so that the imported data is isolated from rest of the data and changes are not immediately visible. The data imported through import is moved out of the sandbox and made visible to you and all other processes by changing the state of the record using UpdateRecordState activity. To happens this, you must use the following two steps - import the data as draft, and then change the status as CONFIRMED or UNCONFIRMED.
After performing these steps, configure other workflow to process the data further, that is, work item for approval of the batch, validation and cleansing, match and merge, and so on. Moreover, you can work on the data at awhile when other users are concurrently modifying and working on the data. The DRAFT record state does not prohibit further modification of the latest version, which could have state of CONFIRMED or UNCOFIRMED). The sample of customized workflow is located at $MQ_HOME/common/standard/samples/workflow. The filename is workflowname_sample.xml.
However, in some scenarios when objective is to import the data as quickly as possible, you can configure the workflow to set the record state directly as CONFIRMED or UNCOFIRMED.
When you set the record state as CONFIRMED:
- Select the Confirm Immediately check box on Import screen when initiating import.
- When this check box is selected, workflow saves records as confirmed in the ImportCatalogRecords activity and skips the UndateRecordState activity.
- This is only supported for the DirectLoad mode for out-of-the-box workflow.
When you set the record state as UNCONFIRMED:
- You can use the UpdateRecordState activity, however, the data is still immediately visible to you and processes.
Due to the multi pass nature of import, when records are saved in the ImportCatalogRecord activity, the relationships of the records are not yet processed and may not be correct. The relationships are processed in the later step. Therefore, during these two steps, you may have a confirmed or unconfirmed version with incorrect relationships.
If the workflow fails after the records are confirmed and before the relationships are processed, relationships are lost.
However, advantage of setting the record state to CONFIRMED is to avoid the UpdateRecordState activity. Hence, the performance of the import is significantly improved and the time can be cut by as much as 40%.
You can use combination of imports to achieve high throughput and consistent outcome. For example, you can import one repository at a time, confirming the data immediately, followed by the Import Relationship only mode to import relationships between the records. This use case occurs frequently during the initial load and when the database loader is not an option due to data validation requirements.
Another limitation of confirming records immediately is that it does not float the unconfirmed versions. To learn about the floating scenario, refer to Example of Floating of Record Versions.