In this thread, I am trying to collect all the best practices as much I can. If you can contribute your own best practices for Business Objects, it would be really good to share with all. Have a look at this post and comment about the best practices that you follow when you develop anything with Business Objects,
- Use proper naming conventions for universe objects, classes which should be clear enough for the business user to access the objects and its data
- Try to classify the objects and folders according to the business usage and not based on any technical terms (Dimensions, Measures, data types etc.) as it should not misinterpret the business user
- Give them a clear name for each objects and classes, like the one below Category
Use some special characters to signify the object as prompt or condition like “Product?”
- While creating the objects (Dimension and Measures), always give a brief description about the objects. The Business users who don’t understand the objects even after having a good naming convention can go for the description details. A brief description with some good examples is more than enough for the user.
- Try to avoid duplicate objects in different classes. Business Objects will not allow you to create classes with same name but it will allow for objects with same name in different classes. To avoid any confusion, give a specific name to each object. All the objects in universe should be unique.
- Try to resolve all complexities (data relationship, formatting) in universe itself otherwise it may become tedious in reporting side. For instance, take Revenue as a measure that you created in universe without any formatting. It is the biggest trouble for any report developer to format for currency. This would be easy for one report but what if the developer has to do it for some 50 reports that have Revenue measure in it. So try to do all formatting for numbers, currencies from universe side itself. If it is done, then it’s just a drag n drop for the developer
- After developing the complete universe, always have a complete Integrity Check which will ensure that everything in placed in perfect place and will work properly.
- Always import a new copy from the repository and do the development. Anyway, the inbuilt Version Control System of Business Objects is going to warn if you export an older version of the universe when the latest version exists in the repository. But the best practice is to get the latest version from the report to avoid any kind of discrepancies.
- While creating a new connection, use the connection type as SECURED. By this we can incorporate the security features that come with BO. Universes must be secure, in order to link them to others.
- Hide all the objects from the universe that are not often used for reporting and not going to be used for some time.
- Turn on the LOV only on the required objects
- Nested classes are good but don’t drag it up to level 5 , 6 & 7
- Use contexts and alias table to resolve fan trap and chasm traps in universe
- Set the proper query limits at the universe parameters under “control” tab, especially “Limit size of result set to” & “Limit execution time to”. Setting the right parameters will result in a good universe by performance wise
- It is always good to have a handy report template in any BI tools. For Business Objects, that would be the most needed because BO is designed to handle a large set data from very big organizations that have branches all over the world. As the size of the company increases the number of report has to be created will also increase. So it should not create any tedious work for the BO developers, anyway the business need always sticks with some standard report layouts and formats, it is better to create template based on the initial specification that is received from the organization. Now you have a template that is already formatted for page orientations, paper size, numbers, text fields, block layout, headers, footers, execution timestamp, page no and back ground logo or image. So when time comes, it becomes easy as you can save as the template and adding objects for the new report
- To share it with all the developers, we need to export this template to the repository and assign necessary rights for everyone to access the same.
- While working on a large data avoid using the report view instead use “view structure” mode of display as it is going to eliminate some complexities in data rendering and simply it saves time.
- Use “Save for ALL Users” option to remove the document security from the WEBI files. It can used when we physically transfer the *.wid files from machine to machine, say for example QA to PROD.