DW_logo



ODI Incremental Load
How To Check-List
for Oracle Data Integrator 11g
ODI 11.1.1.7.0 with ODI BI Apps 11.1.1.8.1


Purpose : Add a new Dimension which will be also linked to an
Existing Fact and having it work in increment Load, considered
a Category 2 Customization of BI Apps.
Solution by Matthieu Lombard,
Oracle Senior Principal Consultant matthieu.lombard@oracle.com
Final document by Eric Tremblay eric.tremblay@data-warehouse.ca



AK = Alternate Key
PK = Primary Key


     Steps : 1. Create indexes on in ODI for the custom tables _D, _F and _A.
These Indexes have to be created, they are a MANDATORY for ODI.
Also verify the Control and Flexfields Settings.


     Primary Key Named WC_CONTACT_BU_D on ROW_ID
N1_1


     Control and Flexfields on WC_CONTACT_BU_D
WC_CONTACT_BU_D_CNTR_FF


     Alternate Key Named WC_CONTACT_BU_D_P1 on ROW_ID
N1_2


     Control and Flexfields on WC_CONTACT_BU_D_P1
WC_CONTACT_BU_D_P1_CNTR_FF


     Alternate Key Named WC_CONTACT_BU_D_U1 on
INTEGRATION_ID, DATASOURCE_NUM_ID
N1_3


     Control and Flexfields on WC_CONTACT_BU_D_U1
WC_CONTACT_BU_D_U1_CNTR_FF


     2. Create Primary, alternate and foreign Keys on ODI Datastore (Models)

     2.1 On all Custom Dimensions Staging

     PK on INTEGRATION_ID, DATASOURCE_NUM_ID
WC_CONTACT_BU_DS


     The following Indexes are not needed but are created to improve performance

     WC_CONTACT_BU_D_M1 Not Unique Index Selected Columns: X_CIBLE

     WC_CONTACT_BU_D_M2 Not Unique Index Selected Columns: X_BU_ID

     WC_CONTACT_BU_D_M3 Not Unique Index Selected Columns: ETL_PROC_WID

     WC_CONTACT_BU_D_M4 Not Unique Index Selected Columns: DELETE_FLG

     WC_CONTACT_BU_D_M5 Not Unique Index Selected Columns: CURRENT_FLG

     WC_CONTACT_BU_D_M6 Not Unique Index Selected Columns: X_CONTACT_ID


2.2 On all Custom Facts Staging
PK on INTEGRATION_ID, DATASOURCE_ID
WC_OBJECTIVE_FS

2.3 On all Custom Facts

     PK on ROW_WID

     AK on ROW_WID

     AK on INTEGRATION_ID

     DATASOURCE_ID

     2.4 On all Custom Aggregates (PLP)

     PK on ROW_WID

     AK on ROW_WID

     AK on INTEGRATION_ID

     DATASOURCE_ID

     3. Ensure the following on Custom SDE Interfaces

     3.1 Source datastore is filtered using the RUN_FULL_INCREMENTAL function

RUN_FULL_INCREMENTAL('#IS_INCREMENTAL',(S_CONTACT_BU.CREATED > TO_DATE_VAR('#INITIAL_EXTRACT_DATE')),(S_CONTACT_BU.LAST_UPD > TO_DATE_VAR('#LAST_EXTRACT_DATE')))


Image_3_1


     3.2 DATASOURCE_NUM_ID column is mapped to global variable #DATASOURCE_NUM_ID
Image_3_2


     3.3 In flow tab, the IKM used should be IKM BIAPPS Oracle Control Append
All Options at <default>
Image_3_3

4. Ensure the following on Custom SDE Packages

4.1 IS_INCREMENTAL variable refresh is the first step
4.2 LAST_EXTRACT_DATE variable refresh is the second step
4.3 Custom SDE Interface is the third step

Image_4_123


     5. Ensure the following on Custom SIL Interfaces

5.1 Set the Update Key on the target datastore to the AK on INTEGRATION_ID, DATASOURCE_ID
Image_5_1


     5.2 In flow tab, the IKM used should be IKM BIAPPS Oracle Control Append
5.3 In the flow label, Verify the IKM option that Insert Unspecified record is set to true
Image_5_2_3


     6. Ensure the following on Custom SIL Packages

6.1 IS_INCREMENTAL variable refresh is the first step

6.2 Custom SIL Interface is the second step


Image_6_1


     7. Regenerate all appropriate scenarios

8. Generate new load plan

Execute, Test and Enjoy





FluidBlocks_Icon32
Designed with Fluid Blocks