cancel
Showing results for 
Search instead for 
Did you mean: 

Load data from two ODS Objects to an InfoCube

Former Member
0 Kudos

Hello all,

I am a student and working on a SAP BW project. The scenario I am working on is like this:

I have two database tables loaded to two ODS Objects. These tables have a 1:N foreign key relationship. Now I like to load both ODS Objects to one InfoCube. The data should be joined with an outer join.

As I try this with to Update Rules the relationship between the data is lost.

I tried to model both tables as InfoObjects and included one InfoObject as Attribute in the other. Then I loaded all master data and loaded only the basis InfoObject to the InfoCube. The result was better but as expected was it like an inner join, but I need an outer join.

I know that I can use InfoSet and MultiInfoCube as well but I do not like to do this. Also it is possible to join the data at the source system but this is in our scenario not possible.

I read something about RTTI and loading from another ODS in the start routine of update rules but this article was to high level for me, I need a step by step instruction with example. Because I am not familiar with ABAP and just started with SAP BW.

As far as I can see the problems are:

- How can I access from an update rule start routine other ODS Objects and load there data

- How can I use this data in update routines for single InfoObjects in the same update rule

Thanks for any answer!

Lars

Accepted Solutions (0)

Answers (2)

Answers (2)

annette_frei
Participant
0 Kudos

Hello Lars,

I have the same problem and I found out that two update rules for the InfoCube do. In those, you take as source the ODS. Then, in the ODS, you have to set the flag "Update data targets from ODS automatically" in the settings. When you then load data into the ODS objects, the data gets loaded also in the Ifocube. Good luck, best regards,

Annette

GFV
Active Contributor
0 Kudos

Hi Lars,

one way to create an outer Join between ODSs is working on the Update Rule with ABAP coding and writing SELECT statements. It' better having some knowledge about in order not to have bad performances. May be it's easier and more performant working on a Start Routine.

Another (probably simpler way) it's creating a Generic DataSource based on a (Classic) Infoset (SQ02 ...). Only using InfoSets you can performe OUTER Join in a native way because you can link two or more tables just as you use to do un MS Access.

Hope it helps

GFV

Former Member
0 Kudos

Hello Gianfranco,

thanks for your answer. I did not solve the problem so far but I found the APD (RSANWB). With the APD you can join ODS Objects together and do other funny thinks. The result can be written into a transactional ODS.

Now I stuck at the point: How to update data from a transactional ODS.

Regards,

Lars

GFV
Active Contributor
0 Kudos

Hi Lars,

APD can be a very usefull tool, but let me say that its purpouse is a little but different from the one I thought you had. With high data volume APD could give performance problems ...

Take a look to the documentation about transactional ODSs: http://help.sap.com/saphelp_sem40bw/helpdata/en/e3/e60138fede083de10000009b38f8cf/frameset.htm

About your question: right click on the ODS and choose "Generate Export Data Source" ... this is the standard way used to extract data form ODS: under "InfoSources" you wil find a pretty new InfoSource named 8<ODS_NAME> ready to be used. I never used a transactional ODS this way and so I cannot say if it works. Another solution is building a Generic DataSource on table /BIC/A<OND_NAME>00 (Active Data) ...

Let me say that the you are trying to run a longer way ... take a minute to search in http://help.sap.com something about InfoSets and to evaluate such a solution.

Hope it helps

GFV