bi platform scn8
DESCRIPTION
sap boTRANSCRIPT
6/3/2014 BI Platform | SCN
http://scn.sap.com/community/bi-platform/blog?start=105 1/42
Getting Started Newsletters Store
Products Services & Support About SCN Downloads
Industries Training & Education Partnership Developer Center
Lines of Business University Alliances Events & Webinars Innovation
Log On Join UsHi, Guest Search the Community
Activity Communications Actions
Brow se
BI Platform 255 Posts 1 … 6 7 8 9 10 … 17
PreviousNext
Error Screen shot
I am getting the following error while trying to log in to IDT for the first time.
Solution
We need to configure the Information Design Tool (IDT) for manual AD Login + SSO for BI 4.0
Ø Go to your VM and Edit the file: install_dir\SAP BusinessObjects\SAP BusinessObjects Enterprise XI
4.0\win32_x86\InformationDesignTool.ini.
Mostly it should be C:\Program Files\SAP BusinessObjects\SAP BusinessObjects Enterprise XI
4.0\win32_x86
Ø Add the following lines to the end of the file and save the file :
-Djava.security.auth.login.config=C:\WINNT\bscLogin.conf
-Djava.security.krb5.conf=C:\WINNT\krb5.ini
Ø Unzip and place the attached folder under C: drive.
Ø Close the IDT application and try it again
The above suggestion is working for me.
431 View s 8 Comments
Issue with accessing (logging into) the IDT usingWindows AD based user Account.
Posted by Rahul Kartha Jul 8, 2013
UNV to UNX universe conversion steps
Posted by Jorly George Jul 4, 2013
6/3/2014 BI Platform | SCN
http://scn.sap.com/community/bi-platform/blog?start=105 2/42
UNV to UNX universe conversion The UNV to UNX universe conversion process steps are listed below
1. Log on to the Information design tool
2. Create new projects for universe conversion from unv to unx
3. Select the option called “convert .unv universe” in the file Menu
4. Import unv universe from the repository
5. Select the universe to convert into unx
6. Select the destination repository folder and destination local project details
6/3/2014 BI Platform | SCN
http://scn.sap.com/community/bi-platform/blog?start=105 3/42
7. Click on OK to start the convertion
8. create the universe connection and export the connection to repostiory (to convert into the secured connection )
and repoint secured connection into the unx universe.
9. Publish the universe connection to rep Change the universe connection to published secured universe
connection
6/3/2014 BI Platform | SCN
http://scn.sap.com/community/bi-platform/blog?start=105 4/42
10. Save the changes into the local project and export the universe into the repository
11. Create the sample report and verify the Unx universe.
12. Verified the universe prompt filter by generating the sample reports
603 View s 3 Comments Tags: bi4
Yesterday SAP’s Derek Wang and ASUG Volunteer Derek Loranca conducted this ASUG webcast “SAP
BusinessObjects BI Platform Influence Council Kick-off”
The purpose was to review the next iteration of council and what kind of platforms needed, and review the
requirements to join council.
This is the new round of the council, an open call for new members.
Figure 1: Source: SAP
Derek said this council will be the “Collective voice of the customer” and an opportunity for you to hear from your
peers.
Are you ready to influence SAP’s BI Platformsolution? In more than one way…
Posted by Tammy Powlas Jul 3, 2013
6/3/2014 BI Platform | SCN
http://scn.sap.com/community/bi-platform/blog?start=105 5/42
Figure 2: Source: SAP
The council topics are listed above in Figure 2.
Figure 3: Source: SAP
Derek Wang said the topics listed above in Figure 3 would not be covered by this ASUG BI Platform Influence council.
Figure 4: Source: SAP
Derek Wang said this council will meet every month or every two months.
This council is also meeting at SAP TechEd Las Vegas in October
6/3/2014 BI Platform | SCN
http://scn.sap.com/community/bi-platform/blog?start=105 6/42
Figure 5: Source: SAP
Figure 5 shows the participant profile with example roles.
Derek said you need to show up to the monthly meetings; if you cannot make it send someone else
To participate, complete the survey.
Question & Answer
Q: How long is enrollment open?
A: A few weeks
Q: How much experience?
A: If you haven’t logged on to the CMC you probably not a good fit for the council…
To join the ASUG BI Platform Influence Council, please complete this survey:
https://www.surveymonkey.com/s/bipic
Note you must be an ASUG member to join the Council.
Consider Customer Connect call for the BI Platform on July 17th
You are also invited to join the Customer Connect call for the BI Platform at 10:00 AM Eastern July 17th
ASUG membership is not required but you do need to be a member of an SAP User Group.
Invitation to Final Call for Customer Connection Focus Topic BusinessObjects BI Platform
Web Conference Link: https://sap.emea.pgiconnect.com/D023814
Participant Passcode: 650 786 4240
US and Canada 1-866-312-7353 tel:18663127353,,6507864240#
US and Canada 1-646-434-0499 tel:16464340499,,6507864240#
US and Canada 1-720-897-6637 tel:17208976637,,6507864240#
US and Canada 1-484-427-2544 tel:14844272544,,6507864240#
Also see attached .ics file for information to join and add it to your calendar.
For more information see Customer Connection for the BI BusinessObjects Platform - See how you can influence
SAP
Join us at SAP TechEd - ASUG Pre-Conference Session
SAP BusinessObjects BI 4.1 with SAP BW and ERP - Everything You Need in One Day (hands-on)
Full-Day Seminar
Monday, October 21, 8:30 a.m. – 5:00 p.m.
US$595 ASUG member; US$695 ASUG non-member
Abstract: In this workshop, you will learn how to use the new SAP BusinessObjects BI 4.1 suite products in
combination with SAP NetWeaver® BW and SAP NetWeaver BW on SAP HANA®. It will provide you with practical
oriented guidance and best practices that you can leverage right away at your own company. You will learn about
topics such as data connectivity for SAP ERP, SAP NetWeaver BW, and SAP NetWeaver BW on SAP HANA; user
management; data security; and portal integrations. You will get to experience the following products yourself:
6/3/2014 BI Platform | SCN
http://scn.sap.com/community/bi-platform/blog?start=105 7/42
• SAP BusinessObjects Analysis, edition for Microsoft Office v 1.4
• SAP BusinessObjects Analysis, edition for OLAP Edition 4.1
• SAP BusinessObjects Design Studio 1.1
• Web Intelligence 4.1
• SAP Lumira
• SAP BusinessObjects Explorer 4.1
• Crystal Reports® for Enterprise 4.1
• Mobile BI
All the products are based on the latest release of SAP BusinessObjects BI 4.1 in combination with SAP NetWeaver
BW and SAP NetWeaver BW on SAP HANA. Join SAP Mentor Ingo Hilgefort and ASUG Volunteers for this session.
Register today.
1951 View s 0 Comments Tags: sapteched, sapmentors, bi4, sapmentor, asug, bi_platform, asug_influence
SAP’s Kai Chan provided this webcast to ASUG during the past week. Starting in BI4.1 release life cycle
management is renamed to promotion management.
The usual product disclaimer applies that things are subject to change.
Agenda
Promotion Management Overview
New in 4.1
Performance and Limitations
Roadmap
Demo
Question & Answer
Promotion Management is an application that manages BI resources such as moving from one repository to another
Figure 1: Source: SAP
Figure 1 highlights three features:
Promotion management – manage resources from one BI system to another (same versions)
Version management – checking in objects to repository – manage various versions
Visual Difference – limited, able to look at and compare different versions of the same file in the system –
limited – only compare promotion management jobs. Future plans to compare web intelligence documents, etc
What is in BI4.1 Promotion Management - ASUGWebcast recap
Posted by Tammy Powlas Jun 30, 2013
6/3/2014 BI Platform | SCN
http://scn.sap.com/community/bi-platform/blog?start=105 8/42
Figure 2: Source: SAP
Figure 2 shows using Upgrade Manager to move from older system to new system
Kai said there are different behaviors between the tools – promotion management and upgrade manager.
Promotion management is only for similar versions with a manageable size and not to move entire system from one
to another. You move “small chunks” between the systems.
What is new in 4.1
New document support
Stability improvements
Delegated administration
Security patches
Figure 3: Source: SAP
Figure 3 lists the support for new document types. Support means when you are doing promotion, you make sure
dependencies are calculated, overrides are handled, and icons for the different document types are available on the
promotion management page.
6/3/2014 BI Platform | SCN
http://scn.sap.com/community/bi-platform/blog?start=105 9/42
Figure 4: Source: SAP
Figure 4 reviews the stability improvements in BI4.1, with fixes included.
Kai said they want a higher successful promotion rate; SAP realizes customers get frustrated and they want to see
them get a higher success rate
Kai said they added more automations to ensure the workflows and workflows should more seamless and more
stable.
Figure 5: Source: SAP
Kai said they complaints that promotion management only worked for administrators.
He said passwords need to be encrypted and promoting jobs that contain user passwords - such as the LCM BIAR
file gets encrypted and therefore special rights are needed for promotion – only administrators can encrypt & decrypt
Therefore they need delegated administrators to have access and this is highlighted in KBA listed in Figure 5.
He said they added the CUID of delegated admin group in the CMS start-up
Figure 6: Source: SAP
Figure 6 shows they found security issues in BI4
They do not want passwords to be seen
He said SP1 closes gaps so not seen as an issue
Passwords are not seen by end users but only those with access to the promotion tool and SDK
6/3/2014 BI Platform | SCN
http://scn.sap.com/community/bi-platform/blog?start=105 10/42
SSL support has been added to CTS+ which is an SAP lifecycle management tool
Performance and Limitations
Figure 7: Source: SAP
Figure 7 shows some of the performance limitations. Kai said jobs should not be over 100 due to way promotion
management is working.
Promotion management is a web application on TomCat
- Moving content from one system to another – building that job with the content selected
- Information that is getting moved from one system to the Web app server to the target system
Security dependency calculation in scenarios where you create a job, adding content to that job – live to live scenario
– create the job – not just jobs selected, but also security dependencies
Some suggested work arounds follow:
Use inside CMC – know what objects CLI (command line interface) – can create a script to generate the job –
bypass web application side -Run on a client machine – can move thousands of objects
Simplify security model on the source system
Roadmap
Figure 8: Source: SAP
Figure 8 shows the roadmap. In the middle SAP will look at adding Lumira as a document type.
6/3/2014 BI Platform | SCN
http://scn.sap.com/community/bi-platform/blog?start=105 11/42
P&R – upgrade management tool – only for older versions – has an internal flag – blocks you from going to same
versions – you may want to replicate the whole entire system – UMT is more robust to
He said for limitations you can use CLI (command line interface) too if you want to move a larger number of objects
Version management supports HTTP and they are looking at supporting HTTPS
Promotion validation
During upgrades, validation for customers – when do an upgrade, spend time validating
Promotion case – when move content to development to qualification – look at ideas on how to validate that
For large promotion jobs , they want to make sure customers are not blocked
Demo – command line interface
He demonstrated the command line interface, such as moving a folder to promote from dev to qual. He said the
steps to do this are documented in the SAP Help.
Question and Answer
Q: Visual Difference is just container at this moment and cannot compare Universe at this moment? Which version
they will plan to upgrade it to allow comparasion between Universe, Webi and Crystal?
A: Cannot be definite at this time; look at roadmap slide - past 4.1
______________________________________________________________
Q: If we need to move a *large* size content from 4.0 prod to 4.1 sandbox, can we use upgrade manager ?
Promotion management might not be robust enough.
A: Recognize need to work on - 3.x to 4 use UMT; 4.1 if want to use UMT - not supported
A: Supported in SP2
________________________________________________________________
Q: In 4.1 will it handle multi universe promotion without throwing false errors?
A: Yes it will handle this.
________________________________________________________________
Q: In 4.1 will you be able to promote more objects within a single job without session timeouts and other issues? Or
will we still need to manually break folders up among several jobs manually?
A: This is the case if you are dealing with jobs with a lot of jobs; consider Command Line Interface - see if that works.
________________________________________________________________
Q: Crystal Reports Database Configuration password and Business View Manager Database connection password
are able to migrate as well using promption management?
A: Yes, passwords are migrated. There are some limitations in BV, but I assume this should are work. If not, please
log it as defect.
________________________________________________________________
Q: Can LCM migrate/upgrade INSTANCES separate from the OBJECTS...? eg. Have LEGACY environment where
One Object might have 15,000+ child-INSTANCES. Can that volume of INSTANCES be broken into smaller-chunks
but still relate to the parent-OBJECT...?
A: Technically this is possible using the CommandLine Interface (CLI), where you can specify the query that selects a
subset of instances. 15k is such a large number. I suggest you wait for SP2 where you can use the UMT.
________________________________________________________________
Q: Does LCM/PM validate the byte-size of the PROMOTED report Objects and Instances - to ensure that the
PROMOTED files match 100% (ie. no "network" file corruption)..?
A: No it does not, but that's a good suggestion.
________________________________________________________________
Q: need a conifrmation: Design Studio documents are supported by promotion management 4.0 already ?
A: Yes design studio support was added back in 4.0 SP5.
________________________________________________________________
Q: Is it possible to have the same environments set up as a source and a targetin Promotion Management? For
example, usually move Test to Prod but sometimes need to move Prod to Test.
A: Promotion Mangement is installed by default and should be on both the source and target. So, you can do
promotion either way, and this is supported.
________________________________________________________________
Q: dynamic BIAR file schedule should pick up if the latest objects added to to the folder. is it possible ?
A: Unfortunate not if the job created specifically had those objects added. However, you can you the CLI to create
these jobs to achieve what you are looking for. The query for the CLI would look something like this:
"exportQuery1=SELECT * FROM CI_INFOOBJECTS,CI_APPOBJECTS,CI_SYSTEMOBJECTS WHERE
SI_PARENT_CUID = 'Aal4VuDEhu1CoNh_oz16occ', where the new objects reside in the folder whos CUID is
'Aal4VuDEhu1CoNh_oz16occ'.
________________________________________________________________
Q: Will the overrides be simplified and stablized?
A: It will be simplified when we do a UX redesign which is after SP2. It should be much more stablized now.
________________________________________________________________
Q: Is there a time line when 4.1 is going to come out?
A: I can only say it's Q3 2013
________________________________________________________________
Q: If Visual Difference is just a container at this time, what is the benefit of of running this service?
6/3/2014 BI Platform | SCN
http://scn.sap.com/community/bi-platform/blog?start=105 12/42
A: VD has a schedule element where you can the visual difference to be run at a later time. This allows you to do the
analysis at a later time.
________________________________________________________________
Q: Is there a clear method in LCM/PM to move the LEGACY BusinessViews that are required for Dynamic LOVs that
are needed for CR-2013 content..?
A: No not in LCM. This will have to be taken with the CR/BV product manager.
________________________________________________________________
Q: Will it ever be on the ROAD-MAP to develop a THICK-CLIENT tool to Manage big LCM/PM jobs...? (Capacity issues
appear to be related to the Web-based model).
A: The plan is to use the UMT as the Thick-client in the future.
Special thanks to Kai Chan for this webcast and answering all questions.
3193 View s 0 Comments
Tags: sapmentors, sapmentor, asug, crystal_reports, lcm, business_intelligence, bi_platform, design_studio,
promotion_management
Publication is a process that collects many reports (Crystal Reports or WebIntelligence + External Documents),
personalizes and distributes them to a mass audience. An overview of the publication functionality can be found in my
previous blog: Introduction into the SAP BusinessObject Intelligence Platform Publication
While publications are very powerful in itself; sometimes they still don’t provide all the functionality that our customers
are looking for. This is where publication extensions come into place. Publication extensions let you customize the
publication process by writing custom java code. For example, you can use a pre-delivery publication extension to
password protect your publication artifacts before delivery. Or you can use a post-delivery publication extension to
store the publication artifacts in an additional destination that is currently not supported by the BI platform.
There are two types of publication extensions:
Post-processing (pre-delivery) plugins, which allow you to add processing logic after publication contents have
been personalized.
Distribution complete (post-delivery) plugins, which allow you to add processing logic after publication contents
have been delivered.
In this blog I will give you an overview about the different types of publication extensions and how to create, deploy,
and invoke them programmatically. I will focus primarily on post-processing (pre-delivery) plugin as they are slightly
more powerful than distribution complete (post-delivery) plugins, but a lot of the concepts are similar.
Building and deploying custom post-processing (pre-delivery) publication
extensions
In order to build a publication extension, you must include pub_common.jar in your class path in addition to the
standard SAP BusinessObjects Business Intelligence platform SDK libraries. This file is located by default in
<Enterprise Dir>\java\lib . If you are creating a post-processing plugin and you are using the
PostProcessingPluginHelper class, then you have to also include pub_processing.jar in your class path. This library
is located in the same directory as the pub_common.jar.
A custom post-processing plugin consists of a Java class that implements the
com.businessobjects.publisher.postprocessing.IPublicationPostProcessingPlugin interface. This interface contains
two methods, which must be implemented by the plugin class:
Method Description
handle This method is invoked one time for each destination and scope. It must return an
IInfoObjects collection containing the artifacts created by the plugin that will be delivered to
the recipients associated with the current destination and scope. The parameter is a
com.businessobjects.publisher.postprocessing.IPublicationPostProcessingContext object,
which contains information about the context, including the current scope and destination,
and any parameters that were used to invoke the plugin.
getTargetDestinations This method must return a collection of
com.businessobjects.publisher.postprocessing.PluginTargetDestination representing the
destinations for which the plugin will be invoked.
The com.businessobjects.publisher.postprocessing.IPublicationPostProcessingContext contains information about
the context, including the current scope and destination, and any parameters that were used to invoke the plugin.
Below is a list of the methods that can be used in post-processing plugins.
Method Description
getAdminLogAdapter() This method returns a logger that can be used to log information during post-processing
Need additional functionality for publications? Whynot write your own custom publication extension?!
Posted by Christina Obry Jun 24, 2013
6/3/2014 BI Platform | SCN
http://scn.sap.com/community/bi-platform/blog?start=105 13/42
getDestination() This method returns the current destination.
getDocuments() This method returns the static documents and schedulable document artifacts for the
current scope and destination.
getEnterpriseSession() This method returns the session associated with the current user.
getInfoStore() This method returns an InfoStore object that can be used to query the BusinessObjects
Enterprise repository.
getOptions() This method returns the generic parameter value, that was passed in through the CMC
UI.
getPluginArtifacts() This method returns all artifacts that have been generated during the publishing
process.
getPublication() This method returns the publication that invoked this plugin.
getScopeFilter(IInfoObject
doc)
This method returns IScopeFilter object that can be used to obtain personalization
information
getScopeID() This method returns the ID of the current scope.
getTempDirectory() This method returns the path of the directory on the processing server that is used by
BusinessObjects Enterprise for storing temporary files.
The com.businessobjects.publisher.postprocessing.PostProcessingPluginHelper provides several static methods
that can be used in post-processing plugins. For example, to add new artifacts, use createInfoObject method. The
following code creates a text file info object.
ITxt textInfoObject = (ITxt) PostProcessingPluginHelper.createInfoObject(context, ITxt.PROGID, "text/plain", null, null);
For detailed information on IPublicationPostProcessingPlugin, IPublicationPostProcessingContext,
PluginTargetDestination, and PostProcessingPluginHelper, see the SAP BusinessObjects Business Intelligence
Platform Java API Reference .
An example publication extension is posted at this blog post: Sample Publication Extension: Deliver shortcut to a
BI platform folder based on personalization . This post processing publication extension creates a shortcut of the
publication artifact in a folder based on the personalization. For example if you personalize on Country and have a
folder for USA and Canada, then a shortcut for the publication artifact filtered to USA will be created in a USA folder,
and a shortcut for the Canada document will be created in a Canada folder.
After the publication extension is built into a jar file, it needs to be deployed in the publication extensions directory. The
default location of this directory is <Enterprise Dir>\java\lib \publishingPlugins. Once the extension was added, you
have to restart the Adaptive Processing Server.
Adding a publication extensions to a publication
A publication extension can be added to a publication either programmatically or from the Central Management
Console (CMC). The BI launch pad application does not allow you to specify publication extensions for a publication
through the UI.
At this point it is assumed that you have already deployed the publication extension as described above on all
computers that run the Adaptive Processing Server.
Below are the steps to add a publication extension via the CMC:
1. Double-click a publication to open it. The "Properties" dialog box appears.
2. Expand Additional Options, and click Publication Extension.
3. In the Publication Extension Name box, type a name for the extension.
4. In the Class Name box, type the fully qualified class name for the extension.
5. (Optional) In the Parameter box, type a serialized string that your extension requires. What the parameter is
would depend on how the extension was designed.
6. To use the extension after processing but before delivery, above the Before Publication Delivery list, click the
Add button. The extension is added to the Before Publication Delivery list.
7. To use the extension after delivery, above the After Publication Delivery list, click the Add button. The extension
is added to the After Publication Delivery list.
8. Click Save.
9. Repeat steps 2 to 8 for each extension you want to add.
To define the order in which to execute publication extensions, click Move Up or Move Down under the Before
Publication Delivery list or the After Publication Delivery list.
6/3/2014 BI Platform | SCN
http://scn.sap.com/community/bi-platform/blog?start=105 14/42
2576 View s 10 Comments
Tags: bi4, business_intelligence, bi_platform, publication, bi3.1, publication_extension,
sap_businessobjects_business_intelligence_platform_4.0
Publication extensions let you customize the publication process by writing custom code that can be injected either
post processing or post delivery of the publication. An introduction in publication extension can be found in this
blog post.
This is a post processing publication extension that delivers a shortcut of the publication artifact to a BI platform folder
based on personalization. For example if you personalize on Country field and have a folder USA and Canada, then a
shortcut for the publication artifact filtered to USA will be created in a USA folder, and a shortcut for the Canada
document will be created in a Canada folder. Note: this extension is rather an example of how to use publication
extensions. You can download a zip file containing the publication extension jar file from here. It was complied based
on BI 4.0 SP5, if you want to use it on a 3.1 system you need to recompile the java code using a 32bit java version.
The extension has a few pre-requirements:
A folder with the personalization has to exist on the BI platform
You need to have at least one other destination other than default destination selected in order to have the
publication extension executed.
On the BOE server you need to have a C:\PubDemo\logs\ folder. If this folder is not there then the publication will
fail as this is a hardcoded value.
The publication extension jar file need to be added in the BOE server in the following directory <Enterprise Dir>
\java\lib\publishingPlugins. SIA has to be restarted after dropping the jar file.
Below is the source code as example. I have been out of development for a few years, so please excuse if it is not the
best piece of code. At the bottom of this blog you can also find an example scenario for a publication that uses this
extension.
package com.businessobjects.publishing.processing.plugin.example;
import java.io.FileWriter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import com.businessobjects.publisher.common.IFilterClause;
import com.businessobjects.publisher.common.IPersonalizationEntry;
import com.businessobjects.publisher.common.IScopeFilter;
import com.businessobjects.publisher.common.IScopeUserInfo;
import com.businessobjects.publisher.postprocessing.IPublicationPostProcessingContext;
import com.businessobjects.publisher.postprocessing.IPublicationPostProcessingPlugin;
Sample Publication Extension: Deliver shortcut to a BIplatform folder based on personalization
Posted by Christina Obry Jun 24, 2013
6/3/2014 BI Platform | SCN
http://scn.sap.com/community/bi-platform/blog?start=105 15/42
import com.businessobjects.publisher.postprocessing.PluginTargetDestination;
import com.crystaldecisions.sdk.occa.infostore.IDestinationPluginArtifactFormat;
import com.crystaldecisions.sdk.occa.infostore.IInfoObject;
import com.crystaldecisions.sdk.occa.infostore.IInfoObjects;
import com.crystaldecisions.sdk.occa.infostore.IInfoStore;
import com.crystaldecisions.sdk.plugin.CeProgID;
import com.crystaldecisions.sdk.plugin.desktop.common.IPersonalizationVariableMapping;
import com.crystaldecisions.sdk.plugin.desktop.common.IPersonalizationVariableValue;
import com.crystaldecisions.sdk.plugin.desktop.shortcut.IShortcut;
import com.crystaldecisions.sdk.occa.infostore.CePropertyID;
import com.crystaldecisions.sdk.occa.pluginmgr.IPluginMgr;
import com.crystaldecisions.sdk.occa.pluginmgr.IPluginInfo;
public class CopyShortCutToBoeFolderPlugin implements IPublicationPostProcessingPlugin {
IInfoStore m_infoStore = null;
/**
* <p>
* Returns the collection of destinations to which artifacts from this plugin are
sent (if those destinations
* are enabled for the publication). All supported destinations must be added to the
collection.
* If this method returns null or the collection is empty, then the target
destinations must
* be configured using either
* @return Collection containing the {@link PluginTargetDestination} objects.
* @throws Exception This is thrown if the operation does not complete successfully.
*/
public Collection getTargetDestinations() throws Exception {
PluginTargetDestination inboxDestination =
new PluginTargetDestination(CeProgID.MANAGED_DEST,
IDestinationPluginArtifactFormat.CeDistributionMode.FILTER_EXCLUDE_SOURCE_DOCUMENTS);
PluginTargetDestination smtpDestination =
new PluginTargetDestination(CeProgID.SMTP,
IDestinationPluginArtifactFormat.CeDistributionMode.FILTER_EXCLUDE_SOURCE_DOCUMENTS);
PluginTargetDestination diskDestination =
new PluginTargetDestination(CeProgID.DISKUNMANAGED,
IDestinationPluginArtifactFormat.CeDistributionMode.FILTER_EXCLUDE_SOURCE_DOCUMENTS);
PluginTargetDestination ftpDestination =
new PluginTargetDestination(CeProgID.FTP,
IDestinationPluginArtifactFormat.CeDistributionMode.FILTER_EXCLUDE_SOURCE_DOCUMENTS);
PluginTargetDestination[] destinations = { inboxDestination, smtpDestination,
diskDestination, ftpDestination };
return Arrays.asList(destinations);
}
/**
* <p>
* This method is invoked after the publishing engine has finished personalizing
* the publication for a particular destination and scope. It must return an
* <code>IInfoObjects</code> collection containing all the artifacts created by the
* plugin that will be delivered to the recipients associated with the current
* destination and scope.
* </p>
* @param context An object containing contextual information, including the
* current session, the scope, and the destination.
* @return <code>IInfoObjects</code> collection containing the artifacts generated by
this plugin.
* @throws Exception This is thrown if the operation does not complete successfully.
*/
public IInfoObjects handle(IPublicationPostProcessingContext context) throws
Exception {
FileWriter outFile = new FileWriter("C:\\PubDemo\\logs\\Publication Post Processing
6/3/2014 BI Platform | SCN
http://scn.sap.com/community/bi-platform/blog?start=105 16/42
" + context.getPublication().getTitle() + " " + System.currentTimeMillis()+".log");
// get the static documents and schedulable document artifacts
// for the current scope and destination.
ArrayList docs = context.getDocuments();
Iterator docIt = docs.iterator();
m_infoStore = context.getInfoStore();
IInfoObjects objs = m_infoStore.newInfoObjectCollection();
while (docIt.hasNext()) {
IInfoObject obj = (IInfoObject)docIt.next();
String newFileName = obj.getTitle();
//get the IScopeFilter for the current document, the IScopeFilter interface can
be used to obtain personalization information
IScopeFilter scopeFilter = context.getScopeFilter(obj);
outFile.write("Scope ID = " + scopeFilter.getScopeID() + " for " +
obj.getTitle() + "\n");
outFile.write("\tUsers listed in this scope:\n");
// retrieve the user information from for this scope
List userInfos = scopeFilter.getScopeUserInfos();
Iterator userInfoIt = userInfos.iterator();
while (userInfoIt.hasNext()) {
IScopeUserInfo userInfo = (IScopeUserInfo)userInfoIt.next();
outFile.write("\t\t Enterprise User ID: " +
userInfo.getEnterpriseUserID() +
" \n \t\t User Name: " + userInfo.getUserName() +
" \n \t\t User Full Name: " +userInfo.getUserFullName() +
" \n \t\t User Email Address: " + userInfo.getUserEmailAddress() +
"\n \n");
}
// retrieve the root of the tree of logical clauses
// the FilterClause can either be a leaf clause (with no sub-clauses) or a
non-leaf clause (with sub-clauses)
IFilterClause rootClause = scopeFilter.getRootClause();
//get the string of all personalization for this scope
String personalizationString = getPersonlizationString(rootClause);
outFile.write("\tFilterClause: " + personalizationString + "\n");
//rename the artifacts to include the personalization values
if (personalizationString.length() == 0)
newFileName = newFileName + " No personalization " ;
else
newFileName = newFileName + " " + personalizationString ;
//retrieving the folder ID, for now it is assumed that the name of the
persoanlization variable was passed
//into the extension and is stored as string in the options
String variable = context.getOptions().toString();
int folderID = getFolderID(rootClause, variable);
if (folderID != -1){
outFile.write("Copying " + newFileName + " to folder with ID" + folderID +
"\n");
// create the actual short cut
createShortCut(obj, folderID, newFileName);
}else {
outFile.write("FolderID = -1");
}
objs.add(obj);
}
outFile.close();
return objs;
}
6/3/2014 BI Platform | SCN
http://scn.sap.com/community/bi-platform/blog?start=105 17/42
/**
* This method will create the shortcut
* @param artifact publication infoboject for which a shortcut shall be created
* @param parentID ID of the folder in which to place the short cut
* @param fileName name of the short cut object
* @throws Exception
*/
private void createShortCut(IInfoObject artifact, int parentID, String fileName)
throws Exception{
//Retrieve the PluginMgr object.
IPluginMgr oPluginMgr = m_infoStore.getPluginMgr();
//Use the PluginManager to retrieve the Shortcut plugin, which is needed to
//create a new shortcut.
IPluginInfo oPluginInfoNewShortcut =
oPluginMgr.getPluginInfo("CrystalEnterprise.Shortcut");
//Create a new InfoObjects collection to add the new shortcut to
IInfoObjects oInfoObjects = m_infoStore.newInfoObjectCollection();
//Add the newly created shortcut plugin to the oInfoObjects collection. This will
create
//a new InfoObject based on the type of plugin passed in.
oInfoObjects.add(oPluginInfoNewShortcut);
//Retrieve the newly created shortcut InfoObject and set its properties
IShortcut oShortcut = (IShortcut)oInfoObjects.get(0);
//Specify the report to create the shortcut for
oShortcut.setTargetID(artifact.getID());
//Set the location of the shortcut
oShortcut.properties().setProperty(CePropertyID.SI_PARENTID, parentID);
oShortcut.setTitle("ShortCut: " + fileName);
//Commit the changes to the CMS using the commit method. This adds the report
shortcut.
m_infoStore.commit(oInfoObjects);
}
/**
* This method retrieves the the folder id for the short cut
* @param clause filter clause
* @param variable persoanlization variable that the publication was filtered on
* @return Folder ID (-1 if folder does not exists)
* @throws Exception
*/
private int getFolderID(IFilterClause clause, String variable) throws Exception{
int folderID = -1;
//retrieve the personalization value for the given variable
String folderName = getPersonlizationValue(clause, variable);
String queryString = "Select SI_ID from ci_infoobjects where SI_NAME ='" +
folderName +"' and SI_KIND='Folder'";
// Query the CMS for the folder.
IInfoObjects folders = m_infoStore.query(queryString);
if (folders.size() == 0)
{
// The query returned a blank collection (no object found).
return folderID;
}
IInfoObject folderObj = (IInfoObject) folders.get(0);
folderID = folderObj.getID();
return folderID;
}
/**
* This method retieves the personalization value for the given variable (e.g. Canada
for variable country)
6/3/2014 BI Platform | SCN
http://scn.sap.com/community/bi-platform/blog?start=105 18/42
* @param clause filter clause
* @param variable persoanlization variable that the publication was filtered on
* @return personalization value
* @throws Exception
*/
private String getPersonlizationValue(IFilterClause clause, String variable) throws
Exception{
String vValue = "";
//navigate through the filter tree to find the personalization value
if (clause.getClauseType() == IFilterClause.ClauseType.LEAF) {
IPersonalizationEntry entry = clause.getEntry();
IPersonalizationVariableMapping mapping = entry.getVariableMapping();
String vName = mapping.getVariableName();
//check whether variable matched what we're looking for
if(vName.equals(variable)){
IPersonalizationVariableValue value=entry.getVariableValue();
if (value.getValueType() ==
IPersonalizationVariableValue.CeVariableValueType.FilterExpression)
vValue=value.getExpression();
else if
(value.getValueType()==IPersonalizationVariableValue.CeVariableValueType.ObjectValue)
{
Object object=value.getObjectValue();
vValue=object.toString();
}
else
{
vValue = "UNKNOWN value type!";
}
return vValue;
}
} else {
//if not a leaf go down further
Iterator subClausesIt = clause.getSubClauses().iterator();
while (subClausesIt.hasNext()) {
IFilterClause subClause = (IFilterClause)subClausesIt.next();
vValue = getPersonlizationValue(subClause, variable);
}
}
return vValue;
}
/**
* This method gets the string of all personalization for this scope
* @param clause filter clause
* @return string of all personalization for this scope
*/
private String getPersonlizationString(IFilterClause clause) {
if (clause.getClauseType() == IFilterClause.ClauseType.LEAF) {
IPersonalizationEntry entry = clause.getEntry();
IPersonalizationVariableMapping mapping = entry.getVariableMapping();
String vName = mapping.getVariableName();
String vValue = "";
IPersonalizationVariableValue value=entry.getVariableValue();
if (value.getValueType() ==
IPersonalizationVariableValue.CeVariableValueType.FilterExpression)
vValue=value.getExpression();
else if
(value.getValueType()==IPersonalizationVariableValue.CeVariableValueType.ObjectValue)
{
Object object=value.getObjectValue();
vValue=object.toString();
}
else
{
vValue = "UNKNOWN value type!";
}
6/3/2014 BI Platform | SCN
http://scn.sap.com/community/bi-platform/blog?start=105 19/42
return vName + " = " + vValue;
} else {
String joinString;
String result = "";
if (clause.getClauseType() == IFilterClause.ClauseType.AND)
joinString = "AND";
else if (clause.getClauseType() == IFilterClause.ClauseType.OR)
joinString = "OR";
else
joinString = "UNKNOWN";
Iterator subClausesIt = clause.getSubClauses().iterator();
while (subClausesIt.hasNext()) {
IFilterClause subClause = (IFilterClause)subClausesIt.next();
String subClauseStr = getPersonlizationString(subClause);
if (subClause.getClauseType() != IFilterClause.ClauseType.LEAF)
subClauseStr = "(" + subClauseStr + ")";
if (result.length() > 0)
result += " " + joinString + " ";
result += subClauseStr;
}
return result;
}
}
}
Example scenario:
Create the following artifacts:
User/User Groups:
Canadian User Group
Joanne
American User Group
Glenda
Jane
Does not belong to a group
Is not part of the publication
Country Profile
Canadian User Group - Country = Canada
American User Group - Country = USA
“Publication Demo” folder
Publication folder
Any CR or WebI report that can be filtered by country
Publication
Uses above CR or WebI report as source document
Recipients
Canadian User Group
American User Group
Personalization on Country field to Country profile
BI Inbox destination
Uses Post Processing Publication Extension with following settings:
Publication Extension Name: CopyToBoeFolderPlugin
Class Name:
com.businessobjects.publishing.processing.plugin.example.CopyToBoeFolderPlugin
Parameter: {Customer.Country}
I designed the extension so that you need to specify which personalization field shall
be used to determine which folder to deliver the copy to, this is in case you
personalize on country as well as region
For some reason CR uses curly brackets for report fields so they need to be
specified as well, one could make the extension more user friendly
Canada folder
This is where the artifacts for Canadian User Group will be delivered to
Canadian User Group has full control
American User Group has no access
USA folder
This is where the artifacts for American User Group will be delivered to
6/3/2014 BI Platform | SCN
http://scn.sap.com/community/bi-platform/blog?start=105 20/42
American User Group has full control
Canadian User Group has no access
Scenario:
1. Logon as Administrator and Schedule the publication
2. Logon as Glenda
1. navigate to the USA folder
2. open the USA report
3. note Glenda is not able to see the Canada Folder or the Publication folder
3. Repeat step 2 for Joanne and the Canada folder
4. Logon as Jane
1. See that Jane has no view rights to anything
5. Logon as Administrator
6. Add Jane to the Canadian user group
7. Logon as Jane
8. Navigate to the Canada folder and see old artifacts of the publication
2211 View s 0 Comments
Tags: business_intelligence, bi_platform, publication, publication_extension,
sap_businessobjects_business_intelligence_platform_4.0
In previous versions of SAP BusinessObjects the search functionality was basic, with BI4.0 a higher level of search
has been introduced, an application in itself with the name of Platform Search.
I am often asked what is the best configuration for Platform Search, the answer is not as simple as it seems,
because this feature is extremely powerful and flexible, that needs to be adjusted according to each installation's
business needs.
With this page I will try to provide some personal insights that can give a better understanding of the capabilities of
this powerful feature.
Within Platform Search is possible to leverage the levels, type of content and the modality of indexing.
Levels of Indexing:
as from BI4.0 there are three levels of content indexing for the search functionality of BI Platform
They are configured in the CMC > Applications > Platform Search Application > properties
- Platform Metadata: only titles, keywords and descriptions of the documents
- Platform and Document Metadata : indexes Platform Metadata plus creation/modification dates, name of the author
- Full Content (default): same as Platform and Document Metadata plus all the content in the document, including
prompts and LOVs, as well as Charts, Graphs, Labels.
Types of Objects:
the BI Administrator can also set the types of objects that can be indexed, both BI Content and agnostic documents
(any non-SAP BI Platform object, including MS Office documents of any kind, PDF, text, etc.)
When the Full Content is selected, the Platform Search service, that is hosted in the Adaptive Processing Server, will
index every object that that is published to the BI Platform. This indexing process is called crawling.
If the universe indexing is selected, when a universe is published the objects it contains are parsed (tested against
the database), when this happens you may see activity in the reporting database, SQL statements are being run
apparently by no apparent user, they are actually being sent by the BI Platform. (see KBA 1625939 - Ghost queries
are run to the reporting database from BO server)
As a consequence, when a consistent number of content is published to the BI Platform, one may experience a high
load on the reporting database, to not mention network traffic between the BI servers and the reporting database and
the Platform Search database, which can result in performance and/or availability issues.
(You may also experience high memory and/or cpu usage by the processing servers that are used by Platform Search
to validate the objects)
The solution in that case would be to schedule the crawling so that indexing can be done when times when there is a
lower usage of the resources, taking into account also availability for scheduled jobs.
To configure the scheduling there are two steps:
1. In the CMC > Applications > Platform Search Application properties page, select Scheduled Crawling
then Save and Close
2. Go to the CMC > Folders > Platform Search Scheduling Object
in the properties page it is possible to specify the desired settings
What is the optimal configuration for Platform Searchin BI4.x?
Posted by Simone Caneparo Jun 21, 2013
6/3/2014 BI Platform | SCN
http://scn.sap.com/community/bi-platform/blog?start=105 21/42
In conclusion, the Platform Search application is extremely useful, and should be configured according to the
business needs, after analysis and planning.
If the BI Platform has a lot of content and there is the need to have a high level of indexing, the suggestion is to use
scheduled crawling.
On the other hand, if there is no need of searching throughout all content, it is preferable to tune the settings, so that
the indexing affects only the level and type of content that is an acceptable compromise between performance and
search capabilities.
3951 View s 2 Comments
Tags: bi, bi4, analytics, 4.0, bi4.0, bi4_upgrade, business_intelligence, bi_platform, platform_search
In this blog post I will describe some best practices with regards to Data Storage and Schema, Security, Managment,
Operations and Customization for shared services deployments. A shared service deployment is characteristic by
multiple business units accessing the same BI platform, sharing the software as well as physical hardware, yet
being isolated from each other. The principals of share service deployments are the same as for multitenancy
deployments; in this blog I use the terms interchangeably.
Data Storage and Schema
The BI Platform enables different deployment models, which can be exemplified in three common models. Of course
mixed models or variations are possible, but to simplify I focus on these 3.
1. Separate database with distinct semantic layer
In this deployment model, each business unit’s data is stored in a separate database, and the schemas
of the business unit may have variations that call for different universes among business units. Often the
database schemas and the universes are customizations or extensions of a generic model.
Things to consider when using a model involving multiple databases with a distinct semantic layer:
This model has strong data isolation, as in the model involving multiple databases with a shared
semantic layer.
The data security model is simplest among the three models.
This model offers more flexibility in database and universe design.
The operation and maintenance cost is the highest among the three models.
This model has the least sharing of resources and is typically the most costly.
It is challenging to support aggregated metrics for peer comparisons.
Best Practices for BI 4.x Shared Service Deployments
Posted by Christina Obry Jun 18, 2013
6/3/2014 BI Platform | SCN
http://scn.sap.com/community/bi-platform/blog?start=105 22/42
2. Separate database with shared semantic layer
In this deployment model, each business unit’s data is stored in a separate database and, because the
schema of each business unit’s database is virtually the same, a single universe can be shared among
the business units
Things to consider when using a model involving multiple databases with a shared semantic layer:
This model has stronger data isolation than the shared-database model and may sometimes
be required for regulatory reasons.
The database design and security model may be simpler than the shared-database model.
Operation and maintenance of BI content in the SAP BusinessObjects BI platform is still
simple, similar to that of the shared-database model.
This model shares fewer resources than the shared-database model and is typically more
costly.
With this model, it is more difficult to support aggregated metrics for peer comparisons
3. Shared database and semantic layer
In this deployment model, data for all business units is stored in a single database. Semantic layers built
on top of the database are shared among the business unit
Things to consider when using the shared-database model:
This model maximizes sharing of resources and typically has the best economy of scale.
Operation and maintenance of BI content in the SAP BusinessObjects BI platform is simpler.
Database security can be more complicated than other models.
Variation of data structure among tenants is limited.
With this model, it is easy to support aggregated metrics for peer comparison.
6/3/2014 BI Platform | SCN
http://scn.sap.com/community/bi-platform/blog?start=105 23/42
When you are considering data security and data access is the most important consideration in the design of a
shares service deployment. The technique to achieve user-level data filtering is also influenced by the deployment
model.
For the shared database and semantic layer deployment models, one can use the following 2 options:
Universe restriction for row access:
In this approach, data filtering is achieved by using universe row-access restriction. The list of users or user
groups and their corresponding row access restriction are defined inside the universe.
Useridentity pass-through for database server side filtering
In the SAP BusinessObjects BI platform, database-level security can be achieved by using the enable database
credentials feature of the user management function in the SAP BusinessObjects BI platform (aka DBUSER and
DBPASS variables). This feature associates a database user name–password pair with each user account in
the platform. When the universe connection is set to use the authentication mode Use BusinessObjects
credential mapping, it will take the DBUSER and DBPASS values from the user information and pass them to
the database at runtime
For the separate database with shared semantic layer, one can use the following 2 options:
Table switching by universe restriction
Here you put data for different business units into different tables. Inside the universe, access restriction of type
“alternative table” can be applied to users or user groups, ensuring that the business unit’s specific table
issued at runtime in place of a generic table. While this approach has stronger data isolation than the row-
access restriction technique, it requires more maintenance overhead on both the database side and the
universe side.
6/3/2014 BI Platform | SCN
http://scn.sap.com/community/bi-platform/blog?start=105 24/42
Connection switching by universe restriction:
In this approach, you create one universe connection object for each business unit. Within the universe, apply an
access restriction of type Connection to the user group for the business unit and select the corresponding
connection object for the access restriction.
Alternatively you can create a dynamic query via Universe variable on custom attribute. This feature
was added in the BI 4.0 SP4 release. It provides the capability to define some attributes in the CMC
that will be attached to each individual user. These attributes are then exposed in the Semantic
Layer and can be used to filter business unit’s specific data. A more detailed overview can be found
in the User Attribute Mapping in BI4 - in depth blog.
Security Next I’ll go into best practices regarding managing security for multiple tenants.
It is advisable that business units each have their own user groups in the SAP BI platform. This will help simplify the
authorization management in the shared SAP BI platform and will make applying it to the semantic layer more
effective and easier to manage. For BI content management, the same advice applies: each business unit should
have its own public folder for storing its BI documents.
Create Authorization controlled by Access Control List (ACL) for your business units. The access control setting
specifies who can carry out operation on specific content. While powerful access control technology in the SAP BI
platform allows many variations and complexity, the security setting can be simplified and easily managed if user
group and folder structures are adopted.
Managment When it comes to managing different business units, you may want to consider having a standard structure for each
business unit in order to lower administration cost. If business units in a shares service deployment have structural
similarity, such as same folder structure, same user group structure, similar reports and so on, then you can save
administrating cost when onboarding a new business unit. For this you can take advantage of the Tenant
Provisioning Tool to automate on-boarding process. This feature was introduced in BI 4.0 SP4. The tool focuses on
business units onboarding and BI
contents management. Its goal is to reduce manual work by enable automation without lot of low level programming
allowing, hence saving time and making the onboarding process less prone to human mistake. More information can
be found in Overview of SAP BI 4.x Multitenancy Management Tool
6/3/2014 BI Platform | SCN
http://scn.sap.com/community/bi-platform/blog?start=105 25/42
An additional feature in the BI4.1 release is that business units which were onboarded via the onboarding command
line tool are now visible in a new Multitenancy tab in the CMC. In this tab you the ability to change business unit’s
properties such as name, concurrent user limit and associated user
groups. The concurrent user limit ensures service availability by limiting the number of concurrent users that a
business unit can logon at a given time. Once
the business unit's limit has been reached no further users of this business unit will be able to log on until another
business unit’s user has logged out.
Once business units were onboarded using the above Onboarding tool, you can use the tenant auditing feature,
which was introduced in BI 4.1. It allows to measure the usage of the system by the users of each business unit (for
example, for billing purposes). For this feature enable and configure auditing events that you are interested it. Then in
order to determine which auditing event is generated by which business unit/tenant use 2 new lookup tables in the
auditing database: ADS_TENANT and ADS_USER
Administration effort of a shared service environment may be very large and may exceed the resources of a single
administrator. A system administrator who wants to focus only on high-priority tasks can create delegated
administrators and assign a subsets of management tasks to them (for example, the administration of a department
or tenant content in case of BI platform as part of a SaaS application). Delegated administrators perform a limited set
of tasks and have fewer rights on objects in the system. To improve user experience and workflow, a system
administrator may hide any of the CMC tabs that a delegated administrator (or a principal) is not expected to use.
Additional information can be found at Delegated administration in SAP BI 4.0 SP4
Operations The hot backup feature, which was introduced in BI 4.0 SP4, allows you to back up your Business Intelligence
platform system while continuing to allow users to use the system normally, this is important in a shared service
deployment as service availability is crucial.
Using LCM you can archive and restore a subset of the BOE content, which can be used to archive a particular
business unit’s data.
Additionally you can use system monitoring to ensure system health and to take proactive action. You can create
custom defined condition and alerting for each business unit or create custom probe to check specific BI content or
operation.
6/3/2014 BI Platform | SCN
http://scn.sap.com/community/bi-platform/blog?start=105 26/42
Customization With different business units accessing the system there is often a need to customize the BI platform per business
unit. Starting with 4.0 you can customize the landing page of BI launch pad by creating a custom BI workspace, an
administrator can customize the homepage for a particular business unit’s user group or can also set the landing
page to a particular business unit’s folder. For more information on this please see Tutorial: How to customize BI
launch pad home page
2344 View s 1 Comments
Tags: business_intelligence, bi_platform, sharedservices, multitenancy,
sap_businessobjects_business_intelligence_platform_4.0
A key desirable system characteristic of SaaS systems is multi-tenancy, which refers to hosting multiple virtually
independent customers in a single shared infrastructure in a cost effective manner.
Multi-tenant deployments can be created since BOE XI 3.1, but the effort to operate such systems had a very high total
cost of ownership. In many multi-tenant SaaS systems, each tenant is set up in the same way, or using a common
base with slight customization. Hence the operation cost can be minimized by standardization and sharing of
technical objects.
In BI4.0 SP4 a command line tenant onboarding was introduced to streamline and automate common operations
pertaining to multi-tenant BI System. The tool focuses on tenant onboarding and BI contents management. Its goal is
to reduce manual work by enabling automation without lot of low level programming, hence saving time and making
the onboarding process less prone to human mistake.
As mentioned above tenants in a multi-tenants system have structural similarity. A tenant template can serve as
model to manage tenants in a well defined and repeatable manner. The following objects and structural elements
make up a tenant template
User Groups
Folders
BI Documents
Universes
Connections
Security Setting
In order to use the onboarding tool you need to set up a tenant template using standard tools such as the Central
Management Console (CMC), Report designers, Universe designer, ect. Once the template has been set up you run
the command line tool to add a new tenant.
The operations that can be automated by the tenant provisioning tool are:
Creating user groups
Creating folders
Overview of SAP BI 4.x Multitenancy ManagementTool
Posted by Christina Obry Jun 18, 2013
6/3/2014 BI Platform | SCN
http://scn.sap.com/community/bi-platform/blog?start=105 27/42
Setting ACL (Access Control List) on folders
Copying documents and universes from template folder to individual tenant folder
Adding universe restrictions for UNV (as of BI 4.0 SP4) and single source UNX (as of BI4.1)
Creating connections
As mentioned above one has to create a tenant template first. The template consists of user groups, folders, ACLs,
reports, universes, connections and so on. A tenant template token (e.g. $Tenant_Template$) should be used as
prefix for at least tenant root folders and root user groups. The token can be any string, but it has to be consistent for
the entire template. At onboarding time when creating tenant specific objects, this tenant template token will be
replaced with the tenant name. Each template folder may contains a number of documents. Note the template token
is only required for the root folders. Your tenant template should contain template user groups. Best practice is to
have one root tenant template user group which includes the tenant template token as prefix. Do not include users in
your tenant template as otherwise these will automatically become tenant users as well!
6/3/2014 BI Platform | SCN
http://scn.sap.com/community/bi-platform/blog?start=105 28/42
Before running the onboarding tool, you need to write a tenant template definition file. The tenant template definition
file describes the location of tenant template, and specifies run time options such as tenant name, which folders
belong to the tenant, what are the new database connections that the tenant is using and so on. The
<EnterpriseDir>\java\apps\multitenancyManager\jars folder contains a sample definition file, that explains the different
options. It is recommended to have one definition file per tenant.
Next you run the tenant provisioning tool in the command prompt; -jar multitenancymanager.jar –configFile
tenant_template_def.properties
6/3/2014 BI Platform | SCN
http://scn.sap.com/community/bi-platform/blog?start=105 29/42
When running the tool it will create all the content that you set up in the definition file.
After running the tool you can view the tenant’s content in the CMC. In the image below you see that CompanyABC
content was created. Note that the tenant template token $Tenant_Template$ was used to identify the template and
for the new tenant’s content the token was replaced with the tenant’s name CompanyABC
6/3/2014 BI Platform | SCN
http://scn.sap.com/community/bi-platform/blog?start=105 30/42
After a tenant is created, the template content (documents, universe, connection) can still undergo changes. For
example, if new stock BI documents are made available to tenants, or changes are made to stock BI documents or
universe. Rerunning the command line tool with the same tenant definition file will provision the tenant and make the
changes available to the tenant. The tool, however, does not handle the situation where a content copied to the tenant
is modified by the tenant itself as well as by the central provider. In this case the tool would not attempt any merging of
changes from two paths.
An additional feature in the BI4.1 release is that Tenants which were onboarded via the tenant onboarding command
line tool are now visible in a new Multitenancy tab in the CMC. If you onboarded the tenant with BI4.0 SP4 then you
need to rerun the tool on the BI4.1 again before you can see the tenant in the Multitenancy tab.
In 4.1. you also have the ability to change tenant properties such as tenant name, concurrent user limit and
associated user groups.
6/3/2014 BI Platform | SCN
http://scn.sap.com/community/bi-platform/blog?start=105 31/42
From the Multitenancy tab you also have the option to delete a tenant and its entire associate objects with the option to
excuse certain objects.
The last feature added in BI 4.1 is that in the user/user group tab you will also be able to see which user or user
group belongs to which tenant.
More infromation can be found in the Business Intelligence Platform Multitenancy Guide
General best practices for multitenancy and shared services can be found in my Best Practices for BI 4.x Shared
Service Deployments blog post.
6/3/2014 BI Platform | SCN
http://scn.sap.com/community/bi-platform/blog?start=105 32/42
4431 View s 4 Comments
Tags: business_intelligence, bi_platform, multi-tenancy, sap_businessobjects_business_intelligence_platform_4.0
Hi Community,
this is my first blog post that is created because of this question: http://scn.sap.com/message/14125897
The Question in an overview should be: Is it possible to jump from a dashboard to another report with filtering it
directly? - Yes it is and I will explain in a short post how you can solve this requirement. I will explain it only for a
dashboard that filters something to jump to a web intelligence report but it is also possible to jump to a dashboard, a
crystal report or a design studio application or something else.
What you need:
You should know how opendocument hyperlinks work
(http://help.sap.com/businessobject/product_guides/boexir4/en/xi4_opendocument_en.pdf)
Step-by-step:
1. Create a dashboard with the components you need. Create also a webi report because you need the
opendocument link for that report in your dashboard.
2. Insert your filtering components like dropdowns or checkboxes for example (screenshot 01)
screenshot 01: Dashboard example with two filter components that are linked to Excel cells.
3. Insert the Base-URL to your second report you want to jump in an Excel cell (screenshot 02). For example:
http://bo-server.domain.lan:6405/BOE/OpenDocument/opendoc/openDocument.jsp?
sIDType=CUID&iDocID=AUirUrUJMMNOnd0sK_kCdrI
Screenshot 02: Insert Base URL to an excel cell
4. Underneath you can concatenate all informations you need with Excel functions (screenshot 03). For example:
=B9&"&filter1="&B3&"&filter2="&B5
Manual Report-to-Report Interface of SAP BODashboards to other Reports
Posted by Benjamin Hanke Jun 17, 2013
6/3/2014 BI Platform | SCN
http://scn.sap.com/community/bi-platform/blog?start=105 33/42
Screenshot 03: Concatenate all cells you need to create the URL with filter values.
Legend:
B9 = base-URL to webi report (step 3)
filter1 = name of the parameter you want to pass to the webi report
B3 = in this example the destination of the selected value in the dropdown
filter2 = name of the second parameter you want to pass to the webi report
B5 = in this example the destination of the checkbox (value for checked or unchecked)
5. Create an URL-Button and link the URL property to your concatenated URL (screenshot 04)
Screenshot 04: Insert URL Button with link to your URL cell in Excel
6. Save the dashboard to your BI Platform and open it for example in your BI Launch Pad or via opendocument link.
You can now filter your values with the dropdown and the checkbox and these values will pass to your webi report if
you click on the URL Button.
I hope this short guide can help you to use a dashboard-to-other-report interface. How you use the opendocument
link to pass parameters to your bex query inside the webi is described in other blogs or in the opendocument guide.
Best Regards,
Benni
1563 View s 7 Comments
Performing Surgery on the CMS after SAP BI4 PatchInstallations
6/3/2014 BI Platform | SCN
http://scn.sap.com/community/bi-platform/blog?start=105 34/42
In, SAP BusinessObjects BI4, the CMS has become an integral part of the installation and maintenance process for
any SAP BI or Data Services system. Details on the patch level and installed components are stored in the CMS
database and the only way to check and update the CMS information is to have the CMS up and running.
On the face of it that is a “good thing” in that there is now a central place where installs (and uninstalls) can keep a
record of the state of your B.I. Platform. As long as all installs are performed cleanly and your CMS database is
maintained in sync with your platform this works very well. In practise this reliance on a clean operational CMS can
give you problems that require some quickly thought out workarounds when installations and database restores don’t
go to plan.
The worst example I’ve had to contend with is from a company that didn’t keep a record of which patch level had been
applied to their system and a number of different people were responsible for maintaining the system. One of their
people was tasked with upgrading to the latest patch level but they didn’t know which service pack had been applied.
They managed to apply a patch applicable to a different service pack which resulted in a system where the CMS
couldn’t start because some of the software components failed because of the different patch and service pack
levels.
At this point there was no going back because, as we noted before, the misapplied patch could not be uninstalled
due to the requirement for an operational CMS. I eventually found two methods of recovering the situation (three if you
include a complete OS reinstall). The first method, which I actually used on the environment that had been broken,
was to manually back out the software components that had been updated that were preventing the CMS from
starting. To do this I examined the log files, noted the failing component and then copied it from a clean install that
was available at the same service pack and patch level as the original system. It was lucky that such a system was
available but the installation does maintain a history of previously installed components so you could use that for the
recovery. The start up/fail/check log/recovery process was repeated until all of the failing components had been
recovered and the CMS started. At this point the other BI services failed but it was possible to uninstall the offending
patch which restored the system completely.
I found a second method after recreating the problem on a test bed. I discovered that the install/uninstall process
does not actually care which CMS it signs onto to maintain the install history. So the easy answer would have been to
point the uninstall process at a CMS running on a different machine and then let it run on the broken machine to roll
back the problem patch. Of course after that you would have a donor system which would report the wrong patch level
until a new service pack or patch was applied.
There is a step in the install that checks whether the patch being installed is applicable to the target system but this
sometimes reports as an optional failure which means you can continue with the install anyway. Rather than relying
on this check we advise that you always check the installed software listed in the Windows control panel. This will
show a list of all the service pack and patches already applied which you can use to confirm that you are applying the
correct software package.
References:
SAP BI4 CMS down after patch install
SAP BI4 Patch rollback
If you have any queries requiring this post or require further information please call IT Performs Support on 0121 323
1066.
496 View s 0 Comments
Tags: business, intelligence, bi, sap, bi4, update, business_intelligence_(businessobjects), analytics, sap_developer_netw ork,
enterprise_performance_management, 4.0, bi4.0, data, bobj, bi4_upgrade, business_intelligence, bi_platform, cms, patch,
sap_businessobjects_bi_launch_pad_4.x, sap_businessobjects_business_intelligence_platform_4.0
Posted by Clare Bryan Jun 14, 2013
UPDATE - POSTPONED TO FALL 2013
Greetings All,
Based on feedback from the Community we have decided to postpone this series until after the Summer Holiday
season to best give opportunity for all to attend. Please check back here for the updated dates but tentatively we are
planning for a date in September, 2013.
Thanks,
Chris & Kristen
BI Unplugged - Virtual Webinar Series
Posted by Christopher Vozella Jun 12, 2013
6/3/2014 BI Platform | SCN
http://scn.sap.com/community/bi-platform/blog?start=105 35/42
BI Unplugged: Your Requests, our Replies Think ing about upgrading to BI4? In process of upgrading? Already there and just want to learn more?
If you answered YES to any of those questions then this Blog is for you and it is with great pleasure that
we announce our new virtual webinar series beginning on July 10, 2013 from 11 AM EST to 12 PM EST.
Come join our panel of SAP experts who will answer your BI4 upgrade questions.
This virtual event is co-sponsored by SAP and our Americas SAP User Group (ASUG) Support &
Maintenance Strategic Special Interest Group.
We’ve got some heavy hitters on this webinar who are focused on your BI4 upgrade success.
From SAP Active Global Support: Your moderators, Kristen Scheffler and Chris Vozella, and Matt Shaw,
our EMEA BI4 Upgrade Champion.
From SAP Product & Solution: JC Raveneau, Henry Kam, Sathish Rajagopal, Derek Wang, and Kai Chan -
The Knights of the BI4 upgrade roundtable!
NOW A CALL FOR ACTION FROM YOU!
1. Have some questions you want addressed in this call? If so post your questions below in the Comments
section - We will collect them and raise them in Unplugged!
2. Registration
RePlease register to attend via the following:
If you are an Americas SAP User Group (ASUG) Member, please register via the l ink below:
http://www.asug.com/events/detail/BIUnplugged-Virtual-QA-Series-On-BI4
If you are not members of ASUG please email Kristen Scheffler & Christopher Vozella to get yourself
on the Guest l ist.
We are looking forward to having you join us!
1062 View s 0 Comments Tags: intelligence, bi4, analytics, mobile, reporting, w ebi, bi_platform
After series of blogs on Query builder, in this blog I would like to share best practices with the
typical usability in Query builder. Here we go
Useful Functions in Query Builder
BusinessObjects Query builder – Best practices &Usability
Posted by Manikandan Elumalai Jun 12, 2013
6/3/2014 BI Platform | SCN
http://scn.sap.com/community/bi-platform/blog?start=105 36/42
Function Desription
COUNT Retrieves the number of distinct values of a property
TOP specifies the maximum number of object to bereturned
- Count of Universes
SELECT COUNT (SI_ID) FROM CI_APPOBJECTS WHERE SI_KIND = 'UNIVERSE' - Top 10 WebI reports order by their number of Instances
SELECT TOP 10 * FROM CI_INFOOBJECTS WHERE SI_KIND = 'WEBI' ORDER BY
SI_CHILDREN DESC Useful operators in Query Builder
Operators
=
!=
<
>
<=
>=
IN
LIKE
BETWEEN
ALL
- Users created between a date ranges SELECT SI_ID,SI_NAME, SI_CREATION_TIME FROM CI_SYSTEMOBJECTS WHERE SI_KIND =
'User' AND SI_CREATION_TIME BETWEEN '2013.06.01' AND '2013.06.10' - To get the list of all WebI and FullClient reports SELECT * FROM CI_INFOOBJECTS WHERE SI_KIND IN ('WEBI' ,’FULLCLIENT’)
- User who is member of more number of groups SELECT SI_ID, SI_NAME, SI_USERGROUPS FROM CI_SYSTEMOBJECTS WHERE SI_KIND =
'USER' AND SI_USERGROUPS >= ALL SI_USERGROUPS
Working with Date/Time
- Reports that are last updated on 28th May 2013 (Date comparison) SELECT SI_ID, SI_NAME, SI_UPDATE_TS FROM CI_INFOOBJECTS WHERE SI_KIND = 'WebI'
AND SI_UPDATE_TS = '2013.05.28'
- Users who are created on or after 18th Mar 2013 3PM (Date/Time comparison)
SELECT SI_ID, SI_NAME, SI_CREATION_TIME FROM CI_SYSTEMOBJECTS WHERE SI_KIND =
'User' AND SI_CREATION_TIME >= '2013.03.18.15:00:00'
Frequently used properties of Infoobjects
InfoObject property Property description
SI_ID Unique id generated for the Infobject within the environment
SI_NAME Name of the InfoObject
6/3/2014 BI Platform | SCN
http://scn.sap.com/community/bi-platform/blog?start=105 37/42
SI_KIND Type of the Infoobject
SI_CUID Cluster Unique Identifier of the InfoObject
SI_GUID Global Unique Identifier of the InfoObject
SI_RUID Unique id of the Infobject within the Object package
SI_PARENTID Parent Objects SI_ID
SI_OWNERID SI_ID of the InfoObject's owner
SI_CREATION_TIME Creation time of InfoObject
SI_UPDATE_TS Last updated time of InfoObject
Here is the query with all the properties listed above in a single query
SELECT SI_ID, SI_KIND, SI_NAME,SI_CUID, SI_GUID, SI_RUID, SI_PARENTID, SI_OWNERID,
SI_CREATION_TIME,SI_UPDATE_TS FROM CI_INFOOBJECTS WHERE SI_KIND='WEBI' Hope you find this interesting.
Query Builder Blog series Basics
BusinessObjects Query builder - Basics
BusinessObjects Query builder – Best practices & Usability
Sample Queries
BusinessObjects Query builder queries
BusinessObjects Query builder queries - Part II
BusinessObjects Query builder queries - Part III
BusinessObjects Query builder queries - Part IV
BusinessObjects Query builder – Exploring Visualization Objects
Use cases
BusinessObjects Environment assessment using Query builder
BusinessObjects Environment Cleanup using Query builder
BusinessObjects Query builder – What's New in BI 4.0
10024 View s 15 Comments Tags: bo_querybuilder
The responsibilities of a Business Intelligence Platform system administrator include managing a large number of
documents, folders, users, servers, and other objects.
However, administration effort of a large corporate environment may be very large and may exceed the resources of a
single administrator. A system administrator who wants to focus only on high-priority tasks can create delegated
administrators and assign a subsets of management tasks to them (for example, the administration of a department
or tenant content in case of BI platform as part of a SaaS application).
Unlike system administrators, delegated administrators can perform a limited set of tasks and have fewer rights in
the system. For example: delegated administrators can manage documents, or manage users for a department of a
tenant. Most critical or advanced tasks are typically not delegated.
Central Management Console (CMC) application has a large number of tabs. For example CMC has a “Folders” tab
for document management, a “Users and Groups” tab for user management, a “Servers” tab for server management,
etc. In the previous version of SAP BI platform the delegated administrators would have access to all available CMC
tabs. This sometimes resulted in delegated administrators being confused and intimidated due to perceived high
complexity of administration: too many tabs, too many options being presented even if they were never designed for
use by the delegated administrator.
Since SAP BI 4.0 SP4, a system administrator has the capability to hide any of the CMC tabs that a delegated
administrator is not expected to use. For example a delegated administrator in charge of content management may
have access to “Folders” and “Users and Groups” tab, while other tabs are hidden.
Having said that the management of CMC tab access only affects the visual appearance of the CMC user interface
and hiding of CMC tabs is not a security measure. It does not set or modify security rights on objects within tabs. In
Delegated administration in SAP BI 4.0 SP4
Posted by Christina Obry Jun 11, 2013
6/3/2014 BI Platform | SCN
http://scn.sap.com/community/bi-platform/blog?start=105 38/42
order to ensure that users cannot perform unauthorized operations on unauthorized objects (for example, manage
servers through the Central Configuration Manager or third-party software based on the BI platform SDK), you must
set appropriate security rights on objects (for example on server objects). Hence it is recommended to always set
proper security rights on objects inside the CMC tab in addition to setting up CMC tab access. The out of the box
“Administrator” user will always have access to all CMC tabs.
To grant a user access to CMC tab administrator should grant both:
CMC tab access
A “View” right should be granted on the CMC tab's top level folder.
The following CMC tabs support top level folder: folders, personal folders, personal categories, categories, users and
groups, profiles, inboxes, servers and groups, replication lists, federations, temporary storage, universes, (universe)
connections, access levels, calendars, events, cryptographic keys, web service query, OLAP connection.
For improved system security only members of Administrators group can access the following tabs: settings,
authentications, license keys, auditing, cryptographic keys, user attribute management, monitoring. To access the
above tabs the user must be a member of “Administrators” group and should have CMC Tab access granted. Users
who are not members of Administrators group will not be able to access above tabs, even if CMC tab access is
granted.
To ensure consistency with previous versions of the Business Intelligence platform, CMC tab access is initially
unrestricted after the BI platform installation – any user who can access the CMC will have access to all available
tabs.
To prevent users from accessing tabs to which they have no access rights, a system administrator can restrict CMC
tab access.
1. Log on to the CMC as Administrator.
2. On the "Applications" tab, right-click Central Management Console and select CMC Tab Access Configuration.
3. The "CMC Tab Access" window is displayed.Configure the CMC tab access rule.
To limit your users' access to tabs for which they have rights, select Restricted.
To allow your users to access all tabs, select Unrestricted.
4. Click Save and Close.
Further a system administrator can configure the tabs that a principal can access. To do so navigate to the "Users
and Groups" tab, right-click a principal and select CMC Tab Configuration. If CMC tab access is unrestricted, the
following message will appear:
WARNING: CMC tab access is unrestricted. Settings below do not take effect until CMC tab access will be restricted.
To restrict CMC access navigate to Applications tab, select CMC and set CMC tab access to restricted.
You can still configure CMC tab access. However, the configuration will not take effect until you restrict CMC tab
access.
6/3/2014 BI Platform | SCN
http://scn.sap.com/community/bi-platform/blog?start=105 39/42
Once clicked you can see the permissions for the principal. All rights are inherited. Select a tab row and you see that
the menus above the permissions/title area becomes active and you are now able to Grant, Deny or give Inherit rights
to the tab you selected.
In the "Configure CMC Tab Access" window, a table is displayed:
✔ or ✘ indicates which CMC tabs the principal can access.
"Inherited" indicates that the CMC tab access was inherited from its parent user group(s).
"Explicit" indicates that the CMC tab access right was explicitly specified on the principal level.
It is recommended to manage the tab security level through the user group level rather than the user level. It
simplifies the management process and reduces the need for maintenance and troubleshooting.
Again for tabs that have top level folder a “View” right should be granted on the CMC tab's top level folder, otherwise
the tab will not show for that user.
To simplify CMC tab management you can create a set of delegated administrator user groups. You can grant CMC
tab access by making an existing user or user group a member of a delegated administrator user group without
configuring CMC tab access individually.
The following user groups may be created, but it can be modified for specific business needs.
User Group CMC Tabs Access Granted
System
Administrators
Grant access to all tabs.
User
Administrators
Grant access to Access Levels, Folders, Inboxes, Personal Folders, Personal Categories, Query
Results, Sessions, and User and Groups.
Set all other tabs to Inherited.
6/3/2014 BI Platform | SCN
http://scn.sap.com/community/bi-platform/blog?start=105 40/42
Content
Administrators
Grant access to Calendars, Categories, Events, Folders, Instance Manager, Personal Categories,
Personal Folders, Profiles, Query Results, and Universes.
Set all other tabs to Inherited.
Server
Administrators
Grant access to Servers and Applications.
Set all other tabs to Inherited.
Membership in multiple groups will result in the addition of rights, if the rights are set to Inherited. CMC tab access
rights and the permission to configure CMC tab access for others (to be discussed later) are both inherited in the
same manner as other security rights.
If a principal has no rights specified, the principal will inherit the access rights of its user group. If a principal is a
member of multiple user groups, tab access is calculated in the same manner as all other Business Intelligence
platform rights are calculated.
For example, if access to a CMC tab is granted in one of the groups and denied in the other, the principal will not be
able to access the CMC tab.
Modifying the CMC tab access right of a user group will result in the modification of the same right for all users or user
groups that inherit CMC tab access from the user group, if their CMC tab access permission is set to “Inherited”.
In a large corporate environment, a system administrator may need to delegate CMC tab access configuration to a
delegated administrator. Or in a multitenant system each tenant may have a delegated administrator responsible for
managing CMC tab access for other users and user groups. To do so navigate to the "Configure CMC Tab Access"
for the principal that you would like to give the delegation right to, at the top there is “Permission to configure CMC tab
access for other users or user groups” displayed. The symbols have the following meaning
✔ or ✘ indicates whether the principal has permission to configure CMC tab access for others.
"Inherited" indicates that the access right was inherited from its parent user group(s).
"Explicit" indicates that the access right was explicitly specified on the principal level.
More information about CMC tab access can be found in the Business Intelligence platform Administrator Guide.
3000 View s 6 Comments
Tags: business_intelligence, bi_platform, administration, delegated_administration,
sap_businessobjects_business_intelligence_platform_4.0
Dear Folks,
Again this is the continuation of my previous blogs on Query builder.
BusinessObjects Query builder queries
BusinessObjects Query builder queries - Part II
BusinessObjects Query builder queries - Part III Have listed few more interesting queries below
To list all the servers and their status with server category SELECT SI_NAME, SI_SERVER_IS_ALIVE, SI_DISABLED, SI_SERVER_KIND,
SI_FRIENDLY_NAME, SI_EXPECTED_RUN_STATE FROM CI_SYSTEMOBJECTS
WHERE SI_KIND='SERVER'
Below are the possible values for SI_EXPECTED_RUN_STATE object -1 -> Server is currently in an invalid state due to a configuration error.
0 -> The expected state of the server is stopped.
1 -> The expected state of the server is running.
2 -> The expected state of the server is restarting.
3 -> The server is not being managed by the Server Intelligence Agent.
4 -> The expected state of the server is immediate shutdown.
To list all hosted services for each server SELECT SI_ID, SI_NAME, SI_HOSTED_SERVICES FROM CI_SYSTEMOBJECTS WHERE
BusinessObjects Query builder queries - Part IV
Posted by Manikandan Elumalai Jun 10, 2013
6/3/2014 BI Platform | SCN
http://scn.sap.com/community/bi-platform/blog?start=105 41/42
SI_KIND='SERVER'
To list all the metrics description
SELECT * FROM CI_SYSTEMOBJECTS WHERE SI_KIND='MetricDescriptions'
To list all the program objects without their instances SELECT * FROM CI_INFOOBJECTS WHERE SI_KIND='PROGRAM' AND SI_INSTANCE=0 To list all the personal and corporate category details of the report
SELECT SI_ID, SI_NAME, SI_PERSONAL_CATEGORIES, SI_CORPORATE_CATEGORIES
FROM CI_INFOOBJECTS WHERE SI_KIND='WEBI' AND SI_NAME = <Name of the Report>
Relationship queries
To list the Usergroups associated with a particular User Select SI_ID, SI_NAME From CI_SYSTEMOBJECTS Where PARENTS("SI_NAME='UserGroup-
User'","SI_NAME='Administrator'") To list the Universes associated with a particular Data connection
Select SI_ID,SI_NAME,SI_KIND From CI_APPOBJECTS
where CHILDREN("SI_NAME='DataConnection-Universe'","SI_NAME='efashion-webi'") The list of relationship objects and their relationship types are given below
Relationship Objects Relationship Types Profile-Principal -> PARENT-CHILDREN
DataConnection-Universe -> CHILD-PARENT
Category-Document -> PARENT-CHILDREN
User-Inbox -> PARENT-CHILDREN
Webi-Universe -> PARENT-CHILDREN
User-Favorites -> PARENT-CHILDREN
UserGroup-User -> PARENT-CHILDREN
Universe(Core)-Universe -> CHILD-PARENTS
EnterpriseData-Flash -> CHILD-PARENTS
Universe-UserGroup -> PARENT-CHILDREN
CustomRole-Object -> CHILD-PARENTS
User-PersonalCategory -> PARENT-CHILDREN
Hope you find this Interesting. Thanks for reading. Query Builder Blog series Basics
BusinessObjects Query builder - Basics
BusinessObjects Query builder – Best practices & Usability
Sample Queries
BusinessObjects Query builder queries
BusinessObjects Query builder queries - Part II
BusinessObjects Query builder queries - Part III
BusinessObjects Query builder queries - Part IV
BusinessObjects Query builder – Exploring Visualization Objects
Use cases
BusinessObjects Environment assessment using Query builder
BusinessObjects Environment Cleanup using Query builder
BusinessObjects Query builder – What's New in BI 4.0
6/3/2014 BI Platform | SCN
http://scn.sap.com/community/bi-platform/blog?start=105 42/42
Follow SCNSite Index Contact Us SAP Help Portal
Privacy Terms of Use Legal Disclosure Copyright
11002 View s 12 Comments Tags: bo_querybuilder, businessobjects_querybuilder
1 … 6 7 8 9 10 … 17
PreviousNext