bi platform scn8

42
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 Us Hi, Guest Search the Community Activity Communications Actions Brow se BI Platform 255 Posts 1 6 7 8 9 10 17 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 using Windows AD based user Account. Posted by Rahul Kartha Jul 8, 2013 UNV to UNX universe conversion steps Posted by Jorly George Jul 4, 2013

Upload: yaswanth-reddy

Post on 01-Nov-2014

244 views

Category:

Software


0 download

DESCRIPTION

sap bo

TRANSCRIPT

Page 1: Bi platform   scn8

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

Page 2: Bi platform   scn8

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

Page 3: Bi platform   scn8

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

Page 4: Bi platform   scn8

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

Page 5: Bi platform   scn8

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

Page 6: Bi platform   scn8

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:

Page 7: Bi platform   scn8

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

Page 8: Bi platform   scn8

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.

Page 9: Bi platform   scn8

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

Page 10: Bi platform   scn8

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.

Page 11: Bi platform   scn8

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?

Page 12: Bi platform   scn8

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

Page 13: Bi platform   scn8

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.

Page 14: Bi platform   scn8

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

Page 15: Bi platform   scn8

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

Page 16: Bi platform   scn8

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;

}

Page 17: Bi platform   scn8

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)

Page 18: Bi platform   scn8

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!";

}

Page 19: Bi platform   scn8

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

Page 20: Bi platform   scn8

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

Page 21: Bi platform   scn8

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

Page 22: Bi platform   scn8

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.

Page 23: Bi platform   scn8

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.

Page 24: Bi platform   scn8

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

Page 25: Bi platform   scn8

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.

Page 26: Bi platform   scn8

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

Page 27: Bi platform   scn8

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!

Page 28: Bi platform   scn8

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

Page 29: Bi platform   scn8

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

Page 30: Bi platform   scn8

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.

Page 31: Bi platform   scn8

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.

Page 32: Bi platform   scn8

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

Page 33: Bi platform   scn8

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

Page 34: Bi platform   scn8

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

Page 35: Bi platform   scn8

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.

A. [email protected]

B. [email protected]

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

Page 36: Bi platform   scn8

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

Page 37: Bi platform   scn8

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

Page 38: Bi platform   scn8

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.

Page 39: Bi platform   scn8

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.

Page 40: Bi platform   scn8

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

Page 41: Bi platform   scn8

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