Skip to Content

Consolidating target entries from multiple sources

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.

James

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

1 Answer

  • 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.

    Regards,

    Frederic

    Add comment
    10|10000 characters needed characters exceeded