When it comes down to compounded InfoObjects in SAP BusinessObjects BI, it seemed to me that there is a certain level of confusion out there. After failing to explain in a short manner how compounded objects are handled in BW and BusinessObjects (+some enhancements in BI4 SP05), I have decided to create this blog post.
What are compounded objects in SAP BW?
Let’s say that you have a company “CompanyA” that produces cars, and you have defined one of the materials to be “Wheel”. After some time, you decide to fusion with one of your competitors and therefore you load his data to your SAP BW system for reporting purposes. The two companies have the material “Wheel” but now wheels are not same throughout the company. In order to identify and report on wheels, you now need to identify and connect the wheel with the company that built it. In short: to make wheel unique, now you need to combine it to the company. From a technical perspective you would modify the material to be compounded with company. The key of a compounded object will be enhanced (for displaying purposes) with the key of the higher-level compounded object as a prefix. In the example above, the key of material will be displayed merged with company, being separated by a slash:
CompanyA / Wheel
After this introduction into compounded objects with an easy to understand example, lets take a look now at a real life example in the system starting with SAP BW Backend and ending in a Web Intelligence report.
How do you recognize a compounded object in SAP BW?
Taking a look at the Cost Element object (Transaction RSD1), you see a tab called Compounding, this tab has a green square and you see a new object listed there called Controlling Area and being refered to as superior InfoObject:
How do you recognize a compounded object in BEx Query Designer?
You will see in the BEx query designer that the InfoObject Cost Element has an information sign stating that it is compounded with the Controlling Area:
How are compounded objects handled in BEx?
In BEx Web you recognize a compounded InfoObject by the slash in the middle of its key. In the following screenshot, the first column is showing the key of cost element, and the first characters until the slash are actually the key of the superior object in the compounding (Controlling Area):
However BEx will not always display the compounded key. E.g. if the involved objects in the compounding are all displayed in order (from left highest granular to right most granular):
BEx would also display the non compounded key (no slash), when you have a fixed filter on the superior object. As an example here, if you have a filter on the controlling area = 1000, then the key of the cost element would not be displayed in a compounded way.
What about list of values for compounded objects?
When you enter values for a variable (prompt in BI4) in BEx, it is possible that you see different columns in the list of values. This extra columns were defined as attributes to the corresponding characteristic and they are displayed in the list of values for informational purposes. E.g. if you have a variable for cost elements and you see also controlling areas in the list of values window, do not expect that the result will restrict cost centers and controlling areas at once. If you want this set up, you will need to have a separate variable for every object. For more information on this topic, refer to SAP note 541253.
In case that you have two variables for the objects involved in the compounding, they can work in a cascading manner. If for example you select the Controlling Area “1000”, the list of values for the Cost Element will display only cost elements that belong to that particular Controlling Area. By the way, this kind of cascading variables for compounded characteristics is now supported with BI4 SP05. For more information about the support of other BEx Query Elements in BI4 SP05, visit following presentation:
The specified item was not found.
How are compounded objects handled in Web Intelligence?
In Web Intelligence the key of the compounded object will always be displayed in a compounded way. As an example see here the cost element:
If you want to pass the value of a compounded object through OpenDocument and you use the standard key object (the one with the slash), the openDocument filtering will fail and an error message will be displayed. Until SAP BusinessObjects BI 4.0 SP04 the solution for this was to extract the actual key with some formulas in the frontend, e.g. using the formula Right()
Starting with SAP BusinessObjects BI 4.0 SP05, you will see that compounded objects offer two keys, a compounded one and a non-compounded key:
Now you will not need to use formulas to get to the real key of a compounded object.
So, are compounded objects now fully supported in BI4 SP05?
Take away from this blog post:
Remember that if you want to use compounded objects in an OpenDocument link, you will need to use the non-compounded key as of the arguments explained in this blog post. This new element will also allow you to merge a dimension based on this non-compounded key, this was not possible until now because you cannot merge a dimension with a variable extracting this key.
I hope you enjoyed this introduction around compounded objects.