Data model - ODS

Question: I have a requirement where I have 2 ODSs.
I am loading ODS2 with the update rules created on ODS1.
ODS1 has customer as the key.
Say for ex:
I have in ODS1

customer
1
2
3

In ODS2, I have customer and transcd as keys.
I need to assign different values to transcd field based on some different conditions.
So, I need something like this:
customer | transcd
1 A
1 B
2 A
2 C
2 D
3 B

But since the lower ODS key is just customer, I am getting in my ODS2 as:
customer | transcd
1 B
2 D
3 B
Basically values are overwritten for 'transcd' field for each customer.
I have to have customer and transcd both as key fields, because that is the final requirement.

Please advise, what are the possible methods to achieve what I need.

Thanks,
BW_US

Answer:
You should load the data directly into your ODS2, which must have the 2 fields as the ODS key.

Answer:
anyone please advise a good approach.
I have to create ODS2. I am not supposed to create an infocube here instead of ODS2.
I know infocube will append the records, but as my ODS2 also has both customer and transcd as keys, I should be able to get different combinations of these 2 fields right ? please advise.

Thanks

Answer:
anyone please advise a good approach.
I have to create ODS2. I am not supposed to create an infocube here instead of ODS2.
I know infocube will append the records, but as my ODS2 also has both customer and transcd as keys, I should be able to get different combinations of these 2 fields right ? please advise.

Thanks

Answer:
Hello:

I'm not exactly sure if the response below relates to your problem. From what you have written, I am assuming the following:

1. You have two sources of data - ODS1, and some other source that has customer and transaction code.

2. Each of these sources have characteristics or key figures that must be updated.


If this is the case, you do not need to create update rules from ODS1. Instead, create update rules from your other source. For each characteristic or key figure that needs to be updated in ODS2 from ODS1, you can write routines that use select single statements from ODS1 (in the select statement, you must specify the active table name for ODS1) where in your case, customer = customer, that puts the appropriate field from ODS1 into a local variable. Then, set your result equal to the local variable.

In order to update in this manner, it is essential that ODS1 is updated and activated before any update occurs to ODS2.

Answer:
It appears you need to take one input record and create multiple output records using a second source of data and some logic. Try these two approaches:

First read the "How to ... disaggregate on upload" document found in the How To guides, in the Know How Network, in SAP Business Intelligence, in the sap marketplace. This guide is under BW 2.x but it still applies. It uses the concept of return tables.

Second, try using start routines to append extra records to the input dataset.

Both approaches work under the right circumstances.
_________________
Paul Starr
Sacramento Municipal Utility District
Copyright ?2007 - 2008 www.jt77.com