BUSINESS OBJECTS CLASS Step by Step
Business Objects is the reporting tool from SAP Company (2010).
As Business Objects is the reporting tool from SAP Company, it is called as SAP BO
Current Version of BO is: BO-XI R/3
BO: Business Objects.
XI: Version 11(in rowman characters)
R/3: Release 3. ------à BO Version Release 3.
BO-XI R/3 = BO-XI R/2 + SAP Integrations (It is available from 2008 onwards)
SAP BW/BI Integration services
(SAP BW and BI are ETL tools from SAP Company)
BO-XI R/2: It is the reporting tool from Business Objects.
BO-XI R/2 = BO 6.5 + Crystal Reports (2001)
BO 6.5 = BO 5.0 + WEBI (Web reporting) (1998)
B0 5.0 = BO Local Reports (4.5) + Universe + DESKI (local reports) (1995)
Universe is interface between database environment and reporting environment.
Universe is a file created with extension “.unv”. It has source database connection information and source business information in the form of Tables to be used by Reporting Environment.
To create Universe following are the main Steps:
1. Universe Parameters 6. Create Classes
2. Insert Tables 7. Create Objects
3. Insert Joins 8. Create Hierarchies
4. Detect Loops 9. Export Universe
5. Resolve Loop
Creating the Universe with required Database connectivity is called as Universe. Here universe is the file created with extension “.unv”.
Adding required business Tables from Database Environment into Universe structure panel is called as Insert Table. Whenever a table is added into Universe, only table Metadata is added but not the table with data. As universe is used to support SQL Query development, for preparing SQL Queries table Metadata is enough.
Using this step we apply the relation between the Tables in Universe Structure Panel.
To apply relation between Two Tables we need to use following Two Concepts:
1. Type of Join
2. Type of Cardinality.
Type of Join:
It specifies how data to be merged between two Tables. In Universe following are the type of joins to specify which type data to be merged.
a. Inner Join. [Returns common data between two tables.]
b. Left Outer Join. [Returns common data between two tables and all extra records in Left Table.]
c. Right Outer Join. [Returns common data between two tables and all extra records in Right Table.]
Note: Universe does not support FULL Outer Join.
FAQ: In what cases data in Database table can be duplicated?
Ans: if there is no primary key in the table or using Composit Key also there is possibility of data duplications in the column.
Composite Keys: If the Primary key is assigned to more than one table column then it is called as Composit key.
Cardinality: It defines data relation between the Tables as
1. One –to- One
2. One –to- Many
3. Many –to- One
4. Many –to- Many
FAQ: In the database technically how many One –to- One relations are possible?
Ans: In this example One record in Table-1 can have exactly One record in Table-2. This relation is called as One –to- One Relation.
FAQ: How many One-to-Many or Many-to-One relations are possible?
Ans: If one table has Primary key and another table has Foriegn key relation, from First Table is One-to-Many relation and from second Table is Many-to-One relation.
FAQ: How many Many-to-Many relations is possible?
Ans: If the Tables are related between Two non key columns or Two Composit key columns then there is a possibility of Many-to-Many relations.
Time taken between Query Request and Query Response is called Time Slash.
If there are N Tables with N Relations applied with each other, it is called as LOOP.
Loop is a Drawback in reporting. Because of Loop, reports will display the data in Time Slash.
Finding the possible loops in Universe structure panel is called as Detecting Loops.
(Detect Loop is the option used in Universe to find possible Loops)
To resolve the Loops we can use 4 techniques in Business Objects.
Note: if the loops are deleted from structure panel, the report output is displayed with high efficiency.
To resolve the LOOPS:
1) Delete Unnecessary Joins
2) Create Alias Tables
3) Create Shortcut Joins
4) Create Context
Delete Unnecessary Joins:
As per reporting rules, for N tables we need N-1 Joins for SQL Queries.
In Industries most of the reports are created using Transaction based master data. As order_details is the Transaction Table and sales_branch and sales_staff are master tables J1 and Jj2 are commonly used joins. By deleting J3, if business requirements can be satisfied then delete J3 join.
Second Solution: In a Loop, if there is Many-Many Cardinality joins existing then Many-Many joins can be deleted directly.
Create Alias Table:
* Generate a report to display orders collected by staff in which branch (J1 and J2)
*Generate a report to display orders of Branch (J1)
* Generate a report to display orders collected by Staff (J2)
* Generate a report to display list of employees working for Branch
Context is another resolving solution for LOOPS in Business Objects, which creates memory block in BO Repository with set of join results. As the memory is already created in BO Repository Data retrieval, is possible.
BO Repository is the Database of Business Objects. This is divided in to 3 areas as:
1) Security Domain Area
2) Universe Domain Area and
3) Document Domain Area
Security Domain Area:
Security Domain Area has the users and user groups to control Authentication of BO Repository.
Universe Domain Area:
Universe Domain Area is the part of BO Repository to hold all the universes which are exported from BO Designer to be accessed by reporting environment like WEBI,DESKI and etc.,
Document Domain Area:
Document Domain Area is the area where created documents are saved to be accessed by client environment with corresponding Authentications.
In 2001, in BO XI R2 Shortcut Joining are introduced. Using this property BO assigns secondary level priority for the joins in the LOOP. If all Tables are used in Reports then OLAP Engines uses the Main Joins and ignores the Secondary Join. If main Joins are not used then we use Secondary Level Joins in Reporting.
***Best Resolving techniques for LOOPS in BO are:
1) Delete Unnecessary Joins
2) Use Shortcut Joins.
6) CREATE CLASSES:
A class is the presenting Object in Universe to present Business Information to the reporting Environment.
A class is assigned with one or more Tables information to be presented to the Reporting layer.
A class represents Schema in Universe.
A class is a collection of Objects.
Objects represent a table column for reporting.
Simply, reporting columns in Business Objects are called as Objects.
*Basesd on type of data to be displayed in reporting, Objects are classified as 3 types.
* Dimension Object
* Detail Objects
* Measure Objects
Dimension Object: It is the default property applied for every database column added inside the class. This property can be assigned with all data types of source database to display source business data as it is.
Detail Objects: Depedent Objects in Business Objects are called as Detail Objects. Using this property we need to select a parent Dimension Object. While reporting detail object is also added with parent dimension object automatically.
Measure Objects: This property is appled only for Numeric Columns added with corresponding Aggregated functions to display summary information in the reporting.
Hierarchy is collection of Dimension objects arrangement to support Drill Down and Drill Up functionalities.
In hierarchies we can find two options as
1) Default Hierarchies.
2) Custom Hierarchies.
All objects added under the class panel are displayed as Default Hierarchies.
Based on these default hierarchies we can create required Custom hierarchies to support RRI Concepts.
RRI: Report to Report Interactions.
----àCommunicating TOP Level hierarchy to next level hierarchy is called as Drill Down.
----àCommunicating from Bottom level hierarchy to Previous level hierarchy is called as Drill Up.
*Export Universe: Using this option, the .unv file is send from local system into BO Server System (BO Repository) Universe Domain Area to make universe accessed by reporting authors.
1) Universe Parameters 1)Universe Parameters
2) Insert Tables 2) Insert Tables
3) Insert Joins 3) Insert Joins
4) Detect Loops 4) Detect Loops [not allowed]
5) Resolve Loops 5) Resolve Loops
6) Create Classes 6) Create Classes
7) Create Objects 7) Create Objects
8) Create Hierarchies 8) Create Hierarchies
9) Export Universe 9) Export Universe