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:

Sunday, September 29, 2013

BO InfoView & Rich client Fast User Manual (Tutorial) (Part # 2–View Mode)


This is part 2 of SAP Business Objects user guide. Today we will explain Webi view mode in details. We will go through different menus, Functionality and features. This tutorial apply for both InfoView as well as rich client. Please note also that this user manually build using BOXI3 version but it is almost same in BO4.

I suggest to read Part # 1 first:

Part # 1: BO InfoView & Rich client Fast User Guide (Tutorial) (Part # 1 - Navigation)


When you select Webi report and double click on it or right click and select view, the report will be displayed in view mode. Find below the main functionality that you can use during view mode:




  • Close: Close current document
  • Edit: Open edit mode for current document. [If you have write rights]
  • Save: Save current document
  • Save As: Save current document in different name and location
  • Save to my computer as: save document as excel, CSV or PDF
  • Save Report to my computer as: Save current report only. [Note: Document can have multiple tabs (Reports)]



  • Quick Display Mode: Display data only without page borders or layout.
  • Page Mode: Display report in page mode. You should use this mode to optimize layout before printing.
  • Draft Mode:
  • PDF Mode: Show as PDF
  • Left Panel: Show/ hide left panel.
  • Status Bar: Show / Hide status bar.
  • Fold /Unfold: Expand / Collapse section.


Other Options:

  • Save Report
  • Print Report
  • Find Text in Report: Like find feature provided by Microsoft in MS Office & MS Windows.
  • Zoom:


  • Page Navigation: go to next page, previous page, first page and last page. You can also enter specific page number to jump immediately to that page.clip_image018
  • Edit:
  • Refresh Data: It will open the prompt wizard if there is a prompt in that report. Otherwise it will refresh data and return back results.clip_image004clip_image006
  • Track: I will create a separate post for this topic.
  • Simple Filter: show / Hide simple filter bar. You can select report dimension from here and a drop down menu will display all possible values for that dimension. You can then select a specific value to filter the report on that selected value.
  • Drill Mode: Activate drill mode. This is very useful to analysis data displayed in the report. You need to have a pre-selected hierarchies like time for example: [Year- Quarter – Month – Date]. Hierarchy are built in universe and can be selected and configured in query editor and scope of analysis area.
  • Take Snapshot: Used with drill mode to take a snapshot from the current drill paths selected.

BO InfoView & Rich client Fast User Manual (Tutorial) (Part # 1 - Navigation)



This is a fast walkthrough, User Manual and tutorial on BusinessObjects (BO) Web Inelegance (WEBI). This can be useful for InfoView And Rich client BOXI3 as well as BI Launch pad BO4. This user guide should help you to understand the basic functionality and features provided by BO web intelligence. Don’t hesitate to leave me a comment if you find anything useful to add.



Main screen please note that if you are using InfoView it will not ask you about system. As every system have his own URL while if you are using Rich Client, It will ask you to enter your system name. First I will explain how to access your system:

Info View: Link should be like this: https://<Server Name>:<Port Name>/InfoViewApp/logon.jsp Example: https://boProd:9009/InfoViewApp/logon.jsp

Rich Client: Go to the following Path: Start Menu --> All Programs --> BusinessObjects XI 3.1 --> BusinessObjects Enterprise Client Tools --> Web Intelligence Rich Client

  Web Intelligence Rich Client

The required login Information described below:

  • System: this your system name. If you have multiple environment like Development, SIT, UAT and production then you may have a different system name for each. System name is identified by <BO instance name>: <Port number>. Example: [boProd1:6401] without brackets.
  • User Name: your user name and it it will depend on your authentication method. So for example if you selected LDAP so you need to provide LDAP user and password. If you for example selected Enterprise, then you should provide a valid user name & password that defined on BO server by BO administrator.
  • Password: your password.
  • Authentication:
    • Enterprise: credential are kept on BO server and can be created, edited and removed from CMC screen by the BO administrator.
    • LDAP:
    • Windows AD
    • Windows NT
    • Stand alone
  • Use offline mode

Please note that System & use offline mode are only displayed when you are trying to login from Rich Client only. As we mention before, System information are included in URL when we are trying to login into InfoView and there is no offline mod in InfoView.




After you login successfully to the system you will see the following screen. Let’s go through all available options:



Main Tool Bar:
  • Home: Will return you back to this page.
  • Document List: Navigate through your reports. You can navigate them by category or by folder.
  • Help: Display help menu.
  • Preferences: Configure and personalize your settings.
  • About: information about BO release and license.
  • Logout


  • Document List: Navigate through your reports. You can navigate them by category or by folder.
  • My Favorites: This is your own area and you are the only one who can access this folder (beside BO administrator of course). You have a full privilege on that folder and you can build your own analysis here.
  • My Inbox: All reports scheduled to be send to your Inbox folder.
  • Preferences: Configure and personalize your settings.

As you can see you can access the same option from many places.


Report options

After you click on document list, the following screen will be displayed. You can navigate through your reports by folders or by categories

Toolbar menu:
  • Folder: Navigate your reports by folders
  • Category: Navigate your reports by category
  • Refresh: Refresh report list
  • Hyperlink: You can use this option to create a hyperlink for any relative site.
  • InfoView page layout: Portal Page
  • Publication: We will have a detailed post on publications
  • Web Intelligence document: This option used to create a new Webi Document.
  • Analytic
  • Category: create a new category
  • Folder: Create a new folder
New Menu
  • Crystal Report
  • Local Documents: You can add local Microsoft [Word, Excel and PowerPoint] or PDF document to the current selected folder.
Add Menu
  • Cut: Cut the selected object/ Document.
  • Copy: Copy the selected object/ Document.
  • Copy Shortcut: Copy the relative path for the current object or document.
  • Past: works as Microsoft Windows.
  • Delete: Remove the selected object / Document.
Organize Menu

It will display a customized menu based on the selected object from the navigation area.

Action Menu

If you right click on any report, the following popup menu will be displayed:

View: Open Webi report in view mode

Properties: Open properties window for the selected document.


Modify: Open selected Webi report in edit mode

Schedule: Create a scheduler for that report. (We will have a separate post for this topic)

History: Display the history for all instances generated from report schedule.

New: As described before.

Add: As described before

Organize: As described before.

What is the difference between folder and category?

Folders: Folders are physical containers that used to store mutable related objects/ Documents.

Category: Virtual & logical grouping for reports or documents. The reports are physicaly stored in folders and can exists in only one folder while you can to refere to the same report from more that one category. Normally categories is better to represent business calsification while folder is better for data classification.


We have 2 data areas:

  • Customer Information
    • Customer Search Report
    • Customer relatives
    • Customer Segmentation
  • Current Account
    • Account Statement
    • Last 10 Transaction by Account
    • Top 10 transactions Today

We have 3 business groups:

  • Tellers:
    • Customer Search Report
    • Account Statement
  • Marketing:
    • Customer Search Report
    • Customer Relatives
    • Customer Segmentation
    • Account Statement
    • Last 10 Transaction by account
  • Fraud, Compliance & Risk Department
    • Customer Search Report
    • Account Statement
    • Top 10 transaction Today.

As you can see from data point of view the report can created only once under it is corresponding data area. While the same report can serve many business departments. Let’s imagine that we don’t have category feature, in this case we should build our security model to allow every department to access their reports only. This will lead to duplicating same report in many folders just to fulfill this security constrain. But because we have categories feature we can create report once and map it to many categories. I will create a special post to cover this topic in details.

Friday, September 27, 2013



You can use rank to generate a report that display for example top 10 customers based on sales information or bottom 10 branches based on their profit. To do that in BO we have 2 Methods.


[Method # 1]: Apply Rank from the Webi report

In this method you can click on Apply/ Remove rank button () to add rank on the selected column.

This will open the following Wizard to set Rank properties:

Ranking Properties:

In ranking properties you can select your ranking direction. if you want to display top records in your ranked list then just tick check box beside Top. If you want to display records at bottom of your list then select Bottom. You can also enter the number of records that you want to display. for example if you select Top and entered 10 in the text box beside it then it will display top 10 records if you selected count as a calculation mode.


Based on:

select the measure that will be used to rank your records. You may have more than one measure displayed in your table but you can only rank them based on one of them.


Ranked By:

Select the dimension associated with this rank. 


Calculation Mode:

  • count: will stop ranking after it reach for that count. For example if you selected Top 10 with count as calculation mode it will keep displaying records on top of your list till the 10th record.
  • Percentage: 
  • Cumulative sum: it will keep displaying records till reach the limit specified in ranking properties.
  • Cumulative Percentage:


Find below the raw data that we will use in our example:

Branch Transaction Amount Transaction Volume
101 50,000 100
102 1,000,000 600
103 60,000 250
104 950,000 700
105 150,000 460
106 2,000,000 800
107 200,000 300
108 500,000 620
109 350,000 430
110 1,900,000 850
Now lets check the following ranking cases:

Case # 1:

Description: Display top 5 branches based on their transaction volume

Ranking Properties:

Top  [ 5 ]

Based on [ Transaction Volume]  Ranked by [   ]

Calculation Mode: Count


Branch Transaction Amount Transaction Volume
110 1,900,000 850
106 2,000,000 800
104 950,000 700
108 500,000 620
102 1,000,000 600


Case # 2:

Description: We need to display branches that performed 80% of total transaction volume

Ranking Properties:

Top  [ 80%]

Based on [ Transaction Volume]  Ranked by [   ]

Calculation Mode: Cumulative Percentage

How it Works:

Branch Amount Volume % Cum %
110 1,900,000 850 17% 17%
106 2,000,000 800 16% 32%
104 950,000 700 14% 46%
108 500,000 620 12% 58%
102 1,000,000 600 12% 70%
105 150,000 460 9% 79% **
109 350,000 430 8% 87%
107 200,000 300 6% 93%
103 60,000 250 5% 98%
101 50,000 100 2% 100%

** Limit Achieved


Branch Amount Volume
110 1,900,000 850
106 2,000,000 800
104 950,000 700
108 500,000 620
102 1,000,000 600
105 150,000 460


  • We ranked our data based on Volume and we didn’t consider Transaction amount in our calculation.
[Method # 2]: Apply Rank from the Edit Query window

In this method you will retrieve only the ranked data from the database.

Useful Links: