Custom Search

Monday, September 30, 2013

BO Universe Parameters



This is a step by step tutorial and user guide on how to configure your universe parameters. I will descript in details all options and features that can be accessed by this window then I give a detail example about how to configure a universe. [Real Case]
This post is one of the coming series that should cover business objects (BO) universe designer and should help you to build your own universe.



Here you should define your universe by:
Universe Name: Should be something descriptive and relative to the subject area or data area covered by this universe. Every organization should have their own naming convention and the universe name should give a clear idea about what shall this universe be used for.
Description: should contains a brief description about this universe and the nature of data used inside that universe.
Connection: You should assign a connection to your universe. You can select one of the pre-defined connection or simply you can create a new one.
Universe Parameters Definition
Find below a step by step work through to create your new connection:
To create new connection you should open universe parameters and click on new connection button from definition tab. Or you can so the same by open Tools Menu --> Connection ,Then follow the wizard screen described below:
Screen # 1: Welcome Screen
This screen will display a welcome message and description about what this wizard will going to implement.
[Click Next]
Screen # 2: Database Middleware Selection
We need to select connection type, select a connection name and finally data access driver
Connection Types:
Personal: Can be used only by you and only on your machine.
Shared: Can be shared with multiple users. But not stored on BO repository and can’t be accessed by the enterprise.
Secured: Save on BO repository and can be accessed by all users across the enterprise based on the security assigned.
Data Access Drivers:
Here you will find almost all famous database vendors. You can select a vendor to expand supported version & releases under that vendor. For example if you expand (+) beside oracle you will be able to select one of the following oracle releases (Hyperion Essbase 7.0, Hyperion Essbase 9.0, Oracle 10, Oracle 11 & Oracle 9 )
There are a couple of things that I want to highlight regarding data access drivers:
  • There is tow SAP data access drivers, one for SAP Business Warehouse & SAP BusinessObjects. Under SAP Business Objects , you will find many of SAP product that you can directly connect to. Like SAP Strategy Management, SAP Business Planning & Consolidation…etc
  • You can select ODBC, JDBC or text file data access driver from generic vendor group.
[Select Connection Type] --> [Type connection Name] --> [Select proper Data access driver]
Please note the following screens will depend of the data access driver that you have selected as the configuration will vary from driver to another.
Connection # 1 
Screen # 3: Login Parameters
In this screen you should enter the authentication information. In case of you selected oracle client as data access driver you will be prompted to enter:
  • Service Name
  • Authentication Mode:
    • Use business object credential mapping
    • Use single sign on when refreshing report at view time.
    • Use a specific user name & password.
  • User Name:
  • Password:
Please note:
  • The configuration listed in Screen # 3 above assuming that you have selected oracle client as data access driver. Other data access drivers may have different configuration with different names.
  • User name & password will be displayed if you have selected “use specific user name & password” as authentication mode.
  • You should test connection before you proceed.
Login Parameters
Screen # 4: Configuration Parameters
From this screen you can set the advanced data access driver configuration. For now just leave it as default. Then click finish to close the create new connection wizard.


In summary page you can find summary information about your universe. The information in this page is divided into 3 main section:
Universe main information:
  • Created: displays creation date.
  • By: Displays the user name whom created that universe.
  • Revision number: Current universe version. Every time you export your universe to BO repository this number will increased by 1. Initial for new universe this number is 0.
You can use this part to write any comments or remarks related to this universe. Me & my team used this section to keep version control history as we don’t have a license for “BO life cycle manger” which handle universe version control. Find below the template that we have used to keep our universe version control:
[Version Control Template]
[DEV. BY]: Developer name @ date of modification
[REV. BY]: Reviewer name
  • Change 1
  • Change 2
[Version Control Example]
[TASK ID]: T1378
[REV NO]: 343
[DEV. BY]: Hanan K Al-Salamah @ 20-Jan-2013
[REV. BY]: Abdou M. Abdulaziz
  • Modify the Derived Table ACLM _PRODUCTS
  • Modify the Join conditions between ACLM _PRODUCTS and OFDM.FEM_COMMERCIAL_LOANS
This section will display statistics information about this universe like: No of classes, objects, condition, tables…etc
  Universe Parameters Summary


From this tab you can implement one of the following strategies.
Object: You can build a customized object strategy to identify your measures and dimension and do special grouping based on some pre-defined condition. This is an advanced topic and I will create a special post on it.
Join: Join strategy can detect joins between tables based on column names, Type or smart match.
Strategy are very effective way to save development time if the physical layer is well defined and have naming rules applied. You can save months or weeks of development time by creating an object strategy that can build the universe from scratch. But take care, You always need to revise objects definition as for each and every rule there are many special cases that need special handling.
Join strategy also is very effective if you define primary and foreign key on database level. It is helpful also if you maintain naming convention across your table.


From this tab you can limit number of returned rows or time execution or both. Find below the limitation that you can set from this tab:
  • Limit size of result set to: [No of rows]
  • Limit execution time to: [Time in seconds]
  • Warn if cost estimate exceeds:
  • Limit size of long text object to: [No for char]


This tab contains options that can be used to customize and control SQL and query generation. The tab divided into 3 sections as follow:
  • Query:
    • Allow use of sub query.
    • Allow use of union, intersect & minus operator
    • Allow complex operand in query panel.
  • Multiple paths:
    • Multiple SQL statements for multiple context.
    • Multiple SQL statements for multiple Measures.
    • Allow selection of multiple context.
  • Cartesian Product:
    • Prevent
    • Warn


You can link current universe with other universe or you can include another universe in the current one. Let’s take an example. Assume that we have a special universe for customer information and we have many other universes that cover many business area across the enterprise. Now let’s assume that customer information class should be a mandatory and basic part of all our universes as it is a common dimension and you always need to refer to customer information. Now we have 2 options:
  • Link to customer information universe: This will add a link to all tables, classes and objects in customer information universe. It will appear in the current universe but dimmed and not editable. If you want to make any modification in customer information universe it will reflect automatically on all universes linked to it.
  • Include customer information universe in the current universe: This will make a copy of customer information universe in the current universe. You can edit or modify anything and it will be part of the current universe and independent from the original customer information universe.
Note: Link feature centralize all modification in only one universe and keep the consistency and compliance. While including universe give you the flexibility to change and edit.


There are many universe parameters that you can set from this tab. I will create a detailed post on this topic. For now I just want to share with you this hint:
If you want to pass universe name, user name and report name by each query generated and submitted by webi report do as follows:
Property Name: END_SQL
Property Value: --@variable('BOUSER'), @variable('UNVNAME'), @variable('DOCNAME')
  • @variable(‘BOUSER’): is a system variable that will return the current logged in user.
  • @variable(‘UNVNAME’): is a system variable that will return universe name.
  • @variable(‘DOCNAME’): is a system variable that will return the report name.

I recommend this book "Creating Universes with SAP BusinessObjects" for you if you want to learn how to do the same using SAP BO Information Design Tool: