Search This Blog

Saturday, December 2, 2017

SAP BusinessObjects Business Intelligence 4.X (BI 4.X) End-to-End Tracing - A GENIE

What is End-to End Tracing?

End-to-End tracing for SAP BusinessObjects BI 4.x has been not less than a GENIE in several critical circumstances where there was no way out and even SAP Support has not in a position to sail us through the state we and our clients were in.

Few Scenarios...

Before sharing the steps to configure and consume E2E, I would like to highlight a few scenarios where E2E can be utilized:
  1. If an unexpected error is observed during execution of Publications.
  2. If there is a performance issue with browsing application and/or report execution.
  3. If Dashboard based on QAAWS or Live Office or BICS connectivity or Webi/Crystal Report or a Universe connection fails to load or refresh.
  4. If any report/dashboard based on Multisource universe fails to load or refresh.
  5. Any issue where we have a cluster or distribured deployment and we are unsure of which server could receive request.
There can be several other scenarios which I have missed where E2E tracing can be consumed.

Why E2E?
  1. Need not to enable tracing on each and every server/component.
  2. Need not to know which components/server should be traced.
  3. Consolidated information sorted by time instead of traces being scattered across different log files.
  4. Possibility to filter by user, thread etc.
How is this done?


Tuesday, May 28, 2013

SAP BusinessObjects Business Intelligence 4.0 (BI 4.0) Trace file limitation

In SAP BI 4.0,  there is a limitation that the system only keeps latest 5 log files per SAP BusinessObjects BI 4.0 service.

In order to change the number of files BusinessObjects server is going to keep before deleting old trace files  we can increase the value of keep_num variable to a higher number in BO_trace.ini. Alsoe, you can modify the entry to -1, which will not delete any logging files which are created and all the historical logs will be present in logging directory for reference.

Default location of BO_trace.ini file is mentioned below:

Windows
<Installation directory>\SAP BusinessObjects Enterprise XI 4.0\conf

Eg. <C:\Program Files (x86)\SAP BusinessObjects\SAP BusinessObjects Enterprise XI 4.0\conf

UNIX
<Installation directory>/sap_bobj/enterprise_40/conf

Eg. /apps/sap_bobj/enterprise_40/conf

Tuesday, August 23, 2011

How to disable CMC/BI Launchpad in SAP BusinessObjects BI 4.0?


The Central Management Console (CMC) and BI Launchpad (previously InfoView) web applications are now included within the BOE archive (BOE.war or BOE.ear). To disable the CMC/BI Launchpad web application, we can use the WDeploy tool.

CMC
To disable the CMC web application, use the -Ddisable_CmcApp=true switch when deploying BOE.war to the web applications server.

For example, the following command will deploy BOE.war to a Tomcat 6 web application server but disable the CMC:
wdeploy.bat tomcat6 -DAPP=BOE -Ddisable_CmcApp=true deploy


BILaunchpad
To disable the BILaunchpad web application, use the -Ddisable_InfoViewApp=true switch when deploying BOE.war to the web applications server.

For example, the following command will deploy BOE.war to a Tomcat 6 web application server but disable the BILaunchpad:
wdeploy.bat tomcat6 -DAPP=BOE -Ddisable_InfoViewApp=true deploy

Wednesday, July 13, 2011

Login is extremely slow for LDAP users in SAP BusinessObjects XI 3.1 and XI Release 2

CAUSE

Workflow of BusinessObjects to query LDAP users:

1. User enters their credentials and chooses LDAP (or SSO login brings user in via LDAP)
2. BO queries LDAP with a UniqueMember query at BASE DN (o=companyname, c=us)

NOTE: No matter how detailed you set the Base DN in the CMC, it will only use these two fields (o=companyname, c=us) to base the query on.

3. User may exist in one or more groups, for a large LDAP (this query may take up to 30 sec)
4. A complete list of all groups where user exists in LDAP is returned and compared to list of groups mapped in the CMC. (approximately 2 sec)
5. User is matched with mapped group and allowed access to InfoView ( < 5 seconds)

The bottleneck here is the query that BO sends to the LDAP server to find the user.

SOLUTION

WARNING: You need to modify registry on your server(s) to fix this. Take backups of your registry keys before proceeding.

XI 3.X


Windows:
1. Open regedit on your Windows Server using Start>>Run.
2.  Navigate to the following key in your registry.
     a.       (64Bit Server) [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Business Objects\Suite 12.0\Enterprise\Auth Plugins\secLDAP]
     b.    (32Bit Server) [HKEY_LOCAL_MACHINE\SOFTWARE\Business Objects\Suite 12.0\Enterprise\Auth Plugins\secLDAP]
3. Create or edit the following STRING values in the above registry key (The entry is case sensitive so you need to be very careful).
    a.  GroupBaseDNs (Make this value equal to the base path of where your LDAP query is to begin. i.e. ou={ldaptreelevel},ou={anothertreelevel},ou={groups},o= {companyname}, c=us)

NOTE: You can get this from your LDAP administrator.

   b. GroupFilter (Set the value  to true)
4. You may want to export the key to a .reg file that you can simply double-click on with your other servers in the cluster/enterprise.
5. After making the changes, you will need to restart the SIA (Server Intelligence Agent) on each server to complete the changes.
6. Test the LDAP authentication by logging in to InfoView.

UNIX:
1. Navigate to $BOBJEDIR/data/.bobj/registry/software/business objects/suite 12.0/enterprise/auth plugins/secldap/ 
2. Backup the .registry file and then run 'vi .registry'
3. Add the following entries at the end of the file
   a. “GroupBaseDNs”=”” (Make this value equal to the base path of where your LDAP query is to begin. i.e. ou={ldaptreelevel},ou={anothertreelevel},ou={groups},o= {companyname}, c=us)

NOTE: You can get this from your LDAP administrator.

   b. “GroupFilter”=”true”
4. Restart the SIA.
5. Test the LDAP authentication by logging in to InfoView.

XI R2

Windows:
NOTE: The functionality of this registry key only exists in FP 2.5 or later.
1. Open regedit on your Windows Server using Start>>Run.
2. Navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Business Objects\Suite 11.5\Enterprise\Auth Plugins\secLDAP\
3. Create or edit the following STRING values in the above registry key (The entry is case sensitive so you need to be very careful).
   a. GroupBaseDNs (Make this value equal to the base path of where your LDAP query is to begin. i.e. ou={ldaptreelevel},ou={anothertreelevel},ou={groups},o= {companyname}, c=us)

NOTE: You can get this from your LDAP administrator.

   b. GroupFilter (Set the value  to true)
4. You may want to export the key to a .reg file that you can simply double-click on with your other servers in the cluster/enterprise.
5. After making the changes, you will need to restart the SIA (Server Intelligence Agent) on each server to complete the changes.
6. Test the LDAP authentication by logging in to InfoView.

UNIX:
1. Navigate to $BOBJEDIR/data/.bobj/registry/software/business objects/suite 11.5/enterprise/auth plugins/secldap/
2. Backup the .registry file and then run 'vi .registry'
3. Add the following entries at the end of the file:
   a. “GroupBaseDNs”=”” (Make this value equal to the base path of where your LDAP query is to begin. i.e. ou={ldaptreelevel},ou={anothertreelevel},ou={groups},o= {companyname}, c=us)

NOTE: You can get this from your LDAP administrator.

   b. “GroupFilter”=”true”
4. Restart the SIA.
5. Test the LDAP authentication by logging in to InfoView.




You may also refer to similar SAP KB Articles:


1459328 - Logon to Infoview is slow when using LDAP authentication against large directories
1183138 - How the LDAP plug-in works in manual and automatic refresh in BusinessObjects XI
1200153 - How to Improve LDAP Nested Group Queries by Adding GroupBaseDNs Registry Key

Tuesday, July 5, 2011

What’s new in SAP BusinessObjects Enterprise Business Intelligence 4.0 platform?


SAP BI 4.0 release has been the first major release of the BI platform since SAP acquired BusinessObjects. In this release, the semantic layer (universe layer for the uninitiated) has been re-worked completely to expose all business data under a single umbrella. The self-service BI portal (aka Infoview) has been revamped with a new AJAX based design and providing quicker and easier access to content. Publishing and distribution of BI content to mass audience has been made easier. There are also improvements to the lifecycle management (LCM tool) and platform administration (CMC, CCM) from a single console. This is in a nutshell are the changes that Aurora or SAP BO 4.0 bring, allowing BI content to be delivered across different channels ranging from the browser (BI Launch Pad, SharePoint, SAP NetWeaver Portal, Java Portal) to desktop (widgets), MS-Office and mobile.
In the following section I’ll try to cover the major changes that have been effected in the following products:
Semantic Layer - A new tool, Information Design Tool enhances the Universe Designer. The universes created by this tool are identified by the .UNX file extension and allow connections to multiple data sources.


The universe designer is still there. Renamed as universe design tool, it allows creating single data source universes (.UNV file extension) as before.
Conversion of previous universe .unv versions is supported only for relational universes created in previous universe designer versions and not possible for OLAP universes or universes based on stored procedures or Data Federator data source.
No authentication is required to start the information design tool. Users can create and edit unsecured resources (data foundations, business layers, connections) in local projects and publish them to the repository to make them secure.
Connections to relational data sources, OLAP data sources as well as SAP NetWeaver BEx query can be created, be local (saved locally as .cnx files) or secured (stored in the repository).

The newly named “Data foundations” are analogous to the schema browsers in Universe Designer. They contain the schema of relevant tables and joins from one or more relational databases that are used as a basis for one or more business layers.
The business layer is the universe metadata. Depending on the type of data source for the business layer, several types of objects e.g. folders, dimensions, analysis dimensions, measures, attributes, filters, hierarchies (OLAP only) can be created and edited in the business layer.
Search - enhancements include a new enhanced search engine allowing search by document attributes as well as content. Search results can be filtered and refined easily and the search GUI is integrated in the BI launch pad


There are also enhanced options through the OpenSearch API which enables integration with other search systems like Google Search Appliance, Microsoft SharePoint portal and NetWeaver Enterprise Search.
BI Portal - includes a new look re-designed web portal (InfoView) now called the BI LaunchPad providing a rich new user experience. It provides quick and easy access to BI applications and search, a handy list of recently used reports, scheduled documents, alerts etc., multiple tabs and pinning options, and a reduction in the manual steps for common tasks like:
§  Ability to create new folder while Saving
§  Schedule and Send To actions in Document viewers
§  Auto-refresh in History page



Alerting, Monitoring & Auditing - The alerting framework allows triggering of alerts based on events (schedule completion, ETL completion, system monitoring etc.) or data conditions as also reactions to those events e.g. scheduling report to run or send notification message. Subscription to alerts is made easier with a consistent workflow, allowing notification emails or messages in the BI Launch Pad.



New monitoring applications are available to keep tabs on system health and performance (server metrics, custom probes, user-defined watch conditions, visualization dashboard in CMC) and integrate with infrastructure monitoring tools like Tivoli and SAP Solution Manager.
Auditing enhancements include simplified system wide configuration, auto-purging of old data and an enhanced audit store schema which simplifies reporting and application development.
Lifecycle Management - The LCM console replaces the import wizard. It allows connection override in bulk mode automatically, supports version control and rollback, is audit-able and provides scripting facility.

Upgrades and deployments - A new optimized upgrade management tool is provided, combining the best of Import Wizard and Database Migration tool in XI 3.x. This caters to one-click full upgrade or selective incremental upgrades, allowing direct upgrade from XI R2 SP2 or later. There’s enhanced scalability in deployment with virtualization and 64-bit support.



Sneak preview demo of SAP BusinessObjects 4.0:



PS: Please feel free to share your views. Also, if you have some information that you want to share or want to know something more, please leave your comments.

Thursday, June 30, 2011

Business Objects Enterprise XI R2 - End Of Life

Today, 30th Jun 2011 is the last day for end of life of Business Objects Enterprise XI R2 aka BOXI R2, Jupiter. BOXI R2 was released in November 2005. Patch level end of life support for BOXI R2 ended on 30th Jun 2010.

What does the end of life support mean for BOXI R2 users? It means that you will not get any technical support on BOXI R2 cases. Users will have to upgrade to a newer product which is currently available i.e. SAP BusinessObjects Enterprise 3.1 aka BOXI 3.1, Mira or SAP BusinessObjects BI 4.0 aka Aurora.

Please go through the below link to understand SAP product lifecycles in detail.

Saturday, May 28, 2011

How to uncluster Business Objects servers?

Here I'm illustrating a scenario where your Business Objects servers get clustered accidently. Many times we want to replicate the Business Objects environments. We want to make our TEST or DEV environment as same as production, so that we can perform the tests on either TEST or DEV and if the tests are successful, we apply the changes to Production system.
In order to achieve this, we need to use the copy datasource Wizard through CCM. Using the database copy gives us exact replica of the source environment.

Consider you have copied the database of your PROD system to a new box (let's consider this one as TEST). When you start the TEST system (SIA) and login to the Central Management Console (CMC), you will find the servers of PROD box in the "Servers" area. As we are copying the database, it will also bring the servers of PROD to your TEST box and it will make a cluster.

You'll need to perform following steps to uncluster these two environments.

We'll need to delete the entries of PROD servers from the CMS DB of TEST environment.
Stop the SIA of TEST environment, login to the DB server and execute following queries against CMS DB of TEST environment.

For XI R2:
delete from cms_infoobjects5 where typeid in (16,17);
delete from cms_infoobjects5 where objectid=4;

For XI 3.1:
delete from cms_infoobjects6 where typeid in (16,17);
delete from cms_infoobjects6 where objectid=4;


Once you execute the queries, commit the statements.
Here,
typeid 16 is for servers
typeid 17 is for servergroups
objectid 4 is for cluster

Now goto the CCM >> Properties of Server Intelligence Agent (SIA) >> Configuration tab.
Here, select the checkbox for "Change Cluster Name to" and provide a new cluster name.
For Unix, you can execute cmsdbsetup and reset the clustername.
Once you change the cluster name, you can start SIA. This time you'll not find the servers of PROD in your TEST environment. You may need to recreate SIA on the TEST box so that it can add default servers in the node.

How to avoid such accidental cluster?

Considering the above scenario, once you copy the DB of your PROD system to TEST system, change the cluster name for your TEST system (through CCM) before you start SIA. This will avoid clustering of PROD and TEST. You may still find the servers of your PROD system in the TEST system. For that, you can use the queries mentioned above to get rid of them.

Wednesday, May 18, 2011

How to schedule to SharePoint Document Library


Steps to Schedule reports to Sharepoint’s Directory using UNC path:

1) Make sure you can browse to the Sharepoint location using UNC path. So if your URL is http://Servername/SiteDirectory/Title, equivalent UNC path would be \\Servername\SiteDirectory\Title. We need the Webclient Service running on the box to access this UNC path.
2) If the URL is accessible you should be able to schedule the report to \\Servername\SiteDirectory\Title\SharedDocuments. The Shared Documents folder is created because we had used “Document Workspace” as a template. The folder structure will wary as per the template you select.
3) Go to the Business Objects Server running Crystal Reports / Web Intellignce / Desktop intelligence / Destination Job Servers (whichever report type is applicable).

4) Click on Start >> Run.
5) Type services.msc and hit ENTER. .
6) Enable and start the service Webclient.
7) Click on Start >> Control Panel >> Add or Remove Programs >> Add/Remove Windows Components.
8) Uncheck the box with the label Internet Explorer Enhanced Security Configuration >> Click Next.
9) Logon to Business Objects Server computer using the service account which is being used to Authenticate against the Sharepoint Server.
10) Open Internet Explorer >> Tools >> Internet Options >> Security >> Local Intranet >> Sites >> Advanced.
11) Add the hostname and hostname.domain.com of the SharePoint Server to the Trusted Sites. Do NOT prefix the name with http(s) .
12) Open Internet Explorer >> Tools >> Internet Options >> Security >> Local Intranet >> Custom Level >> User Authentication >> Logon
13) Choose the radio button with the option Automatic logon with current username and password. >> Ok >> Ok.
14) Create a registry entry AuthForwardServerList of type Multi-String Value at HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters\. Type the names of the computers hosting the SharePoint service as a list in the Value Data, one name on each line. Click OK.
15) Reboot the Business Objects Server.
16) Schedule Documents through Business Objects and browse to http://Servername/SiteDirectory/Title and click on Documents on the left pane to view it in Sharepoint site.


Please Note:- 
1) If you create a schedule with default name it will contain ‘~’ in the file name which is not allowed on the Sharepoint by default. You will get error:

“destination directory error.[CrystalEnterprise.DiskUnmanaged]: [The parameter is incorrect. ]” Or “destination directory error. [C rystalEnterprise.DiskUnmanaged]: [The file type being saved or retrieved has been blocked. ]” 

So make sure you configure the instance to you any valid name by adding the place holder in the schedule e.g. %SI_NAME% 
2) Webclient Service is not enabled by default on Windows Server 2008. Please follow the below steps for same.

a. Open Server Manager and click the Features node.
b. If "Desktop Experience" in not already listed under Features, click "Add Features".
c. Select the "Desktop Experience" item and then click Next followed by Install.
d. Reboot the PC as instructed.


Some usuful information:

BusinessObjects Server makes a simple ping request to the sharepoint server. If this succeeds and the sharepoint server replies back, then the Job Server tries to make a connection on port 445 (microsoft-ds) to the sharepoint server. If it does not get a reply back, it tries a couple times unsuccessfully and then tries to make a connection to the sharepoint server on port 139 (netbios-ssn). If it does not receive a reply after a few tries, if we get a response back from another IP (Not SharePoint) stating Destination Unreachable. It could be a firewall.

Port 445 is the new Microsoft file sharing port and port 139 is the older Microsoft sharing port. The Job Server tries to make connections on both and never receives any reply back. Typically ports 445 and 139 are used by virus/trojan/worms to spread viruses so these are common ports for a firewall to block.


References: SAP KB article # 1373496.

Monday, May 16, 2011

How to schedule a particular server to restart in BOE XI 3.1?

Many times there is a need to restart a particular service (server) to clean the cache / temporary data on file system / release memory. Please find below steps on how to achieve it on Windows and Unix.


WINDOWS

Workaround 1:

Create a different node either through CCM or CMC and add only those particular servers in this node which you would like to restart on a regular basis. For Ex. we'll name as CRPROC

Go to Start >> Run >> services.msc

Look for Server Intelligence Agent (CRPROC) >> right click and go to properties of this service.

On the General tab, look for Service Name. In this case, it should be BOE120SIACRPROC.

Open up notepad and copy-paste the below lines in it.

sc stop BOE120SIACRPROC
sc start BOE120SIACRPROC

Save this notepad as Restart_CRPROC.bat

Now you can use the Windows Task Scheduler or BO's Program Job Server service to start / stop these particular servers. If you are going for BO's Program Job Server service, you'll need to upload this program object (Restart_CRPROC.bat) to Enterprise and set a recurring schedule.

Note: You can create two different files if you just want to stop / start a particular service.

Workaround 2:

Open a notepad and add the following lines to it:

"<PATH TO CCM.EXE>\ccm.exe" -managedstop/managedstart SIANAME.SERVERNAME -cms CMSNAME:PORT -username <Admin user> -password <PASSWORD> -authentication <Authentication being used>

Eg.
To Stop:

"C:\Program Files\Business Objects\BusinessObjects Enterprise 12.0\win32_x86\ccm.exe" -managedstop SIA.WebIntelligenceProcessingServer -cms servername:6400 -username Administrator -password password123 -authentication secEnterprise

To start:

"C:\Program Files\Business Objects\BusinessObjects Enterprise 12.0\win32_x86\ccm.exe" -managedstart SIA.WebIntelligenceProcessingServer -cms servername:6400 -username Administrator -password password123 -authentication secEnterprise


UNIX:
Create a .sh file as below.

To Stop:
/apps/boxi31/bobje/ccm.sh -managedstop SIA.WebIntelligenceProcessingServer -cms servername:6400 -username Administrator -password password123 -authentication secEnterprise

To start:
/apps/boxi31/bobje/ccm.sh -managedstart SIA.WebIntelligenceProcessingServer -cms servername:6400 -username Administrator -password password123 -authentication secEnterprise


You can save this .sh file as Restart_WEBIPROC.sh

You can create a daemon service for this Restart_WEBIPROC.sh file and use it for scheduling the restart for selected services.

Note: You can create two different files if you just want to stop / start a particular service.

Hope this helps!!

You may refer to CCM help or SAP KB Article # 1286926 - How to start/stop or enable/disable individual XI3.x servers from command line

~The One

Publication in SAP BusinessObjects XI 3.1


What is Publishing?
"Publishing” is the process of making documents such as Crystal reports, Web Intelligence documents, and Desktop Intelligence documents publicly available for mass consumption. The contents of these documents can be distributed automatically via email or FTP, saved to disk, or managed through the BusinessObjects Enterprise platform for web viewing, archiving, and retrieval, and automated through the use of scheduling. From within InfoView or the CMC, you can take documents and tailor them for different users or recipients; schedule a publication to run at specified intervals; and send it to a number of destinations, including recipients' Business Objects inboxes and email addresses.

System prerequisites

The following servers must be installed, configured, and running:
• Publication Job Server, especially: Publication Scheduling Service
• Adaptive Processing Server, especially: Publishing Service, Publishing Post Processing Service
• Destination Job Server
• Crystal Reports Job Server
• Report Application Server

Usuful Terms:


Report bursting
During Publishing, the data in documents is refreshed against data sources and personalized before the publication is delivered to recipients. This combined process is known as “report bursting”.

Enterprise and Dynamic recipients:
There are two types of recipients. "Enterprise recipients" and “Dynamic recipients”. "Enterprise recipients" are managed by BusinessObjects system. Users who can login to BOE systems using their IDs and are listed under "Users and Groups" area in Central Management Console can be marked as "Enterprise recipients". On the other hand "Dyanamic recipients" are publication recipients who exist outside of the BusinessObjects Enterprise system. Dynamic recipients already have user information in an external data source, such as a database or an LDAP or AD directory, but do not have user accounts in BusinessObjects Enterprise.

To distribute a publication to enterprise recipients you have to create either a "Global Profile" or "Local Profile". Profiles are objects in the BusinessObjects Enterprise system that let you classify users and groups. They work in conjunction with publications to personalize the content that users see. Profiles link users and groups to profile values, which are values used to personalize data within a report. Profiles can also use profile targets, which describe how a profile is applied to a report. Whereas for dynamic recipients, you can use a “dynamic recipient source”. A dynamic recipient source is a document or custom data provider that provides information about publication recipients outside of the BusinessObjects Enterprise system.

When to use Dynamic or Enterprise recipients?


Enterprise Recipients:
For example, a publication is created based on a report which captures Annual Sales of an organization. for all the regions. There are BusinessObjects users created for the employees who belong to each of those regions. To burst this report based on differnt regions, we will have to create a Profile and add the groups/users for whom we want to burst the data and apply the region filter for them.

Dynamic recipients:
Consider a situation in which a billing company distributes bills to customers who are not BusinessObjects Enterprise users. The customer information already exists in an external database. The publisher creates a document based on the external database and uses the document as a dynamic recipient source for a publication. The customers receive the billing publication, and the dynamic recipient source allows the publisher and the system administrator to maintain up-to-date contact information. Dynamic recipient list could a Crystal Report or a Webi/Deski document which has Dynamic Users related information such as Username, Email-ID etc.

Publication process

The publication process consists of various tasks that can be divided roughly into the following categories:
• Creating and designing basic publications.
• Improving performance with advanced features.
• Using design options for specific source document types.
• Post-design publication tasks.

Creating and designing basic publications
All publications require you to perform the following basic tasks:
1. Create a new publication object.
2. Select source documents to publish.
3. Specify recipients (Enterprise or dynamic).
4. Personalize the source content.
5. Specify formats and destinations.
6. Specify recurrence (scheduling) information.
7. Set delivery rules.
8. Specify a profile resolution method.
9. Specify a report bursting method.

To select source documents
After you enter general properties for the publication, you select source documents to include. Subsequent options vary depending on the dynamic content document type.
1. On the navigation list, click Source Documents.
2. Click Add.The "Select Source Documents" dialog box appears.
3. Browse for the source documents you want to include and select them.
4. Click OK. The "Select Source Documents" dialog box closes. The source documents that you selected appear in the Selected list.
5. Select or clear the Refresh At Runtime check boxes that are next to the source documents. Your selections determine whether a particular source document is refreshed against the data source when the publication runs.

Selecting recipients and personalizing recipient content
To select Enterprise recipients:
1. On the navigation list, click Enterprise Recipients.
2. In the "Available" area, browse for the users or groups that you want to include or exclude as recipients.
a. On the navigation list, click User List to display a list of all users in BusinessObjects Enterprise, or click Group List to display a list of all groups.
b. Select the users and groups in the details pane.
3. If you want to include the recipients you selected, move them to the Selected list.
4. If you want to exclude the recipients you selected, move them to the Excluded list.

To specify dynamic recipients
To specify dynamic recipients, you must have a dynamic recipient source already designed and ready for use. The dynamic recipient source contains recipient data and can be a Crystal report, Desktop Intelligence document, Web Intelligence document, or custom-coded data provider.

1. On the navigation list, click Dynamic Recipients.
2. On the Choose the source for the dynamic recipients list, choose the format of the dynamic recipient source.
3. In the right-hand pane, browse for the object you want to use as a dynamic recipient source, select it, and click OK.
4. If you chose to use a Web Intelligence or Desktop Intelligence document as a dynamic recipient source, on the Select the datasource name for the document list, select a query that appears in the document.
5. On the Recipient Identifier list, select a field that contains the recipient identity values.
6. If necessary, on the Full Name list, select a field that contains the full names of recipients.
7. If you intend to deliver the publication to email addresses, on the Email list, select a field that contains the recipient email addresses.
8. Decide whether you want to distribute the publication to all dynamic recipients listed by the dynamic recipient source.
• If you want to distribute the publication to all dynamic recipients, ensure Use entire list is selected.
• If you want to include or exclude some dynamic recipients:
a. Clear Use entire list.
b. On the Available list, select the check boxes next to the recipients you want to include or exclude.
c. If you want to include the recipients you selected, move them to the Selected list.
d. If you want to exclude the recipients you selected, move them to the Excluded list.

To specify formats for a Crystal report
1. On the navigation list, click Formats.
2. On the Title list, select a Crystal report. The "Format Options" area appears and lets you select the publication formats for the Crystal report you selected.
3. Select a format on the Format Options list, and click Add. The format you selected appears in the selected formats list underneath.
4. Select the format on the selected formats list.
5. Enter additional information to customize the appearance of the format
you chose.
6. Repeat steps 4 to 6 for each format in which you want to publish the Crystal report.

To specify formats for a Desktop Intelligence or Web Intelligence document:
1. On the navigation list, click Formats.
2. On the Document list, select a document.
3. On the Output Format list, select the check boxes for the format or formats in which you want to publish the document.
4. With the format option highlighted on the Output Format list, in the "Output Format Details" area, choose whether to publish the entire document or one report tab in the document.
• If you want to publish the entire document, leave All reports selected.
• If you want to publish a single report tab, click Select one report and choose a report tab on the list.
5. Repeat step 4 for every format in which you want to publish the document.

To specify a destination for the publication
1. On the navigation list, click Destinations.
2. In the "Select Destinations" area, select the check box next to the destination that you want.
3. On the Show options for selected destinations list, click the destination option that you selected.
4. Enter additional information to customize the delivery of the publication to the destination.

To specify a profile resolution method
The profile resolution method you specify determines whether instances will be merged or delivered as separate documents if a profile conflict occurs.
1. On the navigation list, expand Additional Options and click Advanced.
2. Under Profile Resolution Method, click Merge or Do not merge.

To specify a report bursting method
The report bursting method you specify determines how the source documents are personalized, processed, and delivered.
Note:
• If your publication is intended for dynamic recipients only, One database fetch per recipient is unavailable.
• If your publication contains Desktop Intelligence documents for which Refresh At Runtime is disabled, you cannot use One database fetch per recipient or One database fetch for each batch of recipients.
• For Desktop Intelligence documents, expression profile values are only compatible with the report bursting method One database fetch for all recipients.
1. On the navigation list, expand Additional Options and click Advanced.
2. Click one of the options under Report Bursting Method.

Personalizing Crystal Reports

To personalize a Crystal report using parameter values
The "Personalization" section lets you personalize a Crystal report for recipients based on the predefined parameter values for each recipient.

1. On the navigation list, click Personalization.
2. In the "Parameters" area, ensure the default values for the listed parameters are correct. If you want to change a default value, click the Edit button that is next to the parameter value. Select or enter the parameter value, and click OK.
3. If you want to override the default parameter personalization with Enterprise recipients' profile values, choose a profile from the list in the Enterprise Recipient Mapping column.
4. If you want to override the default parameter personalization with dynamic recipients' personalization values, choose a dynamic recipient source column from the list in the Dynamic Recipient Mapping column.

To personalize a Crystal report by filtering fields
Perform this task if you want to personalize a Crystal report by filtering a field in the Crystal report.

1. On the navigation list, click Personalization.
2. In the "Filters" area, choose a Crystal report field from the list in the Report Field column. The list of available fields includes all database fields and recurring formulas in the main report or non-on-demand subreports.
3. Choose a profile from the list in the Enterprise Recipient Mapping column.
4. Choose a dynamic recipient source column from the list in the Dynamic Recipient Mapping column.
5. Repeat steps 2 to 4 for every report field that you want to filter.

To set a global delivery rule on a Crystal report
Global delivery rules determine whether a publication will be processed and delivered for all recipients. You can set a global delivery rule on any Crystal report in the BusinessObjects Enterprise system.
1. On the navigation list, expand Additional Options and click Delivery Rules.
2. In the "Global Delivery Rule" area, click Browse.
A dialog box appears and lets you select the Crystal report on which the global delivery rule will be set.
3. Browse for the Crystal report, select it, and click OK. The dialog box closes.
4. On the Condition list, select the alert value that the report must have for the global delivery rule to be met.

To set a recipient delivery rule on a Crystal report
Recipient delivery rules determine whether a publication is delivered to a particular recipient after processing and personalization.
1. On the navigation list, expand Additional Options and click Delivery Rules.
2. In the "Recipient Delivery Rule" area, click Deliver individual document when condition is met or Deliver all documents only when all conditions are met.
3. On the list next to each report, specify a condition that must be met for the publication to be delivered.

PDF merging for Crystal reports
You can merge PDF instances of Crystal reports and static PDF documents into a single PDF for the convenience of your recipients. Static source documents that are not PDF files are excluded from the merged PDF. All static PDF source documents are included in the merged PDF.
You can also do the following with a merged PDF:
• Add and format a table of contents.
• Insert running page numbers.
• Add user and owner passwords that are required to view and edit the PDF.
• Set restrictions on what recipients can do with the PDF.

To format the merged PDF
The options in the Merged PDF Options section let you customize the merged PDF instance generated from a Crystal report publication.
1. On the navigation list, expand Additional Options and click Merged PDF Options.
2. Create and format a table of contents for the merged PDF.
a. Select Create Table of Contents. The format options for the table of contents are available.
b. In the Title field, enter a title for the table of contents.
c. Format the font, font size (in points), and font color that the title and the items in the table of contents will have.
3. Set the page number format options for the merged PDF.
a. Select Apply Running Page Numbers. The format options for page numbers are available.
b. In the Number Format field, enter the format in which you want the page numbers to appear.
c. On the Number Location list, choose the page number orientation for the merged PDF.
d. Format the font, font size (in points), and font color that the page numbers will have.
e. If you want the table of contents to have page numbers, select Apply page numbers to Table of Contents pages.
4. Set recipient logon credentials and permissions for recipient actions.
a. In the User Password field, enter a password that recipients must enter to view the merged PDF.
b. In the Owner Password field, enter a password that recipients must enter to edit the merged PDF.
c. Set permissions for user actions by selecting or clearing the appropriate check boxes.

To personalize a Desktop Intelligence document using a global profile target
The "Global Profiles" area of the "Personalization" section lets you personalize a Desktop Intelligence document for Enterprise recipients by filtering a global profile target.
1. On the navigation list, click Personalization.
2. In the "Global Profiles" area, choose a profile from the list in the Enterprise Recipient Mapping column. This setting maps the Desktop Intelligence document to the universe field (the global profile target) that is filtered for Enterprise recipients.

Personalizing Desktop Intelligence Reports


To personalize a Desktop Intelligence document by filtering fields
1. On the navigation list, click Personalization.
2. Click Add, and type a field name in the field in the Report Field column.
Note:
You must type the field name exactly as it appears in the Desktop Intelligence document; otherwise, personalization will fail.
3. Choose a profile from the list in the Enterprise Recipient Mapping column. This setting maps the field to the profile values that are defined for Enterprise recipients.
4. Choose a dynamic recipient source column from the list in the Dynamic Recipient Mapping column. This setting maps the field in the Desktop Intelligence document to a column in the dynamic recipient source that contains corresponding values.
5. Repeat steps 2 to 4 for every field that you want to filter

To set a global delivery rule on a Desktop Intelligence document
1. On the navigation list, expand Additional Options and click Delivery Rules.
2. In the "Global Delivery Rule" area, click Browse. A dialog box appears that lets you select a Desktop Intelligence document on which the global delivery rule will be set.
3. Browse for the Desktop Intelligence document, select it in the right-hand pane, and click OK. The dialog box closes.
4. In the Condition field, enter a Desktop Intelligence formula expression that must be valid for the global delivery rule to be met.

To set a recipient delivery rule on a Desktop Intelligence document
1. On the navigation list, expand Additional Options and click Delivery Rules.
2. In the Condition field, enter a Desktop Intelligence formula expression that must be valid for the global delivery rule to be met

Personalizing Web Intelligence Reports


To personalize a Web Intelligence document using a global profile target
1. On the navigation list, click Personalization.
2. In the "Global Profiles" area, choose a profile from the list in the Enterprise Recipient Mapping column. This setting maps the Web Intelligence document to the universe field (the global profile target) that is filtered for Enterprise recipients.

To personalize a Web Intelligence document by filtering fields
1. On the navigation list, click Personalization.
2. In the "Local Profiles" area, choose a field from the list in the Report Field column.
3. Choose a profile from the list in the Enterprise Recipient Mapping column.
This setting maps the report field to the profile values that are defined for Enterprise recipients.
4. Choose a dynamic recipient source column from the list in the Dynamic Recipient Mapping column. This setting maps the field in the source document to a column in the dynamic recipient source that contains corresponding values.
5. Repeat steps 2 to 4 for every field that you want to filter.

References:

SAP BusinessObjects XI 3.1 SP3 Publisher Guide:

SAP BusinessObjects XI 3.1 SP3 Admin Guide:
Chapter 26 on Pg # 929

Wednesday, May 11, 2011

PrintControl ActiveX download box appears everytime the users try to print the Crystal Report

Hey folks,

This is something I have faced after installing FP 3.2 on SAP BusinessObjects XI 3.1 SP3. The users started complaining that they are being asked to download the PrintControl everytime they tried to print the Crystal Report.

Here is some information you might be interested in.

Cause:ActiveX PrintControl is a part of a cab file, which is downloaded from the Web Application Server. SAP BusinessObjects compares the version of the PrintControl.dll which is installed on the users machine with the version mentioned in crv.js file. If the version of the plugin mismatches it tries to download the PrintControl.cab file to the client machine and install the plugin. The problem appears if the version mentioned in the crv.js is different than the version of the PrintControl.dll. (Note: There are two dlls with the same name, one of them is inside the cab file which the BusinessObjects server is interested in).

Resolution:
1. Open C:\Program Files\Business Objects\Tomcat55\webapps\CrystalReports\crystalreportviewers\js\crviewer\crv.js in notepad.
2. Identify the line similar to this: bobj.crv.ActxPrintControl_Version= #12,3,2,XXX#;
3. Open C:\Program Files\Business Objects\Tomcat55\webapps\CrystalReports\crystalreportviewers\ActiveXControls\PrintControl.cab
4.Extract the PrintControl.dll to desktop (temporary); right click on it, select Properties and go to version tab to check its version.
5. Compare the two versions - they should be identical. If not, adjust the value in crv.js to reflect that of the PrintControl.dll.

!~Thinker

Tuesday, May 10, 2011

Why can't we disable CMS Server?

Central Management Server (CMS) is the heart of Business Objects. We cannot disable CMS by any means. However, we can stop it.

In a standalone environment, if we disable CMS [it's not possible though :)], we'll not be able to login to the system to enable it again, either through CCM / CMC.

If we stop the CMS server in a clustered system, all the sessions will be redirected / transferred to another CMS. Once we stop the CMS, it will not accept any new request even if it is enabled. It also serves as a name server with which all other servers / services in the cluster register.
We can disable every other server in BO but CMS.

How To Delete A Report And Its Instances Through CMS Database In BOE XI R2

Points to be taken into consideration:

- Before proceeding with the following steps, I’d like to inform you to take the back up of your system database (CMS DB) as well as reporting database (FileStore) to be safe if accidentally any other reports or instances get deleted.

- Also, I’d like to prefer you to do these steps on a test machine, on a test report with instances.

- If you get successful in this work around, then you can go ahead and do the same steps on the actual database.


General Overview:

- Find the report’s SI_ID and ParantID in the database.

- Find all the instances associated with the report along with their SI_ID and the actual location in the database.

- Delete the entries through database.


Actual Steps:

Step 1. Find the report’s SI_ID and ParantID in the database.

Step 2. Find all the instances associated with the report along with their SI_ID and the actual location in the database.

Step 3. Delete the entries of instances through system database.

Step 4. Delete the entries of instances through FileStore

Step 5. Delete the empty folders in the database left behind by the instances.

Step 6. Delete the report object.

Step 1. Find the report’s SI_ID and ParantID in the database.

Open Query Builder and run following command,

SELECT

SI_ID, SI_PARENTID, SI_NAME, SI_LAST_SUCCESSFUL_INSTANCE_ID

FROM

CI_INFOOBJECTS

WHERE

SI_NAME = ‘Report Name’ AND SI_INSTANCE = 0 AND SI_KIND = ‘CrystalReport’

The query provides the following information:

SI_ID: This ID is used as the SI_PARENTID value for each report instances it creates beneath it.

SI_PARENTID: The parent ID of the Report. The value is usually the Folder unique SI_ID it resides in.

SI_NAME: The report name.

- Make a note of report’s SI_ID and its ParentID to use further.

Step 2. Find all the instances associated with the report along with their SI_ID and the actual location in the database.

Open Query Builder and run following command,

SELECT

SI_FILES

FROM

CI_INFOOBJECTS

WHERE

SI_PARENTID = ParentID AND SI_INSTANCE = 1

ORDER BY SI_ID DESC

The query provides the following information:

SI_FILES: The physical location and name of Report Instance in FRS.

SI_PARENTID: The main Report Objects SI_ID value.

SI_INSTANCE: Used to confirm that the object is an instance rather than report template. Value should be True or 1.

- If you have a large number of instances and if the Query Builder is being hang out, then modify the query to give minimal outputs and perform the delete operation for these instances first and retrieve next.

Step 3. Delete the entries of instances through system database.

- Now you have to query to the database through DB client tool and delete these instances by querying to the database. Here, I’d like to mention that, we can’t use ‘Delete’ command through Query Builder.

1. Delete the instances by querying to the database. It will delete all the instances associated with the report.

Ex. Query For MySQL database,

DELETE FROM cms_infoobjects5 WHERE ParentID=’ParantID’;

Where,

‘ParentID’ is the main Report Object’s SI_ID value.

Step 4. Delete the entries of instances through FileStore

Copy the output of Step 2 and paste it in a file on the local drive.

- Create and use a batch file to get only “frs://Output/” locations aside in the file and leave all other content.

- Replace “frs://Output/” with “FileStore\Output\”.

- Also, replace all ‘/’ with ‘\’ in the file to reach to actual file location.

Ex. Query Builder output: “frs://Output/a_096/005/000/1376/”

Replace this with the following,

“FileStore\Output\a_096\005\000\1376\”

- Create and use another batch file to delete these entries through the FileStore at a time.

Step 5. Delete the empty folders in the database left behind by the instances.

A simple way to clean the database with empty folders is by removing these folders using following command line switch.

-prune

- Stop the Input and Output FRS through CCM and add this switch to the command line.

- This instructs the FRS to delete the empty folders and then start the server.

- The server shuts down automatically when the empty folders are deleted.

- You can use the –trace command to get a log file for the number of folders visited and number of objects deleted.

- Remove the switch after completion.

- Start the servers again.

Step 6. Delete the report object.

- Now you can simply go ahead and delete the report through CMC.

Or

- Use the following query through the database client.

DELETE FROM cms_infoobjects5 WHERE ObjectID=’ObjectID’;

where,

ObjectID is the main Report Object’s SI_ID value.