Home / Business Intelligence / How to Implement “BOUSER” Row-Level Security in Xcelsius QAAWS and Live Office Connections

How to Implement “BOUSER” Row-Level Security in Xcelsius QAAWS and Live Office Connections

Question: How can I get user-specific data results for Xcelsius dashboards viewed through BusinessObjects InfoView?

Answer: There are a few application variables that BusinessObjects provides for use when a user logs into InfoView, one of which is BOUSER.  BOUser is the variable for the userId that is logged in and can be used when Xcelsius is aware of the user session.  The user session is passed to Xcelsius via a flash variable that has been made available in XI for this purpose.  It is called, CELogonToken.

BOUSER contains the value of the userId of the user logged in.  It can be used to provide user-specific row-level security through the universe design by adding a self join to a field containing the userIds in your data.  With XI3.1 Designer, this can be applied at the class level (across all objects in a class), or through the traditional method of being applied just when objects from that specific table are used in the query.

Here is an example of how this variable is applied:
Note that the self join is applied against the Manager field.

The Manager field for eFashion contains usernames like “Queen” and “Tuttle”.  For this example, we have added these as users into our CMC.

In QAAWS, I have created a web service to return Manager and their corresponding Store.  This query automatically prompts for the BOUSER since the SQL contains the @Variable(‘BOUSER’) restriction.

In Xcelsius, I have referenced this QAAWS with the appropriate connection defined and entering Name of Manager and Store name results into cells that are viewable through a spreadsheet component.

IMPORTANT: QAAWS will return a promptValue invalid error message if a valid value is not declared as a default for bouser.  Make sure you point bouser to a cell in the Excel spreadsheet of your Xcelsius design and input a valid userId as a default.

In order for Xcelsius to know the BOUSER userId of the user logged into BO, Xcelsius needs to be aware of the session.  If you enter a login and password to the QAAWS connection, that username will be used all the time.  Instead, these entries should be left blank.

If they are left blank, then the users will be prompted to log into QAAWS when they attempt to refresh the QAAWS query from the dashboard. 

For both performance and ease of use, it is usually desired that the users continue using their existing session for a single-sign on method.  To do this, a flash variable connection should be added which includes the range name CELogonToken.  This hands the existing session token over to Xcelsius seamlessly.

The BOUSER or userId is not viewable in the token value as displayed.  The token, however, makes this application variable available for use as the Login value passed to the QAAWS connector upon refresh.

In the end, my excel spreadsheet design looks like this:

I export the Xcelsius dashboard to the SAP BusinessObjects Platform (note that an Enterprise license is required for this functionality).

Then, I log into InfoView as Tuttle and view the dashboard. When I click the refresh button, the Manager Tuttle and his/her store gets returned.

Incidentally, the default value of Queen is never used.  The default is only to allow the bouser variable to load with the QAAWS definition, but only the actual user logged in ever gets passed to the query.

About InfoSol

INFOSOL is a leading provider of SAP BusinessObjects, consulting, products, education and technical support throughout North America. With an in-house product development team and partnerships with other leading Business Intelligence solutions providers around the world, INFOSOL offers the best-in-class and most innovative SAP BusinessObjects add-on solutions. These include InfoBurst for Automated Report and Dashboard Bursting and Publishing along with Intelligent Cache Query for optimal Xcelsius performance and scalability. Having more than 15 years experience in providing end-to-end Business Intelligence applications, INFOSOL has learned to see beyond the data and deliver visionary solutions that inspire.

Check Also

InfoSol Blog Tech Tip

Tech Tip: Alternate Break Value Highlighting

While the built in alternate row shading is nice to shade every other row or ...