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!
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,
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