Sei sulla pagina 1di 15

Siebel 8.1.1.

x and BI Publisher - Part 1 (Updated)

With all those Siebel projects that are currently upgrading to or already live on Siebel CRM 8.1.1 many of the weary administrators have applied the patch set And then found out to their dismay that they have to patch BI Publisher as well (to that is). This is the start of a hopefully short series of posts on the steps that have to be executed in order to successfully install Siebel BI Publisher reporting 8.1.1.x in order to ease the workday for you out there a bit ;-) Let's begin with an overview. The following is the to-do list to get full reporting functionality in Siebel and above (up until 8.2 - I am just speculating because most of the stuff should be included in the next major release's repository and seed data anyway). If you already installed BI Publisher in earlier versions, you might feel like skipping some of the steps. But if you're just about to use these long winter evenings and install the whole bunch from scratch, here's your list:

Import Fix Pack SIF files Create a new outbound web service Import inbound web services Create XMLP responsibilities Copy jar files Enable external references for BI Publisher Enable Siebel server components Configure the Siebel Java subsystem Set BI Publisher security Upload preconfigured reports Configure the BIP Scheduler

An impressive list indeed. But hey, it's a new year. So let's get started! In the remainder of this post, we'll discuss the steps that have to be carried out right after applying the patch set to all (yes "all") your Siebel software. For your convenience, I have included links to the Siebel Reports Guide because it's all documented. But one of the reasons for this post was the order of tasks in the guide (have you ever tried this yourself guys?). Importing Fix Pack SIF files

The patch set places a bunch of .sif files into the REPPATCH directory of our Siebel Tools installation. One of these .sif files, namely 8111FP_new_feature.sif has to be imported. After importing, ensure that the project named XMLP Integration is compiled into the Siebel server's srf. Creating a new Siebel outbound web service Now comes the tricky bit. We have to replace the outbound web service definition for the PublicReportService. First, after ensuring that we have BI Publisher (ONE!) installed, we navigate to the following URL and save the WSDL file: http://bip_host:port/xmlpserver/services/PublicReportService_v11?wsdl No, that's not tricky. But wait! Here we go: In Siebel Tools we delete the existing PublicReportService business service (so says bookshelf. If you're more of a timid nature then you might just want to rename it and deactivate it). Furthermore, we delete ALL integration objects that are in the XMLP Integration project. Again, you might want to rename and deactivate or at least archive them but there are lots of 'em. Now we're ready to import the brand new WDSL file using the Siebel Tools WSDL import wizard.

Don't forget to compile... Importing Siebel inbound web services

BI Publisher comes with a brand new security model named "Siebel Security". It allows us to store the XMLP roles as responsibilities in Siebel and let BI Publisher look it up. When BI Publisher executes a scheduled report (one of the key features of Siebel, it has to retrieve the data on behalf of the user. It does so by using another new inbound web service. So if we're on or later, we have to import these precious little services... In the Inbound Web Services view, import the BIPSiebelSecurityWS.xml and the BIPDataService.xml file. Both files are located in the REPPATCH directory of Siebel Tools. The BIPDataService is definitely worth a second look, but not yet ;-) Creating XMLP responsibilities As previously indicated, there is a new security model which utilizes Siebel responsibilities. In order to be able to assign different roles to users, we have to create the following new responsibilities in Siebel or later (again, my assumption is that these will be part of the seed data from 8.2 onwards).


To allow viewing of scheduled reports, assign the freshly imported Report Job List View to the XMLP_SCHEDULER responsibility. As an administrator, you should have them all... Phew... so much for today. I know it feels interruptive but I hope you stay tuned for the next part of this series.

Siebel 8.1.1.x and BI Publisher - Part 2

Welcome back to the second part of the "Installing BI Publisher for Siebel 8.1.1.x" series (and thanks for your patience ;-) Let's get on with it and continue with our list, there are things to be done:

Copy jar files Enable external references for BI Publisher Enable Siebel server components Configure the Siebel Java subsystem Set BI Publisher security Upload preconfigured reports and test

As you can see, we'll discuss most of the "standard" setup tasks and keep the BI Publisher scheduler setup for the next - and final - post of this miniseries. Copying jar files If you installed BI Publisher before, you have already completed this step. It's a straightforward activity and goes like this: Copy the following files from the Siebel Server's CLASSES directory to the *taking a deep breath* oc4j_bi\j2ee\home\applications\xmlpserver\xmlpserver\WEB-INF\lib *taking a deep breath again* folder.

XSLFunctions.jar SiebelCustomXMLP.jar SiebelCustomXMLP_SIA.jar iSignBmp.jar InkToolsLib.jar

Never heard of the last two files? They implement some special functions for displaying signatures in reports. Enabling external references for BI Publisher Another standard task. This time it's all about setting the Disable External Reference parameter in the BI Publisher Runtime Configuration settings to "False". This is necessary to allow BI Publisher to use the .jar files provided by Oracle. Enabling Siebel server components

Two server components must be enabled on at least one Siebel server in the enterprise.

XMLP Report Server EAI Object Manager

XMLP Report Server is the core component of the BI Publisher integration with Siebel and provides connectivity to the Siebel business layer (where it fetches the data using EAI Siebel Adapter) and the BI Publisher (where it sends the XML formatted data to using outbound web services). EAI Object Manager must be online when we use the Siebel Security model of BI Publisher and/or want to use the scheduling functionality. Configuring the Siebel Java subsystem Those among you who have already set up BI Publisher integration or other Java based mechanisms are surely familiar with the Java named subsystems (aka Enterprise Profiles). The XMLP Report Server component uses Java classes on the Siebel server and therefore we must configure both the named subsystem and the component parameter. Time for a piece of script:

change parameter dll=C:\BIP\jdk\jre\bin\client\jvm.dll for named subsystem xmlpjvmsubsys change parameter classpath= SIEBSRVR_ROOT\CLASSES\SiebelXMLP.jar; SIEBSRVR_ROOT\CLASSES\xdoparser.jar; SIEBSRVR_ROOT\CLASSES\fix6312772.jar; SIEBSRVR_ROOT\CLASSES\xdocore.jar; SIEBSRVR_ROOT\CLASSES\xmlparserv2-904.jar; SIEBSRVR_ROOT\CLASSES\versioninfo.jar; SIEBSRVR_ROOT\CLASSES\share.jar; SIEBSRVR_ROOT\CLASSES\jewt4.jar; SIEBSRVR_ROOT\CLASSES\jdbc12.jar; SIEBSRVR_ROOT\CLASSES\i18nAPI_v3.jar; SIEBSRVR_ROOT\CLASSES\collections.jar; SIEBSRVR_ROOT\CLASSES\bipres.jar; SIEBSRVR_ROOT\CLASSES\bicmn.jar; SIEBSRVR_ROOT\CLASSES\Siebel.jar; SIEBSRVR_ROOT\CLASSES\XSLFunctions.jar;

SIEBSRVR_ROOT\CLASSES\SiebelCustomXMLP.jar for named subsystem xmlpjvmsubsys set server Server_1 change parameter jvmsubsys=XMLPJvmSubsys for component xmlpreportserver
Before running this script against the srvrmgr command line, you should modify it to reflect the correct paths on your system. What the script does is setting the parameters for the XMLPJvmSubsys and then point the XMLP Report Server component to the freshly reconfigured subsystem. And yes, the classpath is a lengthy one and has been broken into separate lines to accommodate your browser and eyes. Set BI Publisher security Now it's time to configure the BI Publisher server for the new Siebel security model. This is done in the Admin tab of BI Publisher Enterprise, the web based front end of the BI Publisher. Click the Security Configuration Link, create a super user (to allow administrative login in case the Siebel environment is offline) and set the Security Model to "Siebel Security" along with the other parameters (click on the screenshot for details).

The Siebel Web Service Endpoint is the address of the inbound web service named "BIPSecurityService" and should definitely point to the correct web server. After all these changes, it's time to restart both the BI Publisher server and the Siebel Servers. Upload preconfigured reports and test So finally, my tired little monsters, we reached the point where we upload the preconfigured Siebel BIP reports. Even if we never intend to use them, it's a good test for the Siebel-BIP marriage.

In the Siebel Web Client (yes the "Web" client, no, not the "fat" client, not even the "obese" client, nor the "dedicated" client and don't even think of the "developer" web client, they are all useless because they don't let you click the button, do you get it now?) we navigate to the Administration - BIP screen, Report Template Registration view. Maybe we switch to timid mode once again and only select the Tables Report and the EIM Tables Report because they are most likely the ones that you don't want to build yourself. Then cross your fingers and press the Upload Files button (not easy with fingers crossed, but it does help). Consider yourself officially BIPed only if there is no error message. In the un-magnificent situation of failure, you have to verify all the steps again... Maybe it's just me, but in all the Siebel SIA installations there were some missing preconfigured report templates which was quite an obstacle to simply press CTRL+A and the then the button... The first file upload creates the SiebelCRMReports folder in the BI Publisher repository. So we can go and check there:

And of course, we can run a report: I always choose the Tables Report because it puts some nice load on the system and there's always data at hand even if you have just installed a blank Siebel database. In the Application - Administration screen, select Tables and query for any table you like. Then click the Reports button and select the Tables Report.

Summary We have now successfully finished the task of configuring BI Publisher reporting for Siebel CRM 8.1.1.x. It's an admittedly lengthy procedure and full of pitfalls. One thing is still left, that is setting up the BI Publisher scheduler. That'll be the topic of the final post of this series.

Siebel 8.1.1.x and BI Publisher - Part 3

This is the third post on a mini-series on how to configure the full BI Publisher reporting feature set for Siebel CRM and above. In the first two posts of this series we discussed the steps to set up basic reporting, so that end users can run reports from the Siebel client. One of the major enhancements that was published in the patch set is report scheduling. Setting up BIP scheduling involves the following steps

Create the BI Publisher scheduler schema Enter List Of Values data Create a symbolic URL definition Create the dataservice.wsdl file

So let's get it on (as in the previous posts, I have included links to the Oracle documentation library in the headers). Creating the BI Publisher scheduler schema

This is a task of the BIP post-installation. Here is the short version: If you have not done so already, create a new schema owner for BIP in your database. Next, in the BIP Admin tab, navigate to Scheduler Configuration. Enter the the parameters according to your database. Click Test Connection and if the connection is successful, click Install Schema.

The example above is for Oracle 10g. Entering LOV data for BIP Scheduler Because the new scheduler form applet has a picklist for the report frequency, we have to add the respective LOV data. Using either Siebel Tools or the Siebel client, we enter the following new LOV Type and three values: XMLP_RPT_SCHEDULE_MODE

Run Immediately Run Once Run Daily/Weekly

Beware of typos! Creating the symbolic URL to enable the Report Job List View A new view named Report Job List View is among the sif archive for the patch set. This view hosts a portal applet and needs an accompanying symbolic URL for the end users to marvel at their scheduled reports. The URL creation process is described in the bookshelf (link on the header of this topic) and this is what it looks like.

Create the dataservice.wsdl file One of the most interesting new building blocks for Siebel and BIP integration is the BIP Data Service. It's a new Siebel inbound web service that allows BIP to access the Siebel data for a scheduled report. Basically, you have to download the wsdl file for the BIP Data Service (if it's not present, import it from the BIPDataService.xml file in the REPPATCH directory of Siebel Tools) and copy the file to the oc4j_bi/bin directory of the BI Publisher installation folder. Test It is recommendable to restart both BIP and Siebel and give it a try using one of the Tables Reports. We can now click the Schedule Report option in the Report button's menu and enter the scheduling data. Once the report is scheduled, we can navigate to the BIP Reports Server My Jobs view and verify that it is either in a running or completed state.


Setting up scheduling completes the BI Publisher setup for Siebel CRM with patch set or later. In this threefold series we outlined the necessary steps. There are a lot of steps and they are error prone. So take your time and...

Siebel 8.1.1.x and BI Publisher - Part 4

the story continues... Many of my readers asked for some clarification on parameterized BI Publisher reports in Siebel CRM. This feature is introduced by the patch release and I'll report in the following how it works. Parameterized BI Publisher reports are documented in the Reports Guide of Siebel bookshelf (an invitation to all who use the offline version to download the updated guide ;-). However, the documentation could be a bit juicier than it is now. It is worth mentioning that parameterized BI Publisher reports are only supported in connected mode (that is via the Siebel Web Client) in So let's create a parameterized report. The below example uses the existing Account List report. We'll try to add a parameter which allows the user to display the location information or not. 1. Open the report template Navigate to the Administration - BIP Reports screen and select the Report Template Registration view. Click the aclist.rtf file link to open the report template in Microsoft Word (with the BI Publisher Desktop plugin installed). 2. Add a parameter declaration We can place parameter declarations in any place of the report template. It can be in clear text or inside a form field. The important thing is the parameter syntax (also described here and here). A parameter declaration has to start with <?param@begin: followed by the name of the parameter (no spaces allowed). Separated by semicolons (;) we can specify

the default value the data type

the list of values to be displayed in the Report Parameter list applet

This is the parameter declaration for our example: <?param@begin:Show_Location;'Yes';'string';'Yes,No'?>

This defines a parameter named "Show_Location" with a default value of "Yes", a data type of "string" and a list of values of "Yes,No". 3. Refer to the parameter in the template We can use the parameter name preceded by a dollar sign ($) to refer to the parameter all across the template. For example if we wish to show the location data of an account only when the Show_Location parameter has a value of 'Yes'. The following is the syntax for a conditional section. <?if:$Show_Location='Yes'?>

Please note the ssLocation field is surrounded by the "C" and "EC" fields. The C field defines the condition, the "EC" field simply defines the end of the conditional section using <?end if?>. Use the known procedures to preview and test the report. If you know how to define parameter values in the BIP Desktop preview, please let me know. 4. Save and upload the report template Save the report template in MS Word and close it. The report template is automatically saved in the Siebel file system but needs to be uploaded to the BI Publisher repository. As we can not overwrite existing reports, we have to log in to the BI Publisher Enterprise web front end and delete the report manually. Not quite intuitive but you have to click the icon to the left of the report to see the report commands.

After deleting the report from the BI Publisher repository, click the Upload Files button in the Siebel Web Client to upload the new version of the report.

5. Test Now let's navigate wet-handedly to the Account List view and select the report. The parameter list applet should now display the parameter along with its list of values.

If we select "No" for the Show_Location parameter, then select an output type and click Submit, we should receive a report without location information.

And of course, if we select "Yes", then the location information should be shown. This simple example should give you a clue how to use parameters in BI Publisher reports for Siebel CRM. Of course there are better uses for parameters such as

Displaying a custom report title Sorting or grouping based on user input Showing additional charts etc and much more...

Those among you who have worked with Actuate reports for Siebel CRM might feel a kind of relief as there is no need to create a parameter applet in the Siebel repository.