<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>InfoSol Blog &#187; Business Objects InfoView</title>
	<atom:link href="http://infosolblog.com/tag/business-objects-infoview/feed/" rel="self" type="application/rss+xml" />
	<link>http://infosolblog.com</link>
	<description>We&#039;re Passionate About Business Intelligence</description>
	<lastBuildDate>Mon, 23 Jan 2012 21:49:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>How to Implement &#8220;BOUSER&#8221; Row-Level Security in Xcelsius QAAWS and Live Office Connections</title>
		<link>http://infosolblog.com/how-to-implement-bouser-row-level-security-in-xcelsius-qaaws-and-live-office-connections/</link>
		<comments>http://infosolblog.com/how-to-implement-bouser-row-level-security-in-xcelsius-qaaws-and-live-office-connections/#comments</comments>
		<pubDate>Sat, 01 May 2010 05:02:27 +0000</pubDate>
		<dc:creator>InfoSol</dc:creator>
				<category><![CDATA[Business Intelligence]]></category>
		<category><![CDATA[Tech Tips]]></category>
		<category><![CDATA[Xcelsius End User]]></category>
		<category><![CDATA[BO XI 3.1]]></category>
		<category><![CDATA[BOUSER]]></category>
		<category><![CDATA[Business Objects InfoView]]></category>
		<category><![CDATA[CELogonToken]]></category>
		<category><![CDATA[Dashboard design]]></category>
		<category><![CDATA[QaaWS]]></category>
		<category><![CDATA[Query as a Web Service]]></category>
		<category><![CDATA[SAP Business Objects]]></category>
		<category><![CDATA[Xcelsius]]></category>
		<category><![CDATA[Xcelsius Connectivity]]></category>

		<guid isPermaLink="false">http://infosolblog.com/?p=590</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Question:</strong> How can I get user-specific data results for Xcelsius dashboards viewed through BusinessObjects InfoView?</p>
<p><strong>Answer:</strong> 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.</p>
<p>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.</p>
<p>Here is an example of how this variable is applied:<br />
Note that the self join is applied against the Manager field.</p>
<p><a href="http://infosolblog.com/wp-content/uploads/2010/07/x_tt14-11.jpg"><img class="aligncenter size-full wp-image-633" title="x_tt14-1" src="http://infosolblog.com/wp-content/uploads/2010/07/x_tt14-11.jpg" alt="" width="600" height="310" /></a></p>
<p>The Manager field for eFashion contains usernames like “Queen” and “Tuttle”.  For this example, we have added these as users into our CMC.</p>
<p><a href="http://infosolblog.com/wp-content/uploads/2010/07/x_tt14-21.jpg"><img class="aligncenter size-full wp-image-634" title="x_tt14-2" src="http://infosolblog.com/wp-content/uploads/2010/07/x_tt14-21.jpg" alt="" width="337" height="284" /></a></p>
<p>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.</p>
<p><a href="http://infosolblog.com/wp-content/uploads/2010/07/x_tt14-3.jpg"><img class="aligncenter size-full wp-image-635" title="x_tt14-3" src="http://infosolblog.com/wp-content/uploads/2010/07/x_tt14-3.jpg" alt="" width="673" height="452" /></a></p>
<p><a href="http://infosolblog.com/wp-content/uploads/2010/07/x_tt14-4.jpg"><img class="aligncenter size-full wp-image-636" title="x_tt14-4" src="http://infosolblog.com/wp-content/uploads/2010/07/x_tt14-4.jpg" alt="" width="582" height="288" /></a></p>
<p>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.</p>
<p><a href="http://infosolblog.com/wp-content/uploads/2010/07/x_tt14-5.jpg"><img class="aligncenter size-full wp-image-638" title="x_tt14-5" src="http://infosolblog.com/wp-content/uploads/2010/07/x_tt14-5.jpg" alt="" width="620" height="485" /></a></p>
<p><a href="http://infosolblog.com/wp-content/uploads/2010/07/x_tt14-6.jpg"><img class="aligncenter size-full wp-image-639" title="x_tt14-6" src="http://infosolblog.com/wp-content/uploads/2010/07/x_tt14-6.jpg" alt="" width="620" height="264" /></a></p>
<p><strong>IMPORTANT:</strong> 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.</p>
<p>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.</p>
<p>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. </p>
<p>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.</p>
<p>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.</p>
<p><a href="http://infosolblog.com/wp-content/uploads/2010/07/x_tt14-7.jpg"><img class="aligncenter size-full wp-image-640" title="x_tt14-7" src="http://infosolblog.com/wp-content/uploads/2010/07/x_tt14-7.jpg" alt="" width="620" height="484" /></a></p>
<p>In the end, my excel spreadsheet design looks like this:</p>
<p><a href="http://infosolblog.com/wp-content/uploads/2010/07/x_tt14-8.jpg"><img class="aligncenter size-full wp-image-641" title="x_tt14-8" src="http://infosolblog.com/wp-content/uploads/2010/07/x_tt14-8.jpg" alt="" width="620" height="578" /></a></p>
<p>I export the Xcelsius dashboard to the SAP BusinessObjects Platform (note that an Enterprise license is required for this functionality).</p>
<p><a href="http://infosolblog.com/wp-content/uploads/2010/07/x_tt14-9.jpg"><img class="aligncenter size-full wp-image-642" title="x_tt14-9" src="http://infosolblog.com/wp-content/uploads/2010/07/x_tt14-9.jpg" alt="" width="487" height="519" /></a></p>
<p>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.</p>
<p>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.</p>
<p><a href="http://infosolblog.com/wp-content/uploads/2010/07/x_tt14-10.jpg"><img class="aligncenter size-full wp-image-643" title="x_tt14-10" src="http://infosolblog.com/wp-content/uploads/2010/07/x_tt14-10.jpg" alt="" width="620" height="308" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://infosolblog.com/how-to-implement-bouser-row-level-security-in-xcelsius-qaaws-and-live-office-connections/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

