Monday, August 1, 2016

Static Control in ODI 12c

Scenario:
While loading 10000 records if there is an error in one/more records then I need to make a note that record into E$ (error table) and all records into target table.

Example:
Source

As per requirement, whose MID values are null consider to be invalid records. Though those are not valid records we are accepting it and providing to option to end-user to correct by themselves by providing error message
(i.e., SRC <= TRG+E$)

Static Control:
Data quality validation is done after loading the data into target tables.

CKM will validate data on target table and if any error is detected it will be inserted to E$ table and SNP_CHECK_TAB.
Remember that the incorrect entry will not be deleted as in Flow control. 

Approach:
Step 1:
Create Model -- Reverse Engineer source datastore and target datastore 
Step 2:
Expand Target data store -- Right click on constraint --Select  "New Condition"
Message is nothing error message
Actually this is condition is not there at data server level. Type indicates it is ODI condition.

Step 3:
Go to Control tab and enable check box for both flow control and static control

Step 4:
Create mapping -- Drag and drop Source and target data store then connect source output connector to target input connector -- go to physical tab and then select target datastore -- go to Property Inspector -- Integration Knowledge Module --  Enable Static control as true 


Step 5:
Execute it

Output:


No comments:

Post a Comment