Quantcast
Channel: SCN : Document List - BI Platform
Viewing all 816 articles
Browse latest View live

Limitation in Report name length for translated reports when using Translation Manager

$
0
0

Platform BOE 4.1 on Windows

 

There is a limit of 90 characters for the SI_Name of an object to be translated using Translation Manager.

 

When an object is first published to BOE, the name of the object in the input filestore is set to a combination of the internal ids of object in the CMS database.  When the object is exported from translation manager back to the CMS, the name of the object in the filestore becomes the si_name of the object and the guid.

 

If the si_name exceeds the 90 character limit, the filename in the CMS will not match the name of the file in the input FRS.  When a user tries to run the report, the report can not be accessed and the object appears to be corrupt.

 

If this happens,

  • go to the filepath shown under the object properties and get the file
    You may need another resource to get the file if you do not have access to the server
  • Open the object in the design tool
  • Republish the object to the CMS. 
  • Before using Translation Manager, shorten the name to be less than 90 characters.
  • DO NOT DELETE the un-accessible object until it has been republished.

BO BI Upgrade Strategy

$
0
0

Introduction :


This document will tell briefly about what all things we need to know to upgrade BO environment from BOXI 3.1 to BO 4.1 and migrate Crystal reports from 2008 to 2013.This BO upgradation involves migrating the contents like Web Intelligence Reports, Desktop Intelligence Reports and Crystal Reports.


Installation Configuration for BO BI 4.1 platform

 

  • Only 64-bit Operating systems are supported
  • RAM should be minimum 8GB or more
  • Minimum Server Cores are 4
  • Disk Space should be 15 GB and above.
  • Java version is 6 and above
  • Windows Installer is 3.5 and above.
  • Microsoft .NET Framework is 3.5 SP1 and above.


Benefits of BO BI 4.1 platform


Unified and Highly Personalized

  • Improved usability for all the BI suite applications.
  • Deliver information to users when and where they need it.
  • Involved with all analytic extensions which creates custom experiences.


Powerful Visualizations

  • Organize your business with specialized charting
  • Empower end users with visualizations
  • Discover areas to optimize business


Faster more Accurate Decisions

  • Create BI contents from any mobile device
  • Teams  can now  deliver efficient decisions
  • Simplified deployment to utilize time


Scale & Power

  • Less response time irrespective of data volume
  • Improved usability to build any BI applications
  • Integrate with lifecycle management of SAP.


Speed to Deliver

  • Enhanced design experience with latest creation wizard
  • Automated universe deployment
  • Improved WebI report design

 

Migration Plan


  • Migrated Reports from BOXI 3.1 Prod to BO 4.1 Dev
  • Planning Done By Testing Team

          Generation of Test Cases on the basis of which reports were run. Reports were tested and issues were logged. Estimated the efforts required

  • Issue Analysis & Remediation

               Remediation team analyze and fix the issues in BO 4.1 Dev

  • Testing/Remediation team

              Proper knowledge transfer and learning are shared with admin team

  • Admin team

               They migrates the reports from BO 4.1 Dev to QA

  • Application teams

         They perform UAT  and consults remediation team

  • Go Live: Migrated reports from BO 4.1 QA to Prod   


Upgrade


Phased Approach


This approach enables User/Administrator to select the BI Content to be migrated from Source deployment to new BO 4.1 deployment. Only selected Objects will be copied to the new deployment.

This approach is effective in case of big migration.


Pros

  • Upgrade content in stages
  • Issues affect only the LOB upgraded
  • Short downtime

 

Cons


  • 2 systems to maintain
  • Requires lockdown of Particular LOB folder


Some Useful Tools in BO landscape


Repository Diagnostic Tool (RDT)

It helps to scan for Object to file inconsistencies.

RDT provides diagnosis and repair functionalities.


Life-Cycle manager(LCM)

Migrate the content of a BI repository to another repository within the same version.

Provides Version control.

Allows to use the scripting to automate the import of objects.

Roll back to a previous stable version incase of failure.


Server Monitoring Tool

Ability to capture the runtime and historical metrics of Business Objects servers and applications.

Ensures the reporting environment is functioning normally.

Help in identifying potential problems before they occur.


Upgrade Management Tool(UMT)

Upgrade the content of BI repository from a previous version (BO XI 3.1) of SAP BO.

Can perform Complete or incremental upgrade.

Compete Upgrade upgrades all content at once

Incremental Upgrade upgrades the content in stages


Report Conversion Tool(RCT)

Migrates Desktop Intelligence reports  to  Web Intelligence (WID) format.

It publishes the converted reports to the CMS.

 

Auditing Tool

Helps in better understanding of the users accessing the system and the documents they are interacting with.


Estimation (Complete Migration)


The project effort that was estimated initially was different from that was actually required. During the project, it was brought to knowledge that more effort

would be needed. Therefore, effort was increased and we were able to resolve issues on time meeting the required timelines. Effort is calculated based on the

below formula.


Total Effort Calculation per report = (No of persons* No of working days in a month*Overall Duration in months)/No of reports


Not all the reports were converted successfully while migration. Therefore we calculated conversion success rate for the reports as per below formula.

 

Conversion Success Rate =(Total No of reports-Reports in which defects encountered)/Total No of reports.


Issues faced and Remediation applied are listed below


Data Trimming(Webi)

In BOXI 3.1 Data/Text was coming perfectly for the cell but after migrating the report from BOXI 3.1 to BO 4.1 data/text got trimmed. Therefore, remediation applied is adjusted the width and height of cell in BO 4.1 Dev environment

Data Alignment(Webi)

Similarly for data alignment we have to adjust the cell padding (left and right) in BO 4.1 Dev environment to get final output inline with BOXI 3.1 environment.

Data missing/mismatch(Tab Switching issue)(Webi)

There was some mismatch of data or some issues regarding data missing was also encountered. This is the Alerter issue. Therefore, we changed all the alerter default values to some value , and the issue was resolved.

PDF export Issue(Data Missing)(Webi)

Issue -> Reports with different tabs were having data of only first tab getting exported to pdf.

Resolution à Visit each tab of the report and purge the data. Export report to get the required data.

Scale Error(Webi charts)

Scaling of some webi charts was different after the migration of report.Therefore, in order to resolve this issue we change the Tick Density of Y axis from automatic to fixed value in BO 4.1 dev environment.

Overlapping of coordinate legends(Webi Charts)

In BO 4.1 Dev, some webi charts have coordinate legends that get overlapped.This issue is resolved by Right click the chart .Click Format chart -> Data series and select Data position to outside.

Scheduling Error(Admin Perspective)(Webi)

This error came up when the reports are huge due to less memory cache. So to remediate such errors memory cache is increased and reports are scheduled .

Font Difference(Deski & Webi Charts)

This issue is a rendering issue of Avenier Next Font. Only Visualization was different. 

Cascading LOV’s Issue(Webi)

This issue is resolved by making changes at the universe level. Cascading LOVs is created by using the objects of the universe and the same will be prompted while generating the Webi report.

Font Difference PDF Export(Crystal Reports)

This is the only issue observed in Crystal reports and it is due to resolution difference in the 2 versions.

#Syntax Error(Webi)

This issue came up because the data provider name was matching the variable name and hence that variable was not getting migrated. Therefore, Changed the variable name in BOXI 3.1 Production environment and requested application team to re migrated the report


Learnings and Best Practices for Upgrade

Choose autofit width to cell contents wherever possible (WebI).

•Do not create variables with same name as that of the dataprovider (WebI).

•Alerters with default values does not seem to work properly in Webi 4.1

•Cascading LOV’s in Webi does not work, have to be created manually in the universe.

•Crystal Reports is a very stable platform. Very less no. of defects

•Crystal reports font issues due to resolution difference.

•Deski converted to Webi have rendering issue with Avenir Next Font after upgarde.



Please do share your comments and feedback.


Regards,

Saurabh

CMS DB Migration from SQLAnywhere to HANA Database for Linux/Unix environment

$
0
0

This document helps the user to migrate CMS DB from SQLAnywhere to HANA Database where BOE is installed in Linux/Unix environment.

To make it simple I have divided the migration into two phases where Phase 1(Configuration Phase) deals with the configuring the required settings for migration and Phase 2(Migration Phase) deals with the actual migration.


Phase 1: Configuration Phase                     

                       In this phase we install the HANA client, configure the DSN, which is explained in detail below.


                            Step 1: Install HDB Client in the machine where BOE is installed.


                            Step 2: Using the below command copy libodbcHDB.so file from HDB Client directory to linux_x* directory.


                                  cp <HDB_Client_Install_Directory>/libodbcHDB.so<BOE_Install_Dir>/sap_bobj/enterprise_xi40/linux_x64/

                              cp <HDB_Client_Install_Directory>/libodbcHDB.so<BOE_Install_Dir>/sap_bobj/enterprise_xi40/linux_x86/

 

 

                             Step 3: Add the details of HANA server in odbc.ini which is present in <BOE_Install_Dir>/sap_bobj/enterprise_xi40/

                                  Below is the screenshot, which has details of HANA driver

 

                             

 

                                                                                               echo $ODBCINI


                                          Note: Output should be: <BOE_Install_Dir>/sap_bobj/enterprise_xi40/linux_x64/

 

 

Phase 2: Migration Phase

                            In this phase, we perform the actual migration using cmsdbsetup.sh script.


                                 Step 1: Run cmsdbsetup.sh script present in <BOE_Install_Dir>/sap_bobj/


                                                                   ./ cmsdbsetup.sh


                                 Step 2: Specify the name of the node and press enter. In this example "lnxsuse11x64" is the name of the node.

 

                                                 

                                 Step 3: You need to stop the node before migration so select option 3 to stop the node.

                                                  

                                 Step 4: Select option 4 "copy" for Database Copy(by default it will be "update").

                                    

                 Step 5: It will show a warning message that this operation will deleted BIP tables in destination DB. Select option 3 "Yes"(by default it will be "No")

                                                               

                         Step 6: It will prompt whether you need current DB(SQLAnywhere) as destination database. You need to select option 2 "No"(by default it                                            will be "Yes")

 

                                        Note: If you choose yes it will delete all BIP tables from current DB. In this our destination DB is HANA so select option 2.

                                                   

                        Step 7: Select option 8 “SAP HANA” as destination database.

                                                                    

                        Step 8: Enter the ODBC DSN for connecting HANA DB(This values should be same as values entered in odbc.ini file). In this                                                             example “Hana_Migration” is DSN name for HANA DB.

                                                   

                        Step 9: Enter User Name for connecting HANA DB.

                                                                           Step 10: Enter Password for connecting HANA DB.

                                                  

                        Step 11: Enter CMS Cluster Key.

                                                  

                        Step 12: Now you need to specify Source CMS database. In this case you need to select option 2 “SQLAnywhere”.

                                                   

                        Step 13: Enter the ODBC DSN for connecting SQLAnywhere DB(This values should be same as values entered in odbc.ini file).

                                      In this example “BI4_CMS_DSN_1452244015” is DSN name for SQLAnywhere DB.

                                                  

                        Step 14: Enter User Name for connecting SQLAnywhere DB.

 

                                                      

 

                        Step 15: Enter Password for connecting SQLAnywhere DB.

                                                   

                        Step 16: Enter CMS Cluster Key.

                                                 

                                Step 17: Data successfully migrated to HANA DB.

                                                     

                                Step 18:  You can see CMS tables in HANA DB using HANA Studio.

                                             

Dashboard for Top-N values using BI Web service:

$
0
0

As we know that BEx query condition is not working in dashboard report, then how condition can put on keyfigure to get Top-N or Bottom-N values, for this webi report can be created for Top-N and Bottom-N No of values with rank formula and same can access in dashboard using web service. Below is the step by step process.

 

1) Create BEx query report as per requirement.

2) Create webi report on Bex query for Top 15 Customer by using Rank function.

    a) Create webi report on Bex query(in my example it consist of Customer id, name and there turnover of the month)

       

 

    b) Right click on turnover column and Add Ranking.

        

 

     c) Now desire output of Top Ten Customer will get as below, saved the webi report on BI platform.

        

 

3) Create web service on webi report.

    a) Select report table properly and right click then ‘Publish as Web Service’ then Next

       

 

       b) Click on next and check for Filter prompt which we use for Filter in dashboard.

         

 

        c) Define Publish content(Name and description) for web service

         

 

        d) Create or select existing web service to publish new content to as web service.

          

 

         e) Now web service has been created successfully, you can see it in ‘Web Service Publisher’ Panel at the left side. The content of web service would access through WSDL URL Link refer below screen shot.

          

 

4) Open dashboard report and Add connection (Query web service) to web service.(Click on Data  and then Add Connection in menu bar or Click on manage connection in tool bar and then select Web service query(Query as web service). In the WSDL URL box, Paste WSDL URL and click on import button.

           

 

5) As per below screen shot, two block Input Values and Output Values are shown we need to provide values in ‘Input values block’ and take output values from ‘output value block’, refer below screen shots and bind input block with excel cell in which required value is given like login id, password, required prompt value, resetState (resetState and refresh are used for refresh data on selection prompt values) and Also bind output block with Excel cell to taking web service values like Header, footer and Table values.

         

            

 

6) Please check ‘Refresh Before Component are Loaded’ check box and check when value changes option button and bind Trigger cell with Excel, so whenever the value is changed new data is refresh from Web service.

          

 

7) Drag and Drop Dashboard components and bind it with Excel cell as per requirement and execute.

          

 

 

Thanks,

Kashif Ali Khan

SAP Product Standard Supportability applied to SAP BusinessObjects BI – Wily Introscope

$
0
0

Introduction:

This guide provides SAP Product Supportability Standards best practices and instructions for trouble-shooting the SAP Business Objectsplatform and clients

Benefits:

View the bigpicture of elapsed time acrosscomponents.

Drill down to each component to understand the bottlenecks.

Improveroot cause analysisusing Solution Manager combinedwithWilyIntroscope.

Step by Step PHASE-WISE Installation in SAP BusinessObjects Business Intelligence (BI) platform 4.2 when updating/patching the BI 4.x.

$
0
0

What is PHASE-WISE ?

 

Phase-wise installation of BI 4.2 installer You can now perform the installation of BI platform 4.2 in two phases - Caching and Installation after caching.

During caching the system downtime is eliminated, which reduces the overall system downtime.This will save your time and more importantly if you have issues in INSTALL-DATA folder or any files or any issue which may arise during the update because of Cache will be minimized and your main server update will be unaffected.

 

 

Pre-requisites before proceeding :

 

  • Ensure you take the necessary backup of CMS database and Filestore for safe side using KBA-1275068 - Backup and restore BusinessObjects Enterprise XI 3.x / BI 4.x system from one environment to another.
  • Follow BEST practice KBA- 1952120 - SAP BusinessObjects (XI 3.1 and BI 4.0) Installation pre-requisites & best practices / KBA-1757132 - BI4 Support Pack Upgrade and Patch Install Best Practice Guide
  • Download the correct setup for SAP BusinessObjects Business Intelligence (BI) platform UPDATE from Support and Patches section in SMP ( Service Market Place)
  • Applicable for BI 4.2 Installers and should not be tried with BI 4.0/4.1 products.
  • VERY IMPORTANT : If updating the Server from BI 4.1 ensure to check the licensee policy and requirement using link :  BI4.2 New License Key Requirement when updating from BI4.0/BI4.1

 

Step by Step Update using Phase-wise installation method in BI 4.2


  • Navigate to command prompt ( Elevated Mode : Run as Administrator ) & Enter the location where the software is downloaded.

 

1.JPG

  • Enter the setup.exe -cache <path><file name>.
    • Here I have Created "phaseresponse" folder for it : setup.exe -cache c:\phaseresponse\response.ini

 

2.JPG

 

In the Installation wizard window, review the instructions displayed.

 

3.JPG

 

4.JPG

 

5.JPG

 

 


"In the License Agreement window, review and accept the license agreement.In the New License Key Requirement window, review the contents of the New License Key Requirement, and select the check box I have read the documentation and understand the process to request the new license

key, and agree to add the new license key after update installation, and choose Next Note When you update your system from Business Intelligence Platform 4.2 SP1 or earlier versions to Business Intelligence Platform 4.2 SP2 or higher versions, the existing licenses behave as invalid licenses. You need

to request a new license key for Business Intelligence Platform 4.2 update from SAP Service Market Place, visit https://support.sap.com/keys-systems-installations/keys.htmlFor more information on how to request a new license key, visit http://scn.sap.com/docs/DOC-70095 "

After you update your system to Business Intelligence Platform 4.2 update, you must logon to Central Management Console; delete the old license key and add the new license key. Alternatively, you can run the script to delete the license keys. For more information on how to delete the license key through the script,see SAP Note 227613 Until you add the new license key in Central Management Console, certain servers are in disabled state.Once you add the new license key, navigate to Servers window, enable those servers which are in disabled state.

 

For more information, see Business Intelligence Platform Administrator Guide

 

6.JPG

 

 

 

  • In the Existing CMS Deployment Information window, enter the CMS Logon Administrator Information password.

 

7.JPG

 

  • Start Installation window apperars, To start caching, choose Next.

8.JPG

 

9.JPG

 

  • Caching completed successfully screen appears. !!! Please note this Windows will be minimized in Task Bar So Please check it or it will appear that installer is hung"

 

10.JPG

 

During the caching process the system downtime is eliminated and servers can be up and running during this process and no changes to done.

 

 

 

 

Step by Step Starting the update :

  • Once the response file is generated and caching is done then you can follow the Best practices KBA mentioned in the Pre-requisites. THIS WILL REQUIRE THE DOWNTIME AND UPDATE STRATEGY WE FOLLOW"

 

 

 

  • Navigate to the directory where response.ini file is located.

 

11.JPG

 

  • Edit and Enter the Remote CMS Administrator Password and save the response.ini file.

 

12.JPG

 

13.JPG

 

  • Navigate to command prompt.Enter the location where the software is downloaded.
  • Enter the setup.exe -resume_after_cache <path><file name>.
    • Here I have Created "phaseresponse" folder for it : setup.exe -resume_after_cache c:\phaseresponse\response.ini


14.JPG

 

  • In the Resume installation window, choose OK

 

15.JPG

 

16.JPG

 

17.JPG

 

In the Post Installation Steps window, follow the instructions and choose Next

The installation of SAP BusinessObjects Business Intelligence Platform 4.2 update is completed successfully.

Note

 

● You can experience the system downtime only during the installation after caching, hence the overall

system downtime is reduced.

● After you start the installation, the installer repairs any errors that occurred during the caching and

proceeds with the installation.

 

 

_MAHAK

SAP BI Customers' Handbook

$
0
0

Introduction

 

Are you new to SAP BusinessObjects Business Intelligence (BI)?  Or are you looking for a fast and easy way to find the answer to you BI questions? Then this guide is for you.

 

 

 

New to SAP BI

 

 

 

What is BI?

 

These tutorials have been developed to help you get started using Business Intelligence products. New content is added as it becomes available, so check this site for updates.

http://www.sap.com/LearnBI

 

 

Where to download BI products?


You can download SAP BI product’s Support Packages and Patches here.

https://support.sap.com/software.html

 

 

Where are BI-related documents?

 

The Analytics Knowledge Center lets you search for files related to a specific product, or a specific release, or a combination of product and release. Multiple languages versions are available.

http://help.sap.com/boall

 

 

What is Service Market Place (SMP)? – One Support Launchpad?

 

The Service Market Place (SMP) hosts the Support Portal, Help Portal and other useful content.

http://service.sap.com/

 

The One Support Launchpad is also available.

https://launchpad.support.sap.com/

 

 

What is the Support Portal? – One Support Launchpad

 

Here you can

  1. search for SAP Notes, Knowledge Base Articles;
  2. request a license key;
  3. create incidents and check your inbox;
  4. read SAP Spotlight News, etc.

http://support.sap.com/

 

The One Support Launchpad is also available.

https://launchpad.support.sap.com/

 

 

How to get a license key for a BI product?


You can request a license key or get a temporary license key here: https://support.sap.com/keys-systems-installations/keys.html

For problems when requesting or creating a license key, you can create an incident using component XX-SER-LIKEY-BOJ.

 

 

 

Self-service

 

 

 

What is the BI Platform Support tool?

 

The BI Platform Support Tool is a Java-based utility used by support engineers, consultants, and BI administrators. It simplifies the process of reporting on the landscape configuration, performing root cause analysis, and delivering performance optimization and go-live services.

 

Please always remember to provide this information to SAP Support when you create an incident.

http://wiki.scn.sap.com/wiki/x/5oMCFQ

 

 

Where to find Product Available Matrix (PAM)?

 

Product Availability Matrix:

https://apps.support.sap.com/sap/support/pam

 

The following KBA contains links to all the PAM documents for BI Products.

2183884 - Master KBA: Supported Platforms Guide / Product Availability Matrix (PAM) document links

 

 

Where is the SAP BI Forum?

 

The BI Forum contains useful blogs, answers to questions from other customers, and useful localized documents.

When you have a question about BI products, this is the best place to start.

http://scn.sap.com/community/business-intelligence

 

 

How to troubleshoot on my own?

 

Would you rather try to solve an issue on your own, rather than creating an incident?

With ‘Troubleshooting by Scenario,’ you can.

This allows you to follow exactly the same steps and methodology that a SAP support engineer or developer would follow to isolate the issue.

http://wiki.scn.sap.com/wiki/x/A4ZjFg

 

 

How to size your system to improve performance?

 

Sizing means determining the hardware requirements of an SAP solution, such as network bandwidth, physical memory, CPU power, and I/O capacity.

http://www.service.sap.com/sizing

1570271 - How to find Sizing information for SAP Business Objects Products

 

SAP’s Sizing Guide provides recommendations and best practices to help with deploying and scaling the various services in SAP BusinessObjects BI 4. Also included are information and details about the sizing tests and the methodology used to create the various sizing tools and documents in support of BI 4.

https://scn.sap.com/docs/DOC-33126

 

 

What would you do when you meet a third-party product error?

 

Apache Tomcat, a free open-source third-party web application server, is not an SAP product.

SAP recommends you contact a qualified third-party vendor or consultant for problems such as performance tuning, OutOfMemory issues, or not being able to start or stop Apache Tomcat.

 

2280098 - Does Apache Tomcat belongs to Product Support scope?

 

The other third-party products used by BI are also supported as the similar way.

 

 

Where to check SAP BI Product’s Support Package and Patch schedule?

 

Here you will find the information on the Maintenance Strategy and Schedule for BusinessObjects Enterprise XI 3.1 and BusinessObjects BI Platform 4.x. While please be aware that the information contained in this schedule is subject to change. SAP BusinessObjects does not guarantee the availability of a delivery on the specified date.

The delivery frequency of a product version may change during its lifecycle.

 

2144559 - Maintenance/Forward Fit Strategy and Schedule for BOE XI3.1 and BI4.x

 

 

How to handle the security vulnerabilities?


When a third-party tool such as WebInspect or AppScan has been pointed at a deployment of an SAP Business Objects product, (XI R2, XI 3.1, BI 4.x etc) and the resulting report shows a number of security vulnerabilities (such as Cross Site Scripting), you could refer to the following SAP KBA to see the responsibilities of SAP engineers and the customer.


1475602 - Support procedures for identifying and resolving security vulnerabilities in SAP Business Objects products

 

 

Where to submit a product enhancement request?

 

To request a new feature or product enhancement, SAP has defined a new process and a new tool that is now available to customers called Idea Place. Idea Place allows customers to log Enhancement Requests themselves and work more directly with our technology and Development group.

https://ideas.sap.com

 

1515837 - How To: Enhancement Request Process - "Idea Place"

 

 

 

Creating an incident

 

 

 

How to use chat with BI Support in real time?

 

SAP is now offering chat support for specific product components. For these, you can always use chat to contact SAP Support in real time.

2213344 - How to start a chat with SAP Support [video]

 

 

What is the SAP Customer Interaction Center’s hotline number?

 

560499 - Customer Interaction Center: Hotline Numbers & E-mail Addresses

 

 

What’s the difference between Support and Consulting?

 

When you have a consulting request, you can use SCN BI forum or consulting service.

83020 - What is consulting - What is support?

 

 

What’s the criteria for Very High priority incident?

 

An incident should be categorized with the priority "very high" if the problem has very serious consequences for normal business processes or IT processes related to core business processes. Urgent work cannot be performed. This is generally caused by the following circumstances.
- A productive system is completely down.
- The imminent system go-live or upgrade of a production system can't be completed.
- The customer's core business processes are seriously affected.
- And for each circumstance a workaround is not available.

 

67739 - Priority of problem incidents

 

 

How many questions can I ask in one incident?

 

There should only be one question per incident. This ensures that you get speedy assistance for each problem you may be having.  Different questions can be addressed separately by different engineers specialized in different areas.


50048 - Several queries in an incident

 

 

Why do SAP Support engineers ask how to reproduce an issue?

 

SAP Support engineers need to reproduce the errors in order to be able to find a solution. This is the only way to find out what is happening in the code.

9 - Error cannot be reproduced: No solution

 

If the issue cannot be reproduced, you may find out some information on the SAP SCN Forum.

http://scn.sap.com/community/business-intelligence

 

 

How to do a remote screen-share session with SAP Support?

 

SAP Support uses Citrix GoToAssist to perform remote sessions with customers.

2026090 - How to install and configure Citrix GoToAssist from the SAP Service Marketplace [video]

 

 

How to perform a remote support?

 

There are many remote support types according to different situation, such as HTTP connection, WTS connection, BW specific connection. Your system needs to be configured according to the notes below to benefit from remote support.

592085 - Set up the HTTP Connect service

605795 - Windows Terminal Server connection in remote support

2254845 - SAP NI Connection replaces "BW RFC" and "BW GUI" Connection

 

In the event of a problem, you can create an incident using component XX-SER-NET. Our engineers from the Network team will help you.

SAP BusinessObjects BI 4.1 Supported Platforms (PAM)

$
0
0

Supported Platforms (PAM) for SAP BusinessObjects Business Intelligence 4.1 and above. This presentation describes compatibility with external platforms and technologies.

View this Presentation


Migrating SAP BI4 Sample Database & Universe to MS SQL Server 2012

$
0
0

Migrating SAP BI4 Sample Database & Universe to Microsoft SQL Server 2012

Introduction

Two sample Microsoft Access databases and Universe come with SAP BI 4.1.x eFashion and Club. This document describes the step-by-step instruction to migration the eFashion database from Access to Microsoft SQL Server 2012, as well updating the eFashion Universe. The Club database and Universe can be migrated and updated in a similar manner.

Overview

To migrate the database we will use SQL Server Management Studio (SSMS), a tool that creates NEW tables in a SQL Server 2012 schema and imports data from an Access database. Once the database has been migrated we then need to make a several updates to the eFashion universe to use SQL Server 2012 rather than Access syntax.

01_BI4_SampleLocation.png

The sample Access databases, Universes and Web Intelligence documents


D:\SAP BusinessObjects\SAP BusinessObjects Enterprise XI 4.0\Samples\webi

 

 

 

Prerequisites

First we need to download SQL Server Express 2012 and SQL Server Management Studio tools (FREE). If you already have a licensed site for SQL Server 2012 no download is required. The great thing with using SQL Server Express 2012, it will support 64bit ODBC Drives now required by BI4 Platform.  The SQL Server Management Studio (SSMS) does not need to be installed on BI4 Platform Server as long as the SSMS tool can read the eFashion Access Database.  You can even copy the efashion.mdb file to SQL Server2012 Server.

 

Link to download SQL Server Express 2012 + Tools [FREE]

http://www.microsoft.com/en-ca/download/details.aspx?id=29062

02_MS Download SQL2012 Express.png

Second we need to installed SQL Server 2012 64bit Native Clients ver11 on all BI4 Platform Server and create 64bit System DSN called eFashion [ http://www.microsoft.com/en-ca/download/details.aspx?id=36434 ].

Download - SQL2012 Client.PNG

Make sure you have proper permissions to MS SQL Server Express 2012 / SQL Server 2012 to create tables and insert data.  You will need a BLANK SQL Server 2012 database called “eFashion”.

 

Migrate eFashion Database

Import_00.png

Import_01.png

Import_02.png

Import_03.png

Import_04.png

Import_05.png

Import_08.png

 

Migrate / Update eFashion Universe

Now that we have successfully migrated the eFashion database to SQL Server2012 we need to update the eFashion universe to utilize the SQL Server2012 datasource.

We need update SQL for several Objects and Predefined Condition, see below

Step 01: Launch Designer and go to <Tools>, <Connections> to make sure proper connection exist using SQL Server 2012 driver, called “eFashion_SQL”.  If you already have another connection, you can utilize that one instead.

Step 02: After validating connection, <import> universe from BI4. Import the eFashion universe found under “webi universes”. Optional take back-up of eFashion using Access DB

Step 03: Next go to <File>, <Parameters>, Definition Tab <Connection> and update to use “eFashion_SQL”.

Step 04: Update Description so that we can identify our updated universe, for example:

  • Add comment about using MS SQL Server 2012 Database
  • Update when last updated

Step 05: Next we need to <View>, <Refresh Structure> to confirm all the Tables are valid. You may need to update the table owner depending on UserID being used to connect to SQL Server. Select all tables, right click and select rename table with owner, if needed.

Step 06: Click <Ok> to save changes

Step 07: Run an Integrity Check to view error’s prior to making changes

Access-to-SQL2008_IntegrityCheck.png

Step 08: Update the SQL Select &/or Where clause for list of objects as shown below.

ALL_Objectsa.png

Update Invalid Objects and Conditions

Objects/Condition

Access

SQL2008+

Holiday (y/n)

ucase(Calendar_year_lookup.Holiday_Flag)

upper(Calendar_year_lookup.Holiday_Flag)

Region

N / A

CASE
WHEN @Select(Store\State) IN ('IllInois', 'Massachusetts') THEN 'Mid West'
WHEN @Select(Store\State) IN ('DC', 'New York')  THEN 'East'
WHEN @Select(Store\State) IN ('Florida', 'Texas ') THEN 'South'
WHEN @Select(Store\State) IN ('California', 'Colorado') THEN 'West'
ELSE 'UNKNOWN' END

Sales floor size group

IIf(Outlet_Lookup.Floor_space>=1000, IIf(Outlet_Lookup.Floor_space>=2000, IIf(Outlet_Lookup.Floor_space>=3000, IIf(Outlet_Lookup.Floor_space>=4000, IIf(Outlet_Lookup.Floor_space>=5000, '5000 +','4000-4999'),'3000-3999'), '2000-2999'),'1000-1999') ,'0-999')

CASE
WHEN Outlet_Lookup.Floor_space  > 5000
THEN '5000+'
WHEN Outlet_Lookup.Floor_space >= 4000
THEN '4000-4999'
WHEN Outlet_Lookup.Floor_space >= 3000
THEN '3000-3999'
WHEN Outlet_Lookup.Floor_space >= 2000
THEN '2000-2999'
WHEN Outlet_Lookup.Floor_space >= 1000
THEN '1000-1999'
ELSE '0-999'
END

Sold at (unit price)

IIf(@Select(Measures\Sales revenue)>0,
IIf(@Select(Measures\Quantity sold)>=0,
@Select(Measures\Sales revenue)/@Select(Measures\Quantity sold)))

CASE
WHEN @Select(Measures\Sales revenue)>0 AND
@Select(Measures\Quantity sold)>=0
THEN @Select(Measures\Sales revenue)/
@Select(Measures\Quantity sold)
ELSE 0
END

Holiday period

ucase(Calendar_year_lookup.Holiday_Flag) = 'Y'

UPPER (Calendar_year_lookup.Holiday_Flag) = 'Y'

Sales floor size?

IIf(Outlet_Lookup.Floor_space>=100, IIf(Outlet_Lookup.Floor_space>=200, IIf(Outlet_Lookup.Floor_space>=300, IIf(Outlet_Lookup.Floor_space>=400, IIf(Outlet_Lookup.Floor_space>=500, '500 +','400-499'),'300-399'), '200-299'),'100-199') ,'0-99') IN @Prompt ('Sales flloor size sqFt?','A',{'0-99','100-199','200-299','300-399','400-499','500+'},MULTI,CONSTRAINED)

CASE
WHEN Outlet_Lookup.Floor_space  > 5000
THEN '5000+'
WHEN Outlet_Lookup.Floor_space >= 4000
THEN '4000-4999'
WHEN Outlet_Lookup.Floor_space >= 3000
THEN '3000-3999'
WHEN Outlet_Lookup.Floor_space >= 2000
THEN '2000-2999'
WHEN Outlet_Lookup.Floor_space >= 1000
THEN '1000-1999'
ELSE '0-999'
END IN @Prompt ('Sales flloor size sqFt?','A',{'0-99','100-199','200-299','300-399','400-499','500+'},MULTI,CONSTRAINED)

Owned stores

@select(Store details\Owned (y/n)) = 'Y'

@Select(Store details\Owned (y/n)) = 'Y'

Stores with long opening hours

@select(Store details\Long opening hours) = 'Y'

@Select(Store details\Long opening hours) = 'Y'

 

Step 09: After update then <Save> and check <Integrity> to make sure all is working properly.

Step 10: Last <Export> to CMS to test updated eFashion Universe.

Step 11: FINISHED

 

If you have any documents that are created against this universe then check that these are OK by editing the query and executing. Remember to save updated report.  You are also provided with list of samples located at D:\SAP BusinessObjects\SAP BusinessObjects Enterprise XI 4.0\Samples\web


NOTE: See attached FIXED UNIVERSE & Excel showing SQL changes

Download attached file containing UNV & Excel table.  You may need to change extension from TXT to ZIP for ZIPPED file. !!!

BO 4.2 CMC Administrator Cockpit Feature

$
0
0

Administrator Cockpit –

 

  • If the administrator want to get a fast insight about the BO systems.
  • With the new SAP Business Objects BI platform 4.2, administrators can now view some basic information about the BI environment in real-time using the BI Administrator’s cockpit application that’s available in CMC. Currently you can view information about Servers, Scheduled Jobs, Content Usage, and Applications.
  • Note -This application is not supported in Internet Explorer.


                              scn.png

            Servers Tile

      • Servers tile displays the total Servers that are available and the number of server that are running, failed, or stopped.
      • On clicking the servers tile user will be navigated to detailed server page with all the servers state and the last modified date.

 

 

            Scheduled Jobs Tile

      • Scheduled Jobs tile displays all the jobs that are running, success, or failed, and you can filter the tile for a specific time (i.e. Today, Last 7 Days, Last 30 days, Quarter, or Year).
      • On clicking the scheduled jobs tile user will be navigated to detailed jobs page which shows status of all the jobs.

        

           Content Usage Tile

      • Content Usage Tile displays the total content that is active or Inactive in your BI Platform, i.e. it shows the no. of reports or dashboards that are active or inactive. Users can filter the tile for a specific time (i.e. Today, Last 7 Days, Last 30 days, Quarter, or Year).

         

           Application Tile –

      • Application Tile displays the no of artefacts by each application type, and similar to other tiles you can filter the tile for a different time ranges.

BI 4.1 Java SDK - setting Webi prompts

$
0
0


While working for  Business Object Java SDK 4.0 , we went through couple of business scenario where we did customization on BI Launchpad and perform schedule webi reporting. There is well known API which helps to set up desired prompts and their value to schedule the same. We have upgraded the BI from BI 4.0 to BI 4.1 and the customization we performed  for setting prompt broke. BI 4.1  doesn’t support set prompt API anymore.

 

There is recommendation to use RESTFul API from Business Objects support team but using RESTFul API is good with others functionality except to deal with setting prompts.

We found  a different approach to set prompt value back to report engine to run report on new prompt field values.

 

The following method helps to set prompts:

We have single value prompt, Multi value prompt and optional prompt to deal with.

public StringBuilder populateWebiPrompts(Workspace workspace, WorkspaceService workSpaceService, List<Parameter> srcParameters,

                  IWebiProcessingInfo dstWebi, Locale pvl, SharedPromptsBean.DocumentWrapper docWrap,

                  Report rptDtls, DriverManagerDataSource datasourceAudit) throws SDKException {

//          System.out.println("populateWebiPrompts");

            if (srcParameters == null)

                  thrownew SDKException.InvalidArg();

 

            StringBuilder promptsQuery = new StringBuilder();

 

            // report prompts from excel sheet to feed back to report to schedule

            PromptExcell[] reportExcellPrompt = rptDtls.getPromptsExcell();

 

            promptsQuery.append(String.format("%nReport %d: '%s' / '%s'%n", rptDtls.getRow(), rptDtls.getReportName(), rptDtls.getInstanceTitle()));

 

            // we are going to populate the prompts from rebean

            // clear out SI_PROMPTS in webiinfoobject

            ListdstPrompts = null;

            dstPrompts = ((IInternalWebIntelligenceProcessingInfo) dstWebi).getPrompts(true);

            intdstPromptsCount = dstPrompts.size();

//          System.out.println("dstPromptsCount" + dstPromptsCount);

            if (dstPrompts != null) {

                  for (inti = 0; i< dstPromptsCount; i++) {

                        dstPrompts.remove(0);

                  }

            }

 

            List<Parameter> srcPrompts = new Vector();

 

            // read parameter to handle each promptParameter

            for (Parameter parameter : srcParameters) {

                  srcPrompts.add(parameter);

            }

 

            intsrcPromptsCount = srcPrompts.size();

//          System.out.println("srcPromptsCount" + srcPromptsCount);

 

            ListpromptInfos = docWrap.getPrompts();

 

            for (inti = 0; i< srcPromptsCount; i++) {

                  Parameter srcPrompt = srcPrompts.get(i);

                 

                  intj = 0;

                  booleanbFound = false;

                  String promptText = srcPrompt.getPromptText();

                  for (intk = 0; k< reportExcellPrompt.length&& !bFound; k++) {

                        if (reportExcellPrompt[k].getName().indexOf(promptText) != -1) {

                              j = k;

                              bFound = true;

                        }

                  }

                 

                  // add current value

                  Answer answer = srcPrompt.getAnswerInformation().getPreviousAnswer();

                  DataType dataType = srcPrompt.getAnswerInformation().getDataType();

                  if (answer == null) {

                        ReportsSchedulerLogger.logInfoMessage("answer is null, need to play with it");

                        // setign up answer for which prompt there is no answer from parameterList.   

                        if (srcPrompt.isOptional()) {

                              if(( reportExcellPrompt[j].getValue() != null  && !"".equals(reportExcellPrompt[j].getValue()) ) ){

                                    // optional prompt can be of single Answer value or multiAnswerValue

                                    // creating Multi or Single ValueAnswer promt if we need feed back data to prompt to run report, mean if the excel file have values for these

                                    // optional prompt

                                    // dealign multiAnswerValue with help of prompt text

                                   

                                           // if the prompt text doesn't look for multiAnswerValue prompt, create singleAnswerValue prompt

                                                AnswerInformation answerInfo = srcPrompt.getAnswerInformation();

                                                Answer answer1 = ParameterAnswerFactory.createSingleAnswer(srcPrompt, "", "");

                                                srcPrompt.getAnswerInformation().setPreviousAnswer(answer1);

                                                answer = srcPrompt.getAnswerInformation().getPreviousAnswer();

                              } else {

                                    // if there is no value available into excel sheet to feed back, then create simple SkippedAnswer prompt to avoid null value to set it

                                    // create skipped parameter if the answer is null to avoid unwanted value pass to report engine

                                          Answer answer1 = ParameterAnswerFactory.createSkippedAnswer(srcPrompt);

                                          srcPrompt.getAnswerInformation().setPreviousAnswer(answer1);

                                          answer = srcPrompt.getAnswerInformation().getPreviousAnswer();

                                    }

                        }

                        else {

                              // no idea, what else we need to deal with , for time being, creating single value answer

                              AnswerInformation answerInfo = srcPrompt.getAnswerInformation();

                              Answer answer1 = ParameterAnswerFactory.createSingleAnswer(srcPrompt, "", "");

                              srcPrompt.getAnswerInformation().setPreviousAnswer(answer1);

                              answer = srcPrompt.getAnswerInformation().getPreviousAnswer();

                        }

                  }

 

                  if (answer != null) {

                        String promptInfName = "";

                        booleanbIsReset = false;

 

                        SharedPromptsBean.PromptInfo promptInf = (SharedPromptsBean.PromptInfo) promptInfos.get(i);

                        promptInfName = promptInf.getPromptName();

                        bIsReset = false;

 

//                      System.out.println("answer not null");

                        String name = srcPrompt.getIdentifier();

                       

 

                        if (promptInfName.equals(promptText) && bIsReset) {

                              continue;

                        } else {

                              IWebiPrompt dstPrompt = ((IWebiPrompts) dstPrompts).add(name);

                              ListdstValues = dstPrompt.getValues();

                              ListdstDisplayedValues = dstPrompt.getValuesToDisplay();

                              ListdstIdxs = dstPrompt.getValueIndexes();

                              dstValues.clear();

                              dstIdxs.clear();

                             

                              promptsQuery.append(String.format("%s = '%s'%n", promptText, reportExcellPrompt[j].getValue()));

 

                              if (promptInf.getIsDynamic()) {

                                    // if check box state = true for UseFormula

                                    dstPrompt.setDynamic(true);

                                    // TODO: perhaps we need to localize the string

                                    String dynamicLabel = "#Dynamic value";

                                    dstValues.add(dynamicLabel);

                                    dstDisplayedValues.add(dynamicLabel);

                                    dstIdxs.add("");

                              } else {

                                    dstPrompt.setDynamic(false);

 

                                    if (answerinstanceof SingleValueAnswer) {

                                          //System.out.println("SingleValueAnswer");

                                          AnswerValue answerValue = ((SingleValueAnswer) answer).getAnswerValue();

                                          // setting up prompt value for single value prompt

                                          // check up for optional prompt

                                          if(srcPrompt.isOptional() ){

                                                if( reportExcellPrompt[j].getValue() == null  ||

                                                            " ".equalsIgnoreCase(reportExcellPrompt[j].getValue()) || "".equalsIgnoreCase(reportExcellPrompt[j].getValue()) ){

                                                      // leave those as usual, taken care by own

                                                } else {

                                                      Field lfg = answerValue.getCaptionField();

                                                      lfg.setString(reportExcellPrompt[j].getValue());

                                                      answerValue.setCaptionField(lfg);

                                                     

                                                }

                                                dstValues.add(formatAnswerInfoWithoutHierarchicalConsideration(answerValue, pvl, dataType));

                                                dstDisplayedValues.add(formatAnswerInfo(answerValue, pvl, dataType));

//                                              System.out.println("formatAnswerInfo(answerValue) " + formatAnswerInfo(answerValue, pvl, dataType));

                                                dstIdxs.add(formatField(answerValue.getKeyField(), pvl, dataType));

                                          }

                                          else {

                                                Field lfg = answerValue.getCaptionField();

                                                lfg.setString(reportExcellPrompt[j].getValue());

                                                answerValue.setCaptionField(lfg);

                                                dstValues.add(formatAnswerInfoWithoutHierarchicalConsideration(answerValue, pvl, dataType));

                                                dstDisplayedValues.add(formatAnswerInfo(answerValue, pvl, dataType));

//                                                          System.out.println("formatAnswerInfo(answerValue) " + formatAnswerInfo(answerValue, pvl, dataType));

                                                dstIdxs.add(formatField(answerValue.getKeyField(), pvl, dataType));

                                          }

                                         

                                    } elseif (answerinstanceof MultiValueAnswer) {

                                          //System.out.println("MultiValueAnswer");

                                          EList<AnswerValue> answerList = ((MultiValueAnswer) answer).getAnswerValues();

                                         

                                          // check up for optional prompt

                                          if(srcPrompt.isOptional() ){

                                                // retrieving the prompt from multi value and split those into comma separetd String array []

                                                if( reportExcellPrompt[j].getValue() == null ||

                                                             " ".equalsIgnoreCase(reportExcellPrompt[j].getValue()) ||

                                                             "".equalsIgnoreCase(reportExcellPrompt[j].getValue())){

                                                      // skipping the values as there is null values to set back to prompt

                                                                  dstPrompt.setSkipped(true);

                                                } else {

                                                      // optional prompt but values to set back to prompt from excel sheet

                                                            String  multiPromptVl = new String(reportExcellPrompt[j].getValue());

                                                            String[] prmptMultiFiledVl = new String [multiPromptVl.split(";").length];

                                                            int  h= 0;

                                                            for(String prompt : multiPromptVl.split(";")){

                                                                  prmptMultiFiledVl[h] = prompt;

                                                                  h++;

                                                                  // building multi answer values and set it back to the list

                                                                  String caption = prmptMultiFiledVl[0];

                                                                  Member memberValue = createMember(caption, null, dataType, pvl);

                                                                  if (memberValue != null){

                                                                  ((MultiValueAnswer)answer).getAnswerValues().add(createAnswerValue(srcPrompt, caption, null, dataType, pvl));

                                                                  }

                                                            }

                                                            answerList = ((MultiValueAnswer) answer).getAnswerValues(); // retrieve the multi value answer from list to set

                                                            // iterate through individual prompt and set the prompt value back

                                                            for(intp =0; p< answerList.size(); p++){

                                                                  AnswerValue answerValue = answerList.get(p);

                                                                  // setting up prompt value for single value prompt

                                                                  Field lfg = answerValue.getCaptionField();

                                                                  lfg.setString(prmptMultiFiledVl[p]);

                                                                  answerValue.setCaptionField(lfg);

                                                                 

                                                                  dstValues.add(formatAnswerInfoWithoutHierarchicalConsideration(answerValue, pvl, dataType));

                                                                  dstDisplayedValues.add(formatAnswerInfo(answerValue, pvl, dataType));

                                                                  //System.out.println("formatAnswerInfo(answerValue) " + formatAnswerInfo(answerValue, pvl, dataType));

                                                                  dstIdxs.add(formatField(answerValue.getKeyField(), pvl, dataType));

                                                            }

                                                }

                                               

                                          } else {

                                                // prompt is not optional and has to set value from excel file to populate webi

                                                if( reportExcellPrompt[j].getValue() != null

                                                            && !"".equalsIgnoreCase(reportExcellPrompt[j].getValue())){

                                                      String  multiPromptVl = new String(reportExcellPrompt[j].getValue());

                                                      String[] prmptMultiFiledVl = new String [multiPromptVl.split(";").length];

                                                      int  h= 0;

                                                      for(String prompt : multiPromptVl.split(";")){

                                                            prmptMultiFiledVl[h] = prompt;

                                                            h++;

                                                            // building multi answer values and set it back to the list

                                                            String caption = prmptMultiFiledVl[0];

                                                            Member memberValue = createMember(caption, null, dataType, pvl);

                                                            if (memberValue != null){

                                                            ((MultiValueAnswer)answer).getAnswerValues().add(createAnswerValue(srcPrompt, caption, null, dataType, pvl));

                                                            }

                                                      }

                                                      answerList = ((MultiValueAnswer) answer).getAnswerValues();// retrieve the multi value answer from list to set

                                                      // iterate through individual prompt and set the prompt value back

                                                      for(intp =0; p< answerList.size(); p++){

                                                            AnswerValue answerValue = answerList.get(p);

                                                            // setting up prompt value for single value prompt

                                                            Field lfg = answerValue.getCaptionField();

                                                            lfg.setString(prmptMultiFiledVl[p]);

                                                            answerValue.setCaptionField(lfg);

                                                           

                                                            dstValues.add(formatAnswerInfoWithoutHierarchicalConsideration(answerValue, pvl, dataType));

                                                            dstDisplayedValues.add(formatAnswerInfo(answerValue, pvl, dataType));

                                                            //System.out.println("formatAnswerInfo(answerValue) " + formatAnswerInfo(answerValue, pvl, dataType));

                                                            dstIdxs.add(formatField(answerValue.getKeyField(), pvl, dataType));

                                                      }

                                                     

                                                }

                                               

                                          }

                                    } elseif (answerinstanceof IntervalAnswer) {

                                          // TODO manage the intervalldoublon

                                          //System.out.println("IntervalAnswer");

                                          Interval interval = ((IntervalAnswer) answer).getInterval();

                                          AnswerValue answerValue = interval.getLowValue();

                                          dstValues.add(formatAnswerInfoWithoutHierarchicalConsideration(answerValue, pvl, dataType));

                                          dstDisplayedValues.add(formatAnswerInfo(answerValue, pvl, dataType));

                                          dstIdxs.add(formatField(answerValue.getKeyField(), pvl, dataType));

                                          answerValue = interval.getHighValue();

                                          dstValues.add(formatAnswerInfoWithoutHierarchicalConsideration(answerValue, pvl, dataType));

                                          dstDisplayedValues.add(formatAnswerInfo(answerValue, pvl, dataType));

                                          dstIdxs.add(formatField(answerValue.getKeyField(),pvl, dataType));

                                    } elseif (answerinstanceof ComplexAnswer) {

                                          //System.out.println("ComplexAnswer");

                                          EList<Range> rangeList = ((ComplexAnswer) answer).getRanges();

                                          intindex = 0;

                                          for (Range range : rangeList) {

                                                // TODO manage the intervalldoublon

                                                AnswerValue answerValue = range.getLowValue();

                                                String strAnswer = answerValue.getCaptionField().toString();

                                                answerValue = range.getHighValue();

                                                strAnswer += answerValue.getCaption().toString();

                                                dstValues.add(formatAnswerInfoWithoutHierarchicalConsideration(answerValue, pvl, dataType));

                                                dstDisplayedValues.add(formatAnswerInfo(answerValue, pvl, dataType));

                                                dstIdxs.add(index);

                                                index++;

                                          }

                                    } elseif (answerinstanceof SkippedAnswer) {

                                          //System.out.println("SkippedAnswer");

                                          dstPrompt.setSkipped(true);

                                    }

                              }

 

                              // Add DataProvider

                              ListdstDataProviders = dstPrompt.getDataProviders();

                              dstDataProviders.clear();

 

                              List<com.sap.sl.dataprovider.DataProvider> dps = workSpaceService.getDataProviders(workspace);

                              List<com.sap.sl.dataprovider.DataProvider> promptDPs = getDataProviders(srcPrompt, dps);

 

                              //System.out.println("promptDPs");

                              if (promptDPs.size() > 0) {

                                    for (com.sap.sl.dataprovider.DataProvider promptDP : promptDPs) {

                                          String dpID = promptDP.getID();

                                          //System.out.println("dpID: " + dpID);

                                          String dpName = promptDP.getName();

                                          //System.out.println("dpName: " + dpName);

                                          ((IDataProviders) dstDataProviders).add(dpID, dpName);

                                    }

                              }

 

                              java.util.ListIteratorli = dstValues.listIterator();

                              while (li.hasNext()) {

                                    System.out.println("li.next(): " + li.next());

                              }

                        } // else of if (promptInfName.equals(promptText) && bIsReset)

                  } // if (answer != null){

            } // for (int i=0; i<srcPromptsCount; i++){

 

            returnpromptsQuery;

      }

SAP BI 4.x - Solution Expert Webinars

$
0
0

Webinars covering all things important for BI projects. Register for upcoming sessions or watch recordings of past events.

OverviewTop Online ResourcesTutorialsEvents

Technical Webinar Series: SAP BusinessObjects BI Platform 4.x

 

Once again will we provide a series of free webinars that are focused on upgrading to the SAP BI Platform 4.1. This webinar series is a supplement to other information assets found on SCN.

 

Webinar title, date, registration and presenter information is given below - all webinars will start at 7am PDT, unless otherwise specified. Webinar dates and times may be subject to change.

 

  • Registration links: will be enabled a few days before the scheduled webinar date.
  • Recordings: will be posted no later than a week after the event.

 

If you 'follow' this page, you will receive notifications of any updates, including new webinar content, dates and registration links - also recordings of all completed webinars will be made available from this page. Stay Tuned !


 

 

Upcoming Webinars - Registrations

DatePresenter
registration 2.pngData Federation Admin Tool – Tuning Execution of Multi-Source UniversesMar 22SP
registration 2.png#askBI: Innovation in Core BI Solutions (hint: BI 4.2)Mar 24
registration 2.pngBest Practices for the Administration of the Design Studio Add-On
Part of the Design Studio Webinar Series
Apr 24PB& PS
h

Recordings of Past Webinars

DatePresenter
2016
thumbnail.pngSAP BI Platform Support Tool 2.0 - Deep Dive with the Expert (recording| pdf)Jan 19TJ
2015
thumbnail.pngGain insight into your BI Platform with a new Auditing Universe and Reports (recording)Dec 08MS
thumbnail.pngSAP Analytics - Integration of SAP BI Platform with SAP Design Studio (recording)Nov 24HJ
thumbnail.pngWhat's new in SAP BI 4.2 (recording | pdf)Oct 27ME
thumbnail.pngUNX Adoption - Planning & Execution (by APOS Systems) (recording | pdf)Sep 29FW,HJ
thumbnail.pngCreating Relational Connections for SAP BI 4.1 for Reporting on SAP BW (recording)Aug 04JR
thumbnail.pngUser Authentication and Single Sign-On with BI 4.1 (recording)Jul 21GDL
thumbnail.pngSizing your BI Platform, using the SAP Sizing Tool (recording)Jul 07HJ
thumbnail.pngWhat's new in BI 4.1 SP6 (recording | presentation)Jun 23ME
thumbnail.pngBest Practices for WebI (recording)Jun 23JB
thumbnail.pngA guided Tour: How to best make use of Online Resources (recording)May 18HB
2014
thumbnail.pngBI 4.1 Monitoring - (Recording)Nov 13TJ
thumbnail.pngTroubleshooting - (Recording)Nov 06GS
thumbnail.pngPromotion Management & Version Management - (Recording)Oct 23MS
thumbnail.pngWebI Calculation Engine Changes - (Recording)Oct 16PG
thumbnail.pngDeskI to WebI Conversion & Desktop Compatibility Pack - (Recording)Oct 09ME
thumbnail.pngUpgrading from XI Release 2/3.1 to 4.1 and updating From BI 4.0 to 4.1 - (Recording)Sep 25ME
thumbnail.pngUser Authentication & Single Sign-On - (Recording)Sep 11TZ
thumbnail.pngBusinessObjects BI Strategy & Roadmap - (Recording)Sep 09JL
thumbnail.pngInstallation & Patching - (Recording)Sep 04HJ
thumbnail.pngDeployment Best Practices - (Recording)Aug 29HJ
thumbnail.pngSizing & Virtualization - (Recording)Aug 14CL
thumbnail.pngUpdate Best Practices - (Recording)Jul 30SR
thumbnail.pngValue Prop & Tools - (Recording)Jul 17HB

 

 

 

 

 

 

More Webinars: SAP Lumira | SAP BI Platform |SAP Predictive Analytics | SAP EPM| SAP Design Studio |SAP Cloud for Analytics

CMS DB Migration from SQLAnywhere to HANA Database for Linux/Unix environment

$
0
0

This document helps the user to migrate CMS DB from SQLAnywhere to HANA Database where BOE is installed in Linux/Unix environment.

To make it simple I have divided the migration into two phases where Phase 1(Configuration Phase) deals with the configuring the required settings for migration and Phase 2(Migration Phase) deals with the actual migration.


Phase 1: Configuration Phase                     

                       In this phase we install the HANA client, configure the DSN, which is explained in detail below.


                            Step 1: Install HDB Client in the machine where BOE is installed.


                            Step 2: Using the below command copy libodbcHDB.so file from HDB Client directory to linux_x* directory.


                                  cp <HDB_Client_Install_Directory>/libodbcHDB.so<BOE_Install_Dir>/sap_bobj/enterprise_xi40/linux_x64/

                              cp <HDB_Client_Install_Directory>/libodbcHDB.so<BOE_Install_Dir>/sap_bobj/enterprise_xi40/linux_x86/

 

 

                             Step 3: Add the details of HANA server in odbc.ini which is present in <BOE_Install_Dir>/sap_bobj/enterprise_xi40/

                                  Below is the screenshot, which has details of HANA driver

                                  Note: ServerNode Value should be ServerNode=<HOSTNAME OF HANASERVER>:3<INSTANCENUMBER>15

                              1.png

 

                                                                                               echo $ODBCINI


                                          Note: Output should be: <BOE_Install_Dir>/sap_bobj/enterprise_xi40/linux_x64/

 

 

Phase 2: Migration Phase

                            In this phase, we perform the actual migration using cmsdbsetup.sh script.


                                 Step 1: Run cmsdbsetup.sh script present in <BOE_Install_Dir>/sap_bobj/


                                                                   ./ cmsdbsetup.sh


                                 Step 2: Specify the name of the node and press enter. In this example "lnxsuse11x64" is the name of the node.

 

                                                  2.jpg

                                 Step 3: You need to stop the node before migration so select option 3 to stop the node.

                                                   3.jpg

                                 Step 4: Select option 4 "copy" for Database Copy(by default it will be "update").

                                     4.jpg

                 Step 5: It will show a warning message that this operation will deleted BIP tables in destination DB. Select option 3 "Yes"(by default it will be "No")

                                                                5.jpg

                         Step 6: It will prompt whether you need current DB(SQLAnywhere) as destination database. You need to select option 2 "No"(by default it                                            will be "Yes")

 

                                        Note: If you choose yes it will delete all BIP tables from current DB. In this our destination DB is HANA so select option 2.

                                                    6.jpg

                        Step 7: Select option 8 “SAP HANA” as destination database.

                                                                     7.jpg

                        Step 8: Enter the ODBC DSN for connecting HANA DB(This values should be same as values entered in odbc.ini file). In this                                                             example “Hana_Migration” is DSN name for HANA DB.

                                                    8.jpg

                        Step 9: Enter User Name for connecting HANA DB.

                                                   9.jpg                        Step 10: Enter Password for connecting HANA DB.

                                                   10.jpg

                        Step 11: Enter CMS Cluster Key.

                                                   11.jpg

                        Step 12: Now you need to specify Source CMS database. In this case you need to select option 2 “SQLAnywhere”.

                                                    12.jpg

                        Step 13: Enter the ODBC DSN for connecting SQLAnywhere DB(This values should be same as values entered in odbc.ini file).

                                      In this example “BI4_CMS_DSN_1452244015” is DSN name for SQLAnywhere DB.

                                                   13.jpg

                        Step 14: Enter User Name for connecting SQLAnywhere DB.

 

                                                       14.png

 

                        Step 15: Enter Password for connecting SQLAnywhere DB.

                                                    15.jpg

                        Step 16: Enter CMS Cluster Key.

                                                  16.jpg

                                Step 17: Data successfully migrated to HANA DB.

                                                      17.jpg

                                Step 18:  You can see CMS tables in HANA DB using HANA Studio.

                                              18.jpg

Clean-up Utility for manually remove SAP Business Intelligence (BI) 4.0/4.1/4.2 for Windows [How to remove SAP Business Intelligence (BI) 4.0/4.1/4.2 Manually from Windows Server]

$
0
0

Hi Everyone,

 

There have been situations where we may need to remove SAP Business Intelligence (BI) 4.0/4.1/4.2 from the Server machine and you may be not able to remove it from PROGRAMS AND FEATURES or clean the registries etc.

 

Below are the possible reasons when you wanted to remove BI :

  • Installation went wrong or terminated and you wanted to do a fresh install again.
  • Unable to remove the product from Programs and features of Windows Control Panel.
  • Due to binary corruptions of BI Server like Install Data Problems, Corrupted etc.
  • You have installed many service packs updates / patches and you wanted to clean it and install only targeted pack.
    • For Example : BI 4.0 SP6  (Full Build) >updated> BI 4.0 Sp12 >updated> BI 4.1 Sp6 >updated> BI 4.1 Sp6 Patch3 >updated> BI 4.1 SP7 and you wanted to remove BI and install only BI 4.1 Sp7 (Full Build) on the server to save disk space. etc


We use KBA : 1691555 - How to manually remove SAP Business Intelligence (BI) 4.0/4.1/4.2 Manually from Windows Server to remove it and performing the KBA very precisely and accurately is one of the important point. So I have create a Script (Batch +vbs) which we will do the job automatically and it will be Cleanup Utility for BI.



Products will be removed :


  • This script will remove all the product associated with SAP BI with Add-on or Component installed on the server where script is running.
    • SAP BusinessObjects Business Intelligence Platform 4.0

    • SAP BusinessObjects Business Intelligence Platform 4.1

    • SAP BusinessObjects Business Intelligence Platform 4.2

    • Crystal Reports 2011

    • Crystal Reports 2013

    • Crystal Reports 2016

    • SAP BusinessObjects Explorer , Data Services, Live Office or any Add-on which is associated with SAP BusinessObjects

    • SAP BusinessObjects Business Intelligence Platform Clients Tools
  • If you are using CUSTOM Database present on another server it will not affect it and do any operation on it. Same is applicable for the FILE-STORE on Network Location.
  • If you are using Distributed or Clustered combination it will not affect other system. It will remove the content on the local server where the script is executed.



Pre-requisites :

  • Take the backup of the necessary files/customizations present in <InstallDirectory>\SAP BusinessObjects\SAP BUsinessObjects Enterprise XI 4.0\ .
    • Default Filestore : <InstallDirectory>\SAP BusinessObjects\SAP BUsinessObjects Enterprise XI 4.0\Filestore (OPTIONAL and Asked in theScript)

6.JPG

    • Default Database (If using SQL Anywhere) : <InstallDirectory>\SAP BusinessObjects\sqlanywhere\database

5.JPG

    • Default Tomcat : <InstallDirectory>\SAP BusinessObjects\Tomcat
  • Stop all the services if you are cleaning a running SAP BI 4.x

2.JPG

  • Check if any process is running in the task manager and kill if present related to Business Objects.

4.jpg

3.jpg

  • Ensure you have Administrator rights as this will clean registries and files under Windows\Installer folder.



Finally Remove BI :


  • Extract the two files #RemoveBI.bat and #CleanupBI.vbs into any folder.

1.JPG

  • Open Command Prompt in Elevated Mode (Administrator)

7.JPG

  • Run RemoveBI.bat and it will ask you to continue.

8.JPG

9.JPG

  • It will ask you to take the backup of Default File Store If you have already taken the backup hit Nor if you wanted  to take backup hit Y. Here I have used option YES = Y.
  • Then it will ask you for the DRIVE where you wanted to take the backup. Example : E: , F: , etc. Here I have use C:  Drive to take the backup.


11.JPG

 

12.jpg

  • After completion of Backup it will automatically start to DELETE the services for Default Tomcat, SQL Anwhere Service, Subversion ( If present if not then exception of error is acceptable since the service will not there)
  • It will Automatically detect the INSTALLATION FOLDER of SAP BI and start deleting it.

15.jpg

  • Now it will take the backup of the FULL Registry and place it in the USERS Profile. After that it will start to delete the Registry Keys for "SAP BusinessObjects".

16.jpg

  • Once Completed it will start to Remove the Files associated with BI in <osdrive>\Windows\Installer

17.JPG

  • Next and Final Step to remove all the Registries from the computer associated with BI in Current users and Local Machine. IT MAY TAKE A WHILE

18.jpg

    • Don't worry about the "ERROR : The system was unable to find the specified..." message it is to cross check in loop if the registry is deleted or not.
  • Once the script is completed Simply reboot the server and you have a fresh machine of windows server where bi was not installed.

19.JPG

============================================================================================================

============================================================================================================

Disclaimer : This script is the property of SAP and should not be used in any form commercially. Free for non commercial use only redistribute is forbidden. This script to help the customer and in case of any issues SAP or I will not be responsible any damage or unusual behaviour of script.



Cheers,

Mahak Rathore

Sign.jpg


How to Change BusinessObjects BI CMS Database to SAP HANA

$
0
0

Summary

While installing BusinessObjects BI Platform 4.x you do not have an option to choose SAP HANA as CMS database even from 4.0 SP4 it already supported SAP HANA as CMS database.

But it is possible to change or migrate CMS from one database to another one after installation, the Administrator Guide has a section that describes what you need to do to select SAP HANA as the CMS database.

This Step by Step Guide demonstrates how to change/migrate CMS from default database (MS SQL Server or SAP Sybase SQL Anywhere) to SAP HANA. Note that below procedure is only for Windows and applies to BusinessObjects BI Platforms 4.1 SP1.

Preparation

In addition to BusinessObjects BI Platform 4.x, SAP HANA database you also need SAP HANA client and SAP HANA Studio.

There is guide Step by Step Installation SAP BusinessObjects BI Platform 4.x available here if you need.

You can download client and Studio from the HANA Developer Center.  Please ensure you use same version of client, studio and database.

Step 1: Create HANA users and add systems

Assuming that you have administrative rights on your HANA database, create two new users BOE141 and BOE141_Audit which will own the CMS and Auditing tables. Also add two systems using these two users on SAP HANA Studio.

  1. Enter the host name, instance number of your HANA database also description then click on Next to continueAdd System 1.jpg
  2. Enter the user name and password for the CMS database you just created then click on Next to continueAdd System 2.jpg
  3. Click on Finish. Now you successfully add a new system

       Add System 3.jpg

   4. Add second system with user for Auditing database, on SAP HANA Studio will look like this

      Add Systems and Users - 1.jpg

Step 2: Create a System ODBC Data Source Name for HANA

You don't have to create ODBC Data Source now since you can create later when you choose ODBC Data Source

  1. Launch ODBC Data Source Administrator. Ensure you launch the 64Bit version ODBCad32.exe from location %Windir%\System32\ if you installed 64Bit version SAP HANA Client. Otherwise you can just launch 32Bit version one form Control Panel -> Administrative Tools
  2. Select System DSN tab then click on Add… to create ODBC Data Source. Select HDBODBC driver from the driver list then click on Finish to continueCreate New Data Source.jpg
  3. Enter Data Source Name, Description and Server: Port for CMS then click on OK

You can click on Connect then enter user name and password to test connection

SAP HDB.jpg

  1. Create ODBC Data Source for Auditing database following the same steps. ODBC Data Source Administrator window will look like thisODBC Data Source Administrator.jpg

Step 3: Stop SIA from CCM

In order to change CMS database you have to stop Server Intelligence Agent(SIA) from Central Configuration Manager(CCM) first.

  1. Launch CCM from Start > All Programs > SAP BusinessObjects Intelligence > SAP BusinessObjects BI platform 4 > Central Configuration Managerstart CCM.jpg
  2. Select Server Intelligence Agent (SIA) then click on Stop icon (black square) on toolbar, or right click on SIA then select Stop from the popup menu to stop the service

       Stop SIA.jpg

Step 4: Change CMS database

  1. Once the SIA service is stopped, select SIA then click on Specify CMS Data Source icon on the toolbar ( the gold cylinder)SIA Specify Data Source.jpg
  2. CMS Database Setup window pop up, you can choose desire setup method then click on OK to continueCMS Database Setup.jpg
  • Update Data Source Settings

Choose this option if you would like to point to a different data source. This option will simply change your data source without copying over existing data.

Note: The destination data source must contain deployment information for this cluster. Do not use this option for clustering with a different CMS cluster. Refer to the Administrator ‘s Guide for details on CMS clustering workflows.

If you choose Update Data Source Settings a Select Database Driver window will pop up to allow you choose a connection method. Here choose SAP HANA database (ODBC) of cause then click on OK to continue

Select Database Driver.jpg

Select Machine Data Source then select CMS141 created in Step 2 then click on OK to continue. If you have not yet created data source for you HANA database you can now click on New to create new one here.

Select Data Source.jpg

Enter the user name and password then click on OK to continue

SAP HANA.jpg

Enter the cluster key then click on OK to continue. CMS tables will be created on HANA database BOE141(ODBC CMS141)

Specify Cluster Key.jpg

  • Copy  data from another Data Source

Choose this option if you would like to copy data form a different data source. You may change your data source or keep the one that you are currently using. This option will destroy any information already present in the destination data source. The deployment topology of the destination cluster must match the topology of the source cluster. Refer to the Administrator’s Guide for details on copying CMS data Sources.

The Specify Data Source window pop up to allow you specify source and target data source. First click on Specify to select source database.Copy Data Source 1.jpg

Select current using database from list, default is SQL Server or SQL Anywhere. Click on OK to continue.

You might be asked ID and password to log in database

Copy Data Source 2.jpg

Enter cluster key then click on OK to continue

Specify Cluster Key.jpg

Next then click on Browse to select target data source. From the list select SAP HANA database then click on OK to continue.

You might be asked ID and password to log in database.

Select Database Driver.jpg

After specifying source and target database then click on OK to start copy CMS tables from source to target. All data in target will be overwritten.

Copy Data Source 3.jpg

  • Recreate the current Data Source

Choose this option if you would like to re-initialize the current data source. This option will destroy any data already present in the data source.

Step 5: Verify CMS changed and configure Audit database

  1. Select Server Intelligence Agent (SIA) then click on Properties icon on toolbar from Central Configuration Manager (CCM), or you can also right click on SIA then select Properties to verify changed

        SIA Properties.jpg

    2. Select Configuration you can find out the CMS now has been changed to CMS141 ( SAP HANA database BOE141). You can also change cluster name and cluster key here. Click on Cancel go back to CCM

CMS with HANA.jpg

 

Select SIA then click on Start icon ( black triangle) or right click on SIA then select Start to start SIA service again.

 

Start SIA.jpg

 

After SIA service is running you can login to Central Management Console (CMC), click on Auditing under column Manage

 

CMC Auditing.jpg

 

Configure ADS Database settings accordingly, enter SAP HANA ODBC DNS name in field Connection Name, select SAP HANA Database from Type then enter user name and password. Click Save to save configuration.

Warning: You must restart all CMSs before ADS configuration changes will take effect.


CMC Auditing Configuration.jpg

 

Restart server then login CMC again then you will see the Auditing is taking effect

 

CMC Auditing with HANA.jpg

 

Launch SAP HANA Studio to view CMS and Auditing tables

 

CMS Tables.jpg

Auditing Tables.jpg


(End…….Enjoy!)




Enabling additional features in BI Platform after 4.2 upgrade

$
0
0

SAP BI Platform 4.2 brought along lot of additional features with its release. Additional drivers for Apache Spark, Recycle Bin, BI Commenting solution and the new Admin cockpit are few to mention. If you have missed the awesome presentation from SAP, read http://scn.sap.com/docs/DOC-68333

 

If you are doing a fresh install, you would be presented a screen where you get to choose the features you would need. But upgrade does not work the same way. Some of the features comes built in which will be installed as applications or activated as web applications when the upgrade redeploys the new applications. By default SAP Upgrade installers will update only the existing features that you have enabled to ensure stability in the system.

 

So what you would need to do if you need to activate the new features? Read on to find out.

 

Active new features

For features that does not come bundled and require additional step, you would need to enable them manually. This involves the server going down during the phase, so treat it as maintenance downtime.

  • Navigate to the “Program and features” applet from the Control panel. You can also use the shortcut to directly launch it from the run with the command “appwiz.cpl”.

 

  • You will find individual entries for the SAP BI Platform base along with patch updates installed. Update install will be append with “update”

 

     This is similar for the BI Platform Add-ons like Design Studio and Lumira

 

 

  • Right click on the base entry and select “Uninstall/Change”. Do not worry as it would not uninstall the platform.

 

  • It would take some time depending on the system and you would see the Installer Setup running with three options. Select modify and proceed to Next

 

  • Select your preferred language. It would usually show the languages that you had selected when you installed the base version. Continue with the next screen.

 

  • The next screen is where our focus should be. It lists the set of features that are already present in the system. You also get an option to select the features that you need.

 

The unchecked box represent the features that are not installed and the checked box represent the features that are already installed. Select the features you would need to install (i.e. Apache Spark).

 

Click on next to proceed for the installation. The setup detects existing installation and like any upgrade it would take some time for the feature to get installed.

Once the installation is completed. You can now start using the feature that you had enabled.

Timeout settings in SAP Live Office 4.x

$
0
0

In one of my previous documents i have written several words about the Timeout settings on the BI Platform 4.x version. Of course this document is not complete, since it is not contains all the possibilities of the timeout settings.  In this document I am giving guideline for SAP BusinessObjects Live Office users to check/troubleshoot timeout errors of the application. Before you do any changes in the timeout settings, we have to answer minimum the following questions:


  • What is the BI Platform version? Is the Live Office application version the same as the BI Platform version?

SAP BusinessObjects Business Intelligence Platform version must be the same as SAP Live Office version.

Different versions use different backend processing methods. SAP BI Platform 4.x has 2 different workflows when working with Live Office documents:

    • version 4.0 and 4.1 up to SP5 P5 uses the dswsbobj web application
    • from version 4.1 SP5 P5 and version 4.2 uses the RESTful web service

 

  • What is the proper error message when we facing timeout issue?

The root cause of  various different error message can be timeout. Some examples:

    • "The operation has timed out."
    • "An error occurred when the report is refreshed. Detail: the operation has timed out"
    • "Unknown error (0x8013500)"
    • "GetDocumentInformation exception (Error: WRE 99999) The operation has timed out."
    • "Failed to upgrade this document (LO 01400) - Invalid pointer"

 

  • What business workflow is being executed by the user when the error message displayed?

"Refresh All" objects workflow requires more time and effort for each the client application (preparing and displaying prompts) and also for the server application (to execute all the reports) than refresh a single Live Office object; of course requires a different troubleshooting steps.

 

 

Also important to understand the technical process of the Live Office application, since different settings are related to different tiers and requires different places to perform these settings.

 

Understanding the technical process

 

Let's review the technical process. I would go for the following example: when refreshing a single object, which is a part of an existing WEB Intelligence report. The interactive version can be found in the following document: 4.x Platform: Refresh a Web Intelligence part using Live Office

workflow.png

As you see, each tier is affected in the refresh process, and there are different setting for timeout for each tiers.

 

  1. The client tier the Live Office application itself, which is connects to the web server via the http://<servername>:<port>/dswsbobj/services/session url .
  2. The Web tier, the web server (tomcat) forwards the request to the Web Application Server and creating an enterprise session after the CMS  successfully validated the given credentials for the connection.
    lo ent session.png
  3. Now the process can continue on 2 different ways, pending on the BI Platform version. If you are using BI Platform 4.1 SP5 P5 or newer, the Web Application Container Server will process the requests of Live Office application via RESTful service, and calls the WEB Intelligence processing server to refresh the report.

 

 

As we have 3 different tiers in the technical process, we can modify the timeout properties for each 3 different one. Before we go for the details, please note the golden rule:  Keep it simple!


To modify a timeout without modification of other parameters not always not solves the issue. Example: increasing a Live Office application timeout  more than a enterprise session timeout is not a valid case in production environments, since the session will expire earlier than the Live office application would reach the timeout value, but this technique is candidates for troubleshooting without generating traces about the full workflow.

 

1. Timeout settings in Live Office application

 

The Live Office application installed on client PCs and used as an Addin in the Microsoft Office applications (Excel, Word, Powerpoint, Outlook) , in windows environment, and the timeout value stored in the windows registry, so can be modify via the registry editor. To do this change, you need local administrator rights on the windows machine.

 

This timeout is valid for a single operation step started from the Live Office application, and it is defines the maximum waiting time of the Live Office client application between to server calls. The default value for this timeout is 600 seconds, so 10 minutes.

 

Steps to change the DefaultTimeOut value:

 

1. Open the registry ( Start -> RUN -> Type regedit) .

2. Locate the following path:

- for a specific user: HKEY_CURRENT_USER\Software\SAP BusinessObjects\Suite XI 4.0\Live Office\ENTERPRISE

- for all users on the same machine: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\SAP BusinessObjects\Suite XI4.0\Live Office\ENTERPRISE

3. Create (if not already exist) a new DWORD key named DefaultTimeOut

4. Set the default timeout (Decimal) value to 3600.


The value is in seconds, which is 60 minutes so basically it is the same as enterprise session logon token timeout of the WACS server.

lo timeout.png

 

After restarting the MS Office application (Excel, Word, Powerpoint, Outlook) the new timeout value will be used from the client side. If there are have more than one Live Office client application installed on your environment, you must do this change on all the effected machines.

 

 

2. Timeout settings for WEB services

 

If the client side timeout setting was not solved the problem, and there is continuously the timeout error message displayed in Live Office client application, as a next step at the web tier, the Web Server, Web Application Server and Web Application Container Server (WACS) timeout can be increased.

 

  • The web server (by default tomcat) is responsible for the connection handling especially communication response times between Live Office client and Web Application Servers.
  • Under the Web Server several web applications are deployed. One of these is the dswsbobj, which is responsible for the sessions, as also for the session timeouts.
  • The Web Application Container Server serves the RESTfull service, which handles and process the data, communicates with the other BI servers such as WEB Intelligence  processing server (when a WEB Intelligence document  or Universe is the data source) or Crystal Processing Server (when the data source is a crystal report).

 

Connection timeout for tomcat servers

 

When refreshing a large document in Live Office, or the data source has large number of prompts or prompt values, the technical workflow can be timed out at the point, when the Live Office application tries to send the request to the web server, and waits for the response. This waiting time can be customized by a parameter called connectionTimeout in tomcat server configuration file.


 

To change this timeout value, follow these steps:

 

1. Go to <TOMCAT INSTALLATION DIRECTORY>\conf\server.xml

2. Change "connectionTimeout" to 600000. This value is in milliseconds, which means 10 minutes.

The value in must be milliseconds,  and the Connector will wait, after accepting a connection, for the request URI line to be presented. Use a value of -1 to indicate no (i.e. infinite) timeout. The default value is 60000 (i.e. 60 seconds) but note that the standard server.xml that ships with Tomcat sets this to 20000 (i.e. 20 seconds). Unless disableUploadTimeout is set to false, this timeout will also be used when reading the request body (if any).

3. Save file

4. Restart Tomcat in Central Configuration Manager

tomcatconf.png

In this example screenshot i have set the timeout ot

 

For more information, you may reffer to the following link: https://tomcat.apache.org/tomcat-7.0-doc/config/http.html

 

 

Session timeout in Live Office process flows

 

In BI Platform, the web application dswsbobj is first web application which handling calls of the Live Office application requests,so the session timeout parameters can be defined in the dsws.properties. The file at <BIP INSTALLATION DIRECTORY>\tomcat\webapps\dswsbobje\WEB-INF\classes on windows machines.

 

To change the Live Office session timeout follow these steps:

 

1. Open file dsws.properties on the path: <BIP INSTALLATION DIRECTORY>\SAP BusinessObjects\Tomcat\webapps\dswsbobje\WEB-INF\classes\

2. By default there is no session.timeout parameter in this file. You can insert one line to the end of the file like:
session.timeout=3600
3. Save the file and restart the web server.

 

The session.timeout value is in seconds, so 3600 seconds is 60 minutes, which is the default value enterprise session logon token timeout. From BI Platform version 4.1 SP5 P5 this value will be passed to the RESTful service as a session timeout.

dsws_timeout_good.png

 

For WACS timeout settings please look the following document: Timeout settings on the BI Platform 4.x . section Logon token timeout.

 

Summary

 

There are various options to extend the live office application timeouts on client also on server side in SAP BusinessObjects Business Intelligence Platform. To start, i suggest to take the easiest options, first change the Live Office client application timeout which helps you to narrow down to the root cause of the issue.

Please note: changing the BI server configurations, manipulating session timeouts can cause unexpected behaviors in other applications such as dashboards or WEB Intelligence Rich Client which are using the same mechanism.

 

References

 

2265017 - BI 4.x : *** MASTER KBA *** How to troubleshoot Live Office timeout issues

1845074 - Live Office connection time out after one minute

1199538 - How to increase the Live Office timeout parameter?

1917624 - How to increase session timeout for Web Service in BI 4.x

https://support.microsoft.com/en-us/kb/813827

https://tomcat.apache.org/tomcat-7.0-doc/config/http.html

SAP BusinessObjects BI 4.1 Supported Platforms (PAM)

$
0
0

Supported Platforms (PAM) for SAP BusinessObjects Business Intelligence 4.1 and above. This presentation describes compatibility with external platforms and technologies.

View this Presentation

SAP BusinessObjects BI 4.2 Supported Platforms (PAM)

$
0
0

Supported Platforms (PAM) for SAP BusinessObjects Business Intelligence 4.2 - This presentation describes compatibility with external platforms and technologies.

View this Presentation

SAP BI Free Trial Library is available in SAP Cloud Appliance Library

$
0
0

Dear all,

 

Recently we released 30-day free trial library of SAP BusinessObjects Business Intelligence (BI) Platform 4.1 SP6 and SAP BusinessObjects Business Intelligence Platform 4.2 SP2, which can be accessed from the SAP Cloud Appliance Library(CAL)(http://cal.sap.com ).

Capture.PNG

 

The trial library has been preconfigured and can be deployed instantly to the Amazon Web Service(AWS: http://aws.amazon.com/ ) cloud. You can evaluate these SAP Business Intelligence libraries and not worry about setting up and configuring them. You can also utilize Amazon VPC, which enables your BI solution to access your own corporate data center.

 

To subscribe these library solutions, you need an SAP CAL account and an AWS account. Accessing the SAP Cloud Appliance Library is always free of charge and the library already contains a 30-day temp license. But there is a fee for the infrastructure costs of AWS.

 

If you fit into one of the following categories, this Free Trial BI version is exactly for you:

a.    You are not familiar of SAP Business Intelligence and you want to try it and see how it works

b.    You are already running a previous BI version and you plan to upgrade to BI4.1 or BI4.2

c.    You want to see if some issues have been fixed in recent BI release

 

Now why are you still waiting? Try it out.

 

If you are not familiar with SAP Cloud Appliance, you can refer to:

•    SAP Cloud Appliance Library - SCN Homepage: http://scn.sap.com/community/cloud-appliance-library

•    SAP Cloud Appliance Library - FAQ: http://scn.sap.com/docs/DOC-33673

Viewing all 816 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>