Question

We have a situation where we have a different execution order of instances of the same target being loaded from a single source qualifier. We have a problem when we promote a mapping from DEV to TEST when we execute in TEST after promoting there are problems.

For instance we have a router with 3 groups for Insert, Update and Delete followed by the appropriate update strategies to set the row type accordingly followed by three target instances.

RTR ----> UPD_Insert -----> TGT_Insert
      \
       \__>   UPD_Update -------> TGT_Update
        \
         \__>  UPD_Delete --------->  TGT_Delete

When we test this out using data to do an insert followed by an update followed by a delete all based on the same primary key we get a different execution order in TEST compared to the same data in our DEV environment.

Anyone have any thoughts - I would post an image but I don't have enough cred yet.

Cheers,

Gil.

Was it helpful?

Solution

You can not controll the load order as long as you have a single source. I you could separate the loads to use separate sources the target load order setting in the mapping could be used, or you could even create separate mappings for them. As it is now you should use a single target and utilize the update strategy transformation to determine the wanted operation for each record passing through. It is then possible to use a sort to define in what order the different operations is made to the physical table.

OTHER TIPS

You can use the sorter transformation just before update strategy......based on update strategy condition you can sort the incoming rows....So first date will go through the Insert, than update at last through delete strategy.

Simple solution is try renaming the target definition in alphabetical order... like INSERT_A, UPDATE_B, DELETE_C then start loading

This will load in A,B,C order. Try and let me know

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top