Business Objects XI – Changing BO Report / Universe Relationships
Common Ground – Terminology
Firstly, let me lay down some terminology in order to make this concept easier to discuss. “Classic BO” refers to any version of Business Objects between 5.X and 6.X. “BOXI” or “BO XI” refers to the Business Objects XI Release 1, 2, or 3 (R1/R2/R3), the injection of BO to the Crystal platform.
BO Classic Universe-Report Binding
In Classic BO if you wanted to replace a universe that was deleted from the repository or swap out one version of a universe for another version all that you had to do was place a universe in the repository which had the same name as the universe upon which the report was initially developed. The binding between report and universe was on name. For this reason universe name, for the most part, was the unique identifier for the universe. It made sense and it was a relationship everyone could understand regardless of technical background. When a report was selected from the repository its universe was also found based on the name of the universe listed in the report’s properties.
BO XI Universe-Report Binding
In BOXI, reports are bound to their universes not by the universe name, but by the unique identifier of the universe, the Cluster Unique Identifier (CUID). While this may seem a small change at first glance, one begins to see the full scope when one thinks beyond the simple workflow of universe creation and report creation. For example, what happens when you want to move the universe and report to another BOXI environment? What about if someone deletes the universe and reloads it from a back-up copy on their PC? What if you copy the universe to a different universe folder? Do you know how to answer these questions? Will your answers always result in preservation of the universe’s CUID?
Appearances are Deceiving
At first glance BusinessObjects has brought Full-client, WebI Intelligence, and Universes almost as they were in BO 6.5 (with a few improvements) into the the new Crystal platform with BOXI. The fundamental problem here is the phrase “as they were”. To the end user, it will appear that, despite the InfoView improvements and addition of multiple data providers to WebI, everything else is “as it was”. While familiarity is good, here it also creates the problem. Most end users do not realize that the binding mechanism between report and universe has changed, because for the most part everything else has not, and many training courses do not alert users either to this binding change. Therefore most users will follow development work flows based on the misconception that reports are bound to their universes based on universe name.
How to Maintain Business Objects XI Universe-Report Binding
Getting Started – Creating BOXI Universes and Reports
First of all you do not need to do anything special to create the proper CUID-level binding between the universe and the report. Creating a new report and selecting the universe will create the proper binding. In fact, if you copy a report, that is properly bound to a universe, you will end up with a duplicate report that is properly bound to it’s universe. Like I said before, if this is all that you are doing then you need not think differently about Universe and Report Binding. The problem is that most of us do more with reports and universes then just create them once, save them, and leave them alone.
Making Changes – Proper Universe Editing
Editing a report and a universe requires no special instructions as long as you obey some guidelines. Universes require the most delicate and precise handling. A universe that is imported from the repository, edited, and exported back to the repository will maintain it’s CUID and relationship to its reports. If you create a copy of the universe, using either CMC or Designer, the copy will receive its own CUID and it will not be associated with the original’s reports. Moving a universe between universe folders will maintain the CUID; HOWEVER if a universe of the same name exists in the destination DO NOT overwrite the universe. This will definitely cause the moved universe to receive a new CUID (this is true at least in Business Objects XI Release 2). NEVER USE THE OVERWRITE FUNCTIONALITY OF DESIGNER, terrible, unreliable results are nearly guaranteed. By the way, moving a universe cannot be done in CMC, BO Designer is required.
NOTE: A CUID is a unique identifier. It is impossible for two objects in the world (or same BO XI platform for that matter) to possess the same CUID, unless IMPORT WIZARD (or some other such tool) is used to “clone” the object from one environment to another.
Making Changes – Proper Report Editing
With regards to retention of the universe-report binding, editing a report does not require much delicacy at all, beyond that one would normally employ. However, if your goal is to retain the Business Objects report’s CUID (for reasons of cross-environment synchrony, for example) then there are some rules of engagement. A new CUID will only be created for a report if the report is duplicated, for example: the report is copied, the report is saved using “Save As”, the Import Wizard is used (various options could result in a duplicate with a different CUID).
NOTE: Once you understand the basics you will begin to ask yourself more profound questions such as… How can I tell if a report is not bound to its universe? Many unbound reports continue to work fine, why is that and if this is true why should I worry? How can a revert back to an old version of a universe without losing my universe’s CUID? Why do unbound reports spontaneously go berserk? These are all excellent questions that I will answer if you confirm to me (through your comments) that you are interested in the answers.
Closing Thoughts
In order to maintain CUID parity/synchrony within your Business Objects XI environment and across multiple BOXI environments you will need to learn more than can be covered in the scope of a single article. If this article has piqued your interest or assisted you in understanding the basics, and you would like to learn more then please leave your comments. I could present a couple more focused articles on this topic. Nevertheless, I would also like to know if there is interest in a more comprehensive guide that we could make available for sale at a reasonable price. If so, I would invest more time in this (many hours).



Hi,
This subject is really intersting and we have to deal with it since one year for one of our customer.
We have 4 different environments from development to production and sometimes we have troubles when transfering WebI documents from one environment to another.
We do not want to use Business Objects “Import Wizard” because we think this tool has too many options and could be dangerous. So we use a tool called EQM version 4.1 (Enterprise Quality Manager from NOAD BI) which could transfer universes and WebI documents from one environment to another. Even if the first version (4.0) was not really good, the new version (4.1) works fine. What I could say about the transfer is that the CUID of the same ressource between 2 environnements is NOT the same. EQM uses XIr2 SDK to change link between WebI documents and universe(s) when transfering documents. CUID of first environment universe and CUID of the same universe in the second environment are not the same, that’s the reason why EQM has to change link.
We tried to transfer manually (with “Import Wizard”) a document between environnements. What we have to do is to use a third environnement (C):
if we want to tranfer WebI doc from A to B, we do:
- transfer (import wizard) WebI doc and universe(s) from A to C,
- transfer (import wizard) destination universe(s) from B to C,
- change manually (in Java Report Panel) on platform C link between WebI doc and universe(s) in order to select universe(s) B instead of A,
- transfer (import wizard) WebI doc only (without universe(s)) from C to B with “update” option
- test WebI doc on B platform => OK.
As a conclusion, I could say that we 2 solutions to transfer documents without loosing link between doc and universe(s):
- Use import wizard with “Update” option between 2 platforms
- Use EQM
Thanks.
Stéphane
Interesting! I had not heard feedback from anyone about EQM before. It sounds as though it is not a purist’s choice tool.
We use Import Wizard to promote documents and reports between the environments. It does have a lot of options and choosing the wrong ones can REALLY screw up things, especially because you may not notice at first. “UPDATE” is the only way to fly with Import Wizard, you are right, unless you want to duplicate reports (this is an interesting use) or some other very special circumstances.
Thanks, I should write some more about Import Wizard. I would love to hear more from others about how they use it.
Dear Julian,
Thanks this article is really helpfull for a person from classic BO background. I am interested to know where to find the cuid of the universe and also the tablename to find it. It will be of great help if give an insight on the best way of transferring reports and universe between different environments.
Also if you can let me know of the other differences between classic bo and bo xi like the cuid it will be of big help.
Thanks again.
Geenu
Hi Geenu,
Thanks for giving me the push I need to write about using Query Builder to detect unbound reports. I believe that your question will be well answered in our new article “Using BO Query Builder to Detect Report-Universe Binding Status“.
Your other two points are going to require their own articles too. In fact, I am thinking of writing a full-blown guide to address the topic of object migration between environments including best practices and methods to correct pre-exising issues. There is so much to cover on this topic.
Thanks,
Julian
[...] you have read my other articles such as “Business Objects XI – Changing BO Report / Universe Relationships” then you know that the relationship between reports and universes is really at the CUID [...]
hi Julian,
Thanks for this article, it is very useful and it will help me in the future.
However, I’m faced with this problem. Due to a server problem I lost the universe files on the server and had to use a local copy and exported it to the server. The universe now exists again but the web-intelligence reports that used that universe are not linked to any universe anymore.
How do I point them to this ‘new’ universe? The universe has the same exact name as it did before.
Any tips / tricks will really help.
Thank you.
Gina
Hi Gina,
I am so sorry you lost the universe files. The one thing that would have helped you recover more easily here would have been a “BIAR” file backup created using Import Wizard. BIAR file backup’s are compressed binary files that you can create of most BO objects and it retains their inter-relationships and their unique identifiers. I should write an article about them, thanks for the idea.
However, unless you have a time machine a BIAR file backup is not going to help you now. Loading the universes back into the CMS will result in them getting new unique identifiers. They will also bring with them their short names and these will hopefully allow many of the Web Intelligence reports to find them at the moment they are opened. If this happens you are VERY lucky, but you have work that you MUST do.
For the reports that now find the newly replaced universes you need to open them and for each query reassign them to the proper universe. This may sound silly, but use Query Builder and you will see that your actions will bind the reports to the universe. Just be sure to scroll down and find the universe and make sure that it maps all of the objects (it should or you probably picked the wrong universe) and click OK and save.
For the reports that can’t find the newly replaced universes… bad news, the only method I am aware of which allows you to bind a report and universe is the WebI client. BO has yet to provide such a thing, but perhaps it could be built with an SDK. Maybe I should get in there and figure this out. So much to do, that probably won’t happen soon enough to help you out.
Good luck and please report back on your results and on any questions.
Thanks!
Julian
[...] documents to universes. I wrote an article on this binding and relationship, it is called “Business Objects XI – Changing BO Report / Universe Relationships“. So I won’t revisit that discussion beyond saying that in BOXI reports and universes [...]
Hi Gina,
You might also want to read the articles listed in the Trackback/Pingbacks below. I just added a new related article.
Good Luck,
Julian
This article is really interesting and very usefull. We are just doing the analysis to go to BOXI and so I was collecting all possible information to help it. and this site give a lots and most of it..Thank you everyone!!..
It is applied business objects and look forward to reading such articles. It will be great if someone can compile a book taking into consideration of practical day to day situations while implementing business intelligence and its tools.
what are the differences between break and section?
Hi meridianblues, please see this unrelated question answered here: What Are the Differences Between Breaks and Sections?
Hi Julian,
Thanks for your knowledge sharing article.What i did,I had created new version of a universe using designer with save as methodology,to do some modification so that my modification would not spoil any existing functionality.Now after all modification have implemented correctly,new universe is working fine.But the main problem is,all reports ( more than 100) are pointing to old Universe.What i want is,I want to save this modified universe again with the previous original universe properties so that all new reports and old reports will start running on new modified universe.Hopefully you understand my purpose.How would i achieve it.Need your help and advise.
Thanks,
Sunil
Hi Sunil, this is an interesting requirement. I can understand the need. First of, you can do this with the SDK. I don’t have the specific code, but it certainly could be done there. The only other method that comes to mind are two tricks:
0) First thing, create a BIAR file backup of the universe and the reports using Import Wizard, test your backup to be sure it opens and you can see all of the desired objects.
Copy and Paste: the safest method
Sneaky Replacement
Follow the steps in “How to Backup a BO Universe and Maintain its CUID” and see if you can successfully replace your new universe by restoring it as if it were the old universe. I haven’t tried this, but it might work.