Skip to Content

Intro

My name is Shawn Penner and I’ve been working for SAP BusinessObject support for over 10 years (Back when it was just Crystal Decisions).  During this time, I have written a lot of sample apps and scripts either as function demonstrations, as a way to work around product limitations, or simply to repair the damage caused by various bugs.

The purpose of this blog is to collect together my other blog entries / jive documents / which contains some of the scripts that I have created and to explain a bit how to use / run them.  I will also include some of the sample apps that I have created.

My Blog Entries


 

Title: Cleaning up Orphaned Files

URL: http://scn.sap.com/community/bi-platform/java-sdk/blog/2013/03/20/cleaning-up-orphaned-files

Description

This blog entry contains scripts designed to clean up FRS servers.  While enterprise is able to clean out orphaned infoobject entries using the reposcan tool, there exists no such tool to clean out orphaned files which have no corresponding FRS entry.  This blog entry contains the scripts I created to work around that problem.

Scripts / Samples:

Scan and Clean FRS Servers
Parse RepoScan XML  (This one parses a reposcan log file to clean out the identified orphaned files)

Title: Cleaning up Large Numbers of Instances

URL: http://scn.sap.com/community/bi-platform/java-sdk/blog/2013/03/19/cleaning-up-large-numbers-of-instances

Description

For this blog entry, I included a number of scripts that are useful for cleaning up extra instances.  While it isn’t difficult to use the built-in tools to clean up small amounts instances – it can quickly become impossible when you have thousands or even millions of instances.  This blog entry contains several of the scripts I created to deal with that issue.  I also included an extra script which will pause all your recurring jobs so you can get a handle on the instances without even more being created.

Scripts / Samples

Delete Mass Instances – Basic
Delete all Failed Instances
Delete Mass Instances with Date and Time Filtering
Delete Mass Instances with Manual Deletion
Pause and Resume all Instances

Title: Remapping Universes for Webi Reports

URL: http://scn.sap.com/community/bi-platform/java-sdk/blog/2013/03/08/remapping-universes-for-webi-reports

Description

A very common issue that we run into is having to repoint large numbers of webi reports to different universes.  I have compiled the most commonly used tasks into the scripts in this blog entry.  Unfortunately these scripts will only work with XI R3 and XI R2 as the functionality in the reportengine SDK for remapping webi universes was removed in BI4.  However, as of BI4 SP6, the restful SDK is now able to remap webi report universes.  However I have not yet been able to create a script that demonstrates that.  Also – the BI4 Restful SDK method for changing a webi dataproviders universe is currently limited to webi reports designed off of a single universe (Although I expect that to change at some point).

Scripts / Samples

Auto-Detect and Remap
Batch Search and Replace
Remap Individual Webi Reports

 

Title: Scripts for User Management

URL: http://scn.sap.com/community/bi-platform/java-sdk/blog/2013/05/14/scripts-for-user-management

Description

This blog entry contains all kinds of scripts for managing users.  They are all designed for handling large amounts of users and applying some change to a group of users.

Scripts / Samples

Enable or Disable All Users
Count Reports and Instances
Change Owner
Copy User Preferences Globally
Force Log Off
Remove Aliases
Change Users to Named or Concurrent
Add Aliases


How do I use / run these scripts?

The scripts mentioned above are primarily designed to run on the BusinessObjects Enterprise XI 3.1 platform.  If you have a default install, it is fairly simple to run most of the scripts simply by using the included applications that come with the product (Infoview and CMC).

Steps for BOE XI R3:

For Scripts Written in Java that Manipulate Users or InfoObjects

  1. Copy the script into the folder “C:\Program Files (x86)\Business Objects\Tomcat7\webapps\InfoViewApp”
  2. Ensure that you have edited the script as described on the page where you find the script (e.g. CMS server name, Username, Password)
  3. Make sure that Tomcat is running (If it is already running – there is no need to restart it)
  4. Run the script by opening a browser and going to “http://MyServer:8080/InfoViewApp/MyScript.jsp

For Scripts Written in Java that Manipulate Webi Reports

  1. Copy the script into the folder “C:\Program Files (x86)\Business Objects\Tomcat7\webapps\AnalyticalReporting”.
  2. Ensure that you have edited the script as described on the page where you find the script (e.g. CMS server name, Username, Password)
  3. Make sure that Tomcat is running (If it is already running – there is no need to restart it)
  4. Run the script by opening a browser and going to “http://MyServer:8080/AnalyticalReporting/MyScript.jsp

For Scripts Written in Java that Manipulate Crystal Reports Reports

  1. Copy the script into the folder “C:\Program Files (x86)\Business Objects\Tomcat7\webapps\CrystalReports”
  2. Ensure that you have edited the script as described on the page where you find the script (e.g. CMS server name, Username, Password)
  3. Make sure that Tomcat is running (If it is already running – there is no need to restart it)
  4. Run the script by opening a browser and going to “http://MyServer:8080/CrystalReports/MyScript.jsp

For Scripts Written using VBScript

  1. Ensure that you have edited the script as described on the page where you find the script (e.g. CMS server name, Username, Password)
  2. VBS scripts can only be run on a windows system that has the .NET Enterprise SDK installed.  This can be installed through the client tools install or by choosing the .NET components when you install the Enterprise Server.
  3. VBS scripts are officially supported in XI R2, but not in XI R3 or BI4 – however they will generally work.
  4. If you are running them on a 32-bit system, you can run them just by double-clicking on them (However you will generally miss most debug messages doing this) or by running them from a command prompt using the line “cscript.exe MyScript.vbs”
  5. If you are on a 64-bit version of windows – you will need to use the 32-bit version of cscript – like this: “%windir%\SysWOW64\cscript.exe MyScript.vbs”

Steps for SAP BusinessObjects Business Intelligence platform 4.0

For Scripts Writtenin Java that Manipulate Users or InfoObjects

  1. Copy the script into the folder “C:\Program Files (x86)\SAP BusinessObjects\Tomcat6\webapps\AdminTools”
  2. Ensure that you have edited the script as described on the page where you find the script (e.g. CMS server name, Username, Password)
  3. Make sure that Tomcat is running (If it is already running – there is no need to restart it)
  4. Run the script by opening a browser and going to “http://MyServer:8080/AdminTools/MyScript.jsp

For Scripts Written in Java that Manipulate Webi Reports

  1. Stop Tomcat
  2. Copy the script into the folder “C:\Program Files (x86)\SAP BusinessObjects\Tomcat6\webapps\AdminTools”
  3. Ensure that you have edited the script as described on the page where you find the script (e.g. CMS server name, Username, Password)
  4. Copy all the JAR files from the folder “C:\Program Files (x86)\SAP BusinessObjects\SAP BusinessObjects Enterprise XI 4.0\java\lib” and “C:\Program Files (x86)\SAP BusinessObjects\SAP BusinessObjects Enterprise XI 4.0\java\lib\external” into the folder “C:\Program Files (x86)\SAP BusinessObjects\Tomcat6\webapps\AdminTools\WEB-INF\lib”.  If you get any name conflicts for jar files while copying, do not overwrite the existing jar file.
  5. Start Tomcat
  6. Run the script by opening a browser and going to “http://MyServer:8080/AdminTools/MyScript.jsp

For Scripts Written in Java that Manipulate Crystal Reports Reports

  1. Stop Tomcat
  2. Copy the script into the folder “C:\Program Files (x86)\SAP BusinessObjects\Tomcat6\webapps\AdminTools”
  3. Ensure that you have edited the script as described on the page where you find the script (e.g. CMS server name, Username, Password)
  4. Copy all the JAR files from the folder “C:\Program Files (x86)\SAP BusinessObjects\SAP BusinessObjects Enterprise XI 4.0\java\lib” and “C:\Program Files (x86)\SAP BusinessObjects\SAP BusinessObjects Enterprise XI 4.0\java\lib\external” into the folder “C:\Program Files (x86)\SAP BusinessObjects\Tomcat6\webapps\AdminTools\WEB-INF\lib”.  If you get any name conflicts for jar files while copying, do not overwrite the existing jar file.
  5. Start Tomcat
  6. Run the script by opening a browser and going to “http://MyServer:8080/AdminTools/MyScript.jsp

For Scripts Written using VBScript

  1. VBS scripts can only be run on a windows system that has the .NET Enterprise SDK installed.  This can be installed through the client tools install or by choosing the .NET components when you install the Enterprise Server.
  2. VBS scripts are supported in XI R2, but not in XI R3 or BI4 – however they will generally work.
  3. If you are running them on a 32-bit system, you can run them just by double-clicking on them (However you will generally miss most debug messages doing this) or by running them from a command prompt using the line “cscript.exe MyScript.vbs”
  4. If you are on a 64-bit version of windows – you will need to use the 32-bit version of cscript – like this: “%windir%\SysWOW64\cscript.exe MyScript.vbs”


Other Samples and Documents

Scripts:

Base Scripting Template for Webi Reports

Base Scripting Template for Crystal Reports

Base Scripting Template for InfoObjects

Samples:

Samples
Java_RAS-Managed_BE115_Add_Border Add a Border to an Object using the RAS RCAPI SDK
Java_RAS-Managed_BE115_Add_Database-Field Add a Database Field to a Report using the RAS RCAPI SDK
Java_RAS-Managed_BE115_Add_Database-Table Add a Database Table to a Report using the RAS RCAPI SDK
Java_RAS-Managed_BE115_Add_Database-Table-Links Add Database Table Links to a Report using the RAS RCAPI SDK
Java_RAS-Managed_BE115_Add_Formula-Field Add a Formula Field to a Report using the RAS RCAPI SDK
Java_RAS-Managed_BE115_Add_Group Add a Group to a Report using the RAS RCAPI SDK
Java_RAS-Managed_BE115_Add_Image-From-File Add an Image from a File to a Report using the RAS RCAPI SDK
Java_RAS-Managed_BE115_Add_Line Add a Line to a Report using the RAS RCAPI SDK
Java_RAS-Managed_BE115_Add_Parameter Add a Parameter to a report using the RAS RCAPI SDK
Java_RAS-Managed_BE115_Add_Section Add a Section to a report using the RAS RCAPI SDK
Java_RAS-Managed_BE115_Add_Special-Field Add a Special Field to a report using the RAS RCAPI SDK
Java_RAS-Managed_BE115_Add_Text-Field Add a Text Field to a Report using the RAS RCAPI SDK
Java_RAS-Managed_BE115_Add_Tool-tip Add a Tool Tip to an Object using the RAS RCAPI SDK
Java_RAS-Managed_BE115_Change_Paper-Size Change the Paper Size using the RAS RCAPI SDK
Java_RAS-Managed_BE115_Copy_Image Copy an Image in a report using the RAS RCAPI SDK
Java_RAS-Managed_BE115_Delete_Report-Object Remove a Report Object using the RAS RCAPI SDK
Java_RAS-Managed_BE115_Modify_Section-Height Resize a Section to a report using the RAS RCAPI SDK
Java_RAS-Managed_BE115_Remove_Group Remove a Group from a Report using the RAS RCAPI SDK
Java_RAS-Managed_BE115_Remove_Report-Object How to remove an Object from a Crystal Report
Java_RAS-Managed_BE115_Set_Command-Table-Location How to Change the SQL for a Command Table
Java_RAS-Managed_BE12_Export_XML How to export a Crystal Report to XML format using the Report Application Server (RAS) SDK
Java_RAS2008-managed_changedbconnectionodbc How to change an ODBC database connection for a managed report using the RAS SDK
Java_RAS2008-managed_changedbconnectionoledb How to change an OLEDB database connection for a managed report using the RAS SDK
Java_RAS2008-managed_dblogon How to pass database logon information for a managed report using the RAS SDK
Java_RAS2008-managed_discreteparameter How to pass a discrete parameter to a managed report using the RAS SDK
Java_RAS2008-managed_exportreport How to export a managed report using the RAS SDK
Java_RAS2008-managed_rangedparameters How to pass a ranged parameter to a managed report using the RAS SDK
Java_RAS2008-managed_resultset How to pass a resultset to a managed report using the RAS SDK
Java_RAS2008-managed_selectionformula How to set a recordselection formula on a managed report using the RAS SDK
Java_RAS2008-managed_setprintoptions How to set the print options when printing a managed report using the RAS SDK
Java_RAS2008-managed_suppressheader How to set the suppress option for a report header on a managed report using the RAS SDK
Java_RAS2008-managed_viewreport How to view a managed report using the RAS SDK
Java_RAS2008-unmanaged_addformulafield How to add a formula field on an unmanaged report using the RAS RCAPI SDK
Java_RAS2008-unmanaged_addsort How to add a sort on an unmanaged report using the RAS RCAPI SDK
Java_RAS2008-unmanaged_changedbconnectionodbc How to change an ODBC database connection for an unmanaged report using the RAS SDK
Java_RAS2008-unmanaged_changedbconnectionoledb How to change an OLEDB database connection for an unmanaged report using the RAS SDK
Java_RAS2008-unmanaged_dblogon How to pass database logon information for an unmanaged report using the RAS SDK
Java_RAS2008-unmanaged_discreteparameter How to pass a discrete parameter to an unmanaged report using the RAS SDK
Java_RAS2008-unmanaged_exportreport How to export an unmanaged report using the RAS SDK
Java_RAS2008-unmanaged_rangedparameters How to pass a ranged parameter to an unmanaged report using the RAS SDK
Java_RAS2008-unmanaged_resultset How to pass a resultset to an unmanaged report using the RAS SDK
Java_RAS2008-unmanaged_selectionformula How to set a recordselection formula on an unmanaged report using the RAS SDK
Java_RAS2008-unmanaged_setprintoptions How to set the print options when printing an unmanaged report using the RAS SDK
Java_RAS2008-unmanaged_suppressheader How to set the suppress option for a report header on an unmanaged report using the RAS SDK
Java_RAS2008-unmanaged_viewreport How to view an unmanaged report using the RAS SDK
To report this post you need to login first.

4 Comments

You must be Logged on to comment or reply to a post.

    1. Shawn Penner Post author

      If it worked in 4.0, it should still work in 4.1.  No features were removed that I am aware between those two versions.  We are focusing more on adding features to the restful SDK though – so any new functionality / bug fixes will likely only occur in the restful SDK part – not the Enterprise SDK.

      (0) 

Leave a Reply