Tuesday, November 22, 2011

Default Time stamp problem.





Problem: 
User required an object called “Today” which contains todays date. But they don’t want the default time stamp added as a suffix of that. They want onlt “11/22/2011” in place of “11/22/2011 11:07:17 AM”. BO Does not provide a direct option for removing the attached timestamp it can be achieved using following step. 

Solution: 

1. Create an date object name “Today” and select “sysdate” for this object. 
2. Create another character object “Today 1” and select “to_char(trunc(@Select(<Class Name>\Today)),'mm/dd/yyyy')” 
3. Copy the List Name from the Properties tab. 
4. Open the “Today” objects property tab and change the List name as the List name of “Today 1”’ List name.
5. Now see the Display value of “Today” 

6. Now delete the “Today 1” object. 
7. Export the Universe.


Partial result





Problem:
While Refreshing a report in Business Objects returned a warning “Partial Results”. Also, some of the data which was required in the report was missing or not being fetched.
Analysis:
Extract the same SQL generated by the report and run it in the same database on which the Universe is built. Count the rows of data.

1) Open the universe
2) Click on File, then Parameters
3) Click on the Controls Tab
4) Check the “Limit size of the result to” text box.

If the number of rows set less than the number of rows returns the SQL query then it throws partial and random records.

Solution:
1.      Change the number of rows in the Designer more than the query returned
2.      Uncheck the checkbox of “Limit size of the result to”

Risk & Best Practices:

1.      Universe is normally built for many reports so before changing the number of rows it is better to discuss with Business that what extent they want the data and change upto that number of rows. In future if another report is giving the same partial result error fix the report not the Universe as the report is extreacting more than the data needed.
2.      The limit should be a realistic number 100,000 record is good for any reporting environment. More than that will effect system performance.
3.      If you uncheck the checkbox: The limit should be set to the maximum data retrieved by Oracle then there is a risk that Cartesian products would be allowed to run and return millions of rows.

Monday, November 21, 2011

BI 4.0 some good tutorial


MultiSource Universe (Part1) - SAP Business Objects 4.0 - Information Design Tool
http://www.youtube.com/watch?v=4zeB9A0gJEg

MultiSource Universe (Part 2) - SAP Business Objects 4.0 Information Design Tool
http://www.youtube.com/watch?v=jtiyBTgnXmQ

How to create a universe (In Local Folder) - SAP Business Objects XI 4.0 - Information Design Tool
http://www.youtube.com/watch?v=pgzzgMJfaLs

Row Level Security in SAP Business Objects by Creating a Data Security Profile
http://www.youtube.com/watch?v=6yM0OLK6QlI

Change Data Source Web Intelligence 4.0
http://www.youtube.com/watch?v=BdjiLu977Hg

SAP Business Objects Explorer
http://www.youtube.com/watch?v=qpQ2m2rwU40

Business Objects Universe
http://www.youtube.com/watch?v=p6iBntoYGOQ

Web Intelligence 4.0 Tutorial
http://www.youtube.com/watch?v=sD_MFrSOZAs

Cascading List of Values (associating to Parameters in the Business Layer)
http://www.youtube.com/watch?v=_1Qyb8X3ZeQ

Cascading LOV (associating to Dimension Objects in the Business Layer)
http://www.youtube.com/watch?v=7i4T0NgGVAg

LOV in Business Objects (based on Custom Hierarchy)
http://www.youtube.com/watch?v=8jYuMG5IG8U

SAP HANA Modeling
http://www.youtube.com/watch?v=9hM83qw9tYs

Score Cards on iPad - SAP Business Objects Mobile
http://www.youtube.com/watch?v=rfqawiAwqk4

Parameters and List of Values in SAP Business Objects 4.0
http://www.youtube.com/watch?v=FuDD-48pSCc

MultiSource Universe (Part1) - SAP Business Objects 4.0 - Information Design Tool
http://www.youtube.com/watch?v=4zeB9A0gJEg

MultiSource Universe (Part 2) - SAP Business Objects 4.0 Information Design Tool
http://www.youtube.com/watch?v=jtiyBTgnXmQ

Thursday, October 27, 2011

Universe loading very slow


Problem description
We are having 10000 objects in Universe. When we import the Universe in Universe designer, in some machine it is opening in rapid speed.
But in other machine it is taking a lots of time. Some time it shows not responding in task manager. But open after 15 minutes

Answer:
This is because in "Tools>Option> Graphics " tab the "underline Keys" is checked.

It actually check all the tables added in the Universe.
If you remove the check it will first open the universe for you without checking all the tables. This is not a good practise but to handle an universe like 10000 object it is almost mandatory

Monday, October 10, 2011

Universe restriction Priority


Problem:
Explain the priority of restriction implemented in Universe.

Answer:
According to my understanding and running the same problem in our universe the solution is below:

If you go to "Set group priority" window after clicking on Priority button in "Manage Access Restriction" you can see the below comments...
"You can specify which groups have the highest priority for access restrictions. If an user is assigned conflicting restrictions on different parent groups, the restriction on the group with the highest priority will take precedence."

Describing the scenario:

Group1------------>Restriction 1-----------> Priority 1(Higest Priority Lowest Level)
Group2------------>Restriction 2-----------> Priority 2
Group3------------>Restriction 3-----------> Priority 3
Group4------------>Restriction 4-----------> Priority 4(Lowest Priority Highest Level)

Restriction 1----> Can see A1 object but can't see A3 object
Restriction 2----> Can see A2 object but can't see A4 object
Restriction 3----> Can see A3 object but can't see A2 object
Restriction 4----> Can see A4 object but can't see A1 object

User A is present in Group 1 and Group 2
User B is present in Group 3 and Group 4
User C is present in all groups
Now
A can see --- > A1, A2
B can see  ---> A3, A4
C can see ---> A1, A2 ( But can't see A3, A4 as it is already restricted by Restriction 1 & Restriction 2)


Correct me if I am wrong....

Thursday, October 6, 2011

Dynamically change Universe joins


How to Dynamically change the universe joins based on user response (i.e. using @prompt function)?

Create the universe code like that.

('I' = @Prompt('In or Out Worker?:','A',{'I','E'} ,Mono,Constrained,persistent,{'I'})
AND
ABC.XYZ=PQR.XYZ
)
OR
( 'I' <> @Prompt('In or Out Worker?:','A',{'I','E'} ,Mono,Constrained,persistent,{'I'})
AND
ABC.XYZ!=PQR.XYZ
)

Class level security in Universe


Question:
Is it possible to set security at the class level within a universe?
Like one user group will see the data without any condition and other user group will see the same class where the xyz column of ABC table is equal to "Y"?

Answer:
It is possible to set a restriction on a class but with a twist. You need to create the copy of same class and save it to different name.
I am recreating the scenario.

Group A1 will see "Corporate" class data without any condition.
Group A2 will see "Corporate (A2) " class data with this condition ABC.XYZ="Y"

Steps:
  1. Copy the Corporte classs and paste under same hierarchy.
  2. Rename it as Corporate (A2).
  3. Create a condition object and set the properties like below.



  1. Then go to Tools>Manage Security>Manage Access Restriction.
  2. Create two new restriction (e.g Corporate Restriction, Corporate (A2) Restriction)
  3.  Go to “Object” tab in both restriction and add like below
    1. In Corporate Restriction add “Corporate (A2)”
    2. In Corporate (A2) Restriction add “Corporate”
  4. Map to A1 and A2 group
  5. Save and Export the Universe
  6. Check by login as A1 group and A2 Group user

Now A1 Group can see only Corporate class and A2 Group will see Corporate A2 class.
When they pull the object inside it the data is restricted according to the condition.