We recently had to re-initialise some of our extractors during testing of ERP support packs. One of our extractors was taking a couple of days to initialise (see old flow).
The way it works is using an if statement to replace the operation type (X) that is supplied from an initial load with an (I) so the map_CDC will still work.
The statement it uses is:
ifthenelse(“0MATERIAL_TEXT_SAP_DW”.DI_OPERATION_TYPE = ‘X’, ‘I’ , “0MATERIAL_TEXT_SAP_DW”.DI_OPERATION_TYPE)
I re-wrote this using a case transform to redirect inital load data so it avoids the map_cdc all together (see new flow). This now runs an initial load in about 20 minutes. Big improvement !
Note that in other cases (0MATERIAL_ATTR for example) I get almost no improvement from this.
I’m interested in what other people do here. Are there any other techniques to optimize a single flow for both initial and delta loads ?
Thanks,
Leigh.
Leigh Kennedy (BOB member since 2012-01-17)