Skip to Content

Consolidating target entries from multiple sources

Mar 22, 2017 at 11:01 PM


avatar image

Hello. First, I admit I am no BW expert. I am attempting to help our BW resource with a requirement we seem to have difficulty achieving. We have a requirement to take two different sources of data and ultimately combine the data within BW versus continuously appending new rows.

More specifically, consider the following target:

Source 1 will only provide DATA_A and DATA_B with no responsibility to provide DATA_C and DATA_D. When DATA_D is eventually created in ECC and extracted to BW (which may be quite some time later) it will always have some relation to a value populated in DATA_C. The ideal result is that if when Source 2 provides rows whereby DATA_C has a matching counterpart when compared to DATA_A it will enrich the pre-existing row versus appending (which is what we currently see happening above.

With that being said, we definitely have the ability whereby another DATA_D object is created with the same reference to DATA_A as the previous object, as shown here. In this case, we would look to append versus enrich. In short, we only want to enrich a row when DATA_A matches yet no DATA_C yet exists in its corresponding row and if no such row exists we would then append. Make sense?

Any suggestions you are willing to provide us with this endeavor would be much appreciated.

Thank you.


10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

1 Answer

Frédéric Cincet Mar 23, 2017 at 03:29 PM

When loading the source 2, read the target and provide in your transformation (probably at the end routine level) the DATA_A and DATA_B columns so that the update will be done on the existing record (assuming DATA_C and DATA_D are not keys).

If DATA_C and DATA_D are keys, you will have an additional task to do which is deleting the existing row (with column C & D blank). this could be achieve by sending a deletion order to the target (recordmode D).

The transformation linked to the source 1 will also have to be adjusted to handle the delta correctly.



Show 2 Share
10 |10000 characters needed characters left characters exceeded

Thank you Frederic. My concern here though is with my last screen shot. When DATA_C = 1001 with DATA_D = 3657 is loaded (btw C & D are not keys) what prevents (or could prevent) it updating the initial row. In this cases the keys (i.e. DATA_A & DATA_B) are the same yet since DATA_D is different I want to append, not overwrite the initial row. Make sense? If so, any thoughts as to how I could achieve that?


If fields C and D are not mapped in your transformation, they won't be updated by Source 1. You will keep the values from Source 2 (if any).