Wednesday, August 11, 2010

Stocks Useful Links

If you want to get the whole saving/investing thing started early, I would just toss the money in a set of index funds. I recommend Vanguard (low fees and high quality product - index funds are more or less all the same), diversifying across a few different indices (depending on what you wish, you could spread it across the S&P500 fund, the international equity fund, a corporate bond fund, and treasuries).

AFTER THAT, I would then begin the "learning" phase. What most people do not understand is that putting your money in a few companies is unbelievably risky unless you really know what you're doing. You can't just invest in names you know, the key is how much you're paying for them. With your money tied relatively safely in index funds, I would start researching individual companies. Take a look at the Investor Relations section of their websites, and read through the most recent 10-K. Don't worry if its unbelievably confusing, it's honestly not meant to be fully understandable by the general public. Your first time through, look through the verbal parts. Read the sections that describe the business, read sections like the Management's Dicussion and Analysis - skim through some of the numbers if you wish. Watch, if you have access, financial news programs, the Wall Street Journal, finance sections of news websites like CNN. Go to Yahoo! Finance or similar sites and see what the recent news is for specific companies as well as the economy as a whole, and look at how this news is impacting stock prices. Use Investopedia and Wikipedia.

What's important that this stage is that you learn. Avoid getting trapped into the world of people who have never opened a 10-K but think they're stock market geniuses because their uncle's brother's friend's barber had a great stock tip. One really good thing to do once you get into college is go to the business school library if there is one and ask how you can get access to equity research reports of companies. I would recommend that, at all costs, avoid technical analysis. It's an interesting idea but at the retail level (what you and 99.9% of the rest of the public is at), it's just not a very good idea.

http://www.investopedia.com/
http://www.capitalmarket.com/
http://www.commodityinsights.com/
www.stockclever.com
http://www.stockstobuy.co.in/
www.maketheprofit.com
http://www.finance-trading-times.com/
http://sharegenius.blogspot.com/
http://www.moneycontrol.com/

Sunday, July 25, 2010

Siebel Application Object Manager

Siebel Application Object Manager (AOM)

Application Object Managers (AOMs) host the Business Objects layer and Data Objects layer of the Siebel architecture.

It is a server component that creates and processes data at multiple levels.

UI layer (supported by the Siebel Web Engine)
Business object layer
Processes business logic
Data object layer (supported by Data Manager)
The AOM is used primarily to support Siebel Web client connections.

AOMs are hosted as components in the Siebel Server and run on the application server (the machine that hosts the Siebel Server). The Siebel Server provides the infrastructure for an AOM to serve multiple Siebel Web client users. Multiple AOM components can run on a single Siebel Server installation.



AOMs communicate with clients using the TCP/IP protocol through a Web server that contains the Siebel Web Server Extension plug-in (SWSE). Communication between the Web server and the AOM can be compressed and encrypted. An independent session is established to serve incoming connect requests from each client. Subsequent requests from clients are directed to the same AOM tasks until the sessions are terminated.

After startup, AOMs do not achieve their full run-time environments until after the first connect, therefore, leading to possible delays during the first connection.

Monday, July 19, 2010

Escript Best Practices

There a Golden Rule that every Siebel Developer should follow when it comes to scripting. This golden rule is to never script unless there is no other choice on meeting your requirements. Scripting is the highest level of customization and adds complexity and cost to the configuration. So scripting should be your last resort. So the first practice is to avoid script. So to avoid scripting, below are some configuration methods every developer should think before attempting to work with eScripts

User Properties: This is a major feature in Siebel. An example of this is “On Field Update Set”. This is used instead of scripting on Set Field Value event to change some other value.

Calculated Fields: Calculated fields come very handy when we need to do validation. With the help of Calculated Fields and User properties lot of functional requirements are achieved.

State Models: State models help in restricting transitions from one field value to other. So there is no need to script to check the status change.

Runtime Events: This was introduced in 7.7 and has been of significant help to the developers to on invoking Workflows & Business Services based on events. So avoid Business Component events.

Workflows: Instead of writing a big script, we can break that down to a series of workflow steps. We have steps Like Write, Update, if condition, Sub-Process, Invoke Business Service and lot of other key stuff. Workflows are very efficient and promising.

Best Practices of Scripting in Siebel

This article presents a collection of Siebel scripting best practices.

1. Always use TheApplication to call the application, as the declaration of a global variable to represent the application (e.g. var theApp = TheApplication()) is not recommended by Siebel. The use of this variable may cause memory leaks, reduce performance or other unpredictable behaviour.

2. User-defined functions must be Forward Declared in the general declarations of each script. This avoids compilation errors that may arise if the functions called are not in alphabetical order. The compiler compiles all functions alphabetically and so if one function calls another that is later in the alphabet the compiler does not recognize this second function and therefore, fails.

3. Be cautious when adding script to business components as this code applies application wide across applets and views. If a certain piece of coding is needed at the business component level but is restrictive to certain situations like if exposed only through some particular views then make sure to limit the processing through an appropriate condition.

4. The use of 'With' is recommended by Siebel as it enables the code to be changed faster and more readable way to group operations performed within the same business component. The use of 'With' also presents a slight performance improvement.

5. Using variables can make code maintenance easier due to readability. However overuse of variables increases the amount of operations that have to be performed and can reduce performance slightly.

6. Siebel does not recommend the use of 'Empty'. 'Empty' is an undefined variable which is assigned as type variant. A variant is initially set to a null string (''), which means that any scripts currently using this term will not be affected. However, it is better practice to assign '' rather than 'Empty' to any strings you need to set back to NULL. The use of 'Empty' prevents Option Explicit from checking all other variables are declared correctly.

7. The use of 'ActivateField' prior to a query is the equivalent to the 'SELECT' statement in SQL. The use of 'ActivateField' in Siebel scripts code can be confusing and should be minimized as much as possible as this has a performance impact. However there is nothing worse than receiving a runtime exception: ' was not active...'. When activating fields note that:

a. Siebel system fields (Id, Created, Created By, Last Updated, Last Updated By) are always force active.

b. Fields that have Force Active = Y on the business component are always force active.

c. Fields that have Link Specification = Y on the business component are always force active.

d. Fields that are included in the definition of an applet on the active view if it is bound to a web template item and the 'Show In List' property of the list column or 'Visible' property of the control is TRUE. If the user removes the list column from the 'Columns Displayed' in the list applet, the field may no longer be active after the next query.

e. Fields that are used as part of a calculated field calculation when the calculated field is retrieved for use on the active applet.

8. 'ActivateField' should only be used prior to 'ExecuteQuery' to ensure that a particular field will be activated and included in the equivalent 'SELECT' statement of the query. Therefore 'ActivateField' is usually never to be used with 'this'/'Me' (eg. this.ActivateField('Field1')). This is because you don't usually perform a query in the current context as this would change the on screen query displayed to the user. Siebel actually specifies that the use of ActivateField with 'this' can possibly cause data corruption to occur.

9. When performing a query, always use 'ForwardOnly' after the 'ExecuteQuery' to set the cursor position unless moving back through the returned records. This is a much faster query because it does not create a cache that stores the previous records.

10. If you have a set of 3 or more 'IF Else If' statements then use 'Switch Case' statements instead. This simplifies code and improves performance.

11. It is best practice in Siebel scripting to use the 'Try/Catch/Finally' statements in code. This will ensure that exceptions are caught and handled appropriately and instantiated object variables are always destructed in the finally block (which reduces the chances of memory leak) as the code in the finally block is always executed. Note that object variables should be destroyed in the reverse order they were instantiated.

12. Reduce the number of queries performed as much as possible. Siebel maintains the parent-child relationships defined in links automatically so there is no need to query the child Business Component to obtain records for a given parent. Make use of commands like, 'GetParentBusComp' to access the parent record, instead of re-querying to retrieve record.

13. Don't create objects (BC and BOs) if you need a reference to BC and BO from the current context. Make use of default application variables 'BusComp' and 'BusObject' in this situation.

14. The use of 'ActiveBusObject', 'ActiveBusComp' and 'ActiveApplet' should be limited because the object represented by these statements may change depending on the active applet. Siebel recommends the use of the 'this' object for eScript ('Me' for Siebel VB) wherever possible. 'Me'/'this' represents the object where the code is written, 'ActiveXXX' represents the object behind the current active applet. The use of 'Me'/'this' is a safer method, especially during development when, it is not entirely clear which applet will be active at any given time. It also enables easier interpretation of the scripts because the 'base' object, represented by 'Me'/'this' will never change. The use of 'Me'/'this' also removes the need to store the active BusObject and active BusComp in variables as it does not need to be declared or explicitly destroyed at the end of the function.

15. All code must be indented logically, including comments which efficiently describe what the script is doing. Each new script should include a header comment which provides: Author, Date, Description and Version History for that script.

16. Delete all 'empty' scripts that once contained text. Delete everything, including the function header and footer. Otherwise the application will go to that script when the event is triggered and performance will be impacted slightly.

17. Keep use of Applet scripting to a minimum where possible. Attempt to meet business requirements by configuring in Siebel Tools where possible and generally implementing scripts for minor functionality where a given functionality cannot be met using declarative configuration.

18. Scripts which insert new records or change data should take care to explicitly commit the record otherwise the data could be lost.

19. When you are deleting records in script based on a particular query, be sure to use a while loop rather than an 'If' statement as the 'If' condition will only delete one record where multiple records may need to be deleted.

Wrong Way:


1: bcPositionMVG.ClearToQuery();
2: bcPositionMVG.InvokeMethod("SetAdminMode", "TRUE");
3: bcPositionMVG.SetSearchExpr("[Id] <> '0-5220'");
4: bcPositionMVG.ExecuteQuery();
5:
6: // The first record is identified and deleted. However,
7: // subsequent child records are not deleted.
8: if ( bcPositionMVG.FirstRecord() )
9: {
10: bcPositionMVG.DeleteRecord();
11: }

Right Way:


1: bcPositionMVG.ClearToQuery();
2: bcPositionMVG.InvokeMethod("SetAdminMode", "TRUE");
3: bcPositionMVG.SetSearchExpr("[Id] <> '0-5220'");
4: bcPositionMVG.ExecuteQuery();
5:
6: while ( bcPositionMVG.FirstRecord() )
7: {
8: bcPositionMVG.DeleteRecord();
9: }

Saturday, July 17, 2010

BIP Troubleshooting Steps

Process behind execution of Reports
Purpose: The Reports Business Service enables BI Publisher reports to be executed from the Siebel application via a Workflow Process, or through scripting. The report is generated in the background by connecting to the BI Publisher server. The report output is stored in the Siebel File System and accessed from the My BI Publisher Reports view. The Reports Business Service can not be executed on the Mobile Web Client.
Vanilla Siebel Report Business Service was not configured properly. We had issue in seeing Reports from Siebel UI. This issue is also for Vanilla Reports. When we check in Support Web found an SR which is reconfiguring Report business Services and performed the steps specified in the link below.
https://support.oracle.com/CSP/ui/flash.html#tab=KBHome(page=KBHome&id=()),(page=KBNavigator&id=(bmDocDsrc=DOCUMENT&bmDocTitle=Siebel%20BI%20Publisher%20Reports%20Business%20Service&viewingMode=1143&bmDocID=823360.1&from=BOOKMARK&bmDocType=BULLETIN))

Troubleshooting Errors While Running Siebel Reports (SBL-OMS-
00203)



To troubleshoot errors while generating Siebel Reports
1. Make sure the XMLP Report Server server component is enabled.
2. Increase the XMLP Report Server server component log level to 5 to create a more detailed log file.
3. Copy the xdodebug.log file to the jre\lib directory.

Additionally, you might encounter an instance where a layout template was registered with one database, but you generated it with a different database, and the generation fails. If this error happens, you must complete the following task.

To regenerate and rerun the report
1. Regenerate the XML data.
2. Reregister the layout template.
3. Regenerate the report.






Troubleshooting Errors while Uploading reports.



The above error may cause for two reasons:
Reason 1: Check for BI Publisher Server with administrator privileges as below

1. Log in to the Oracle BI Publisher Server with administrator privileges
2. Click the Admin tab, and then select Security Configuration (under Security Center).
3. In the Security Model section, check the following
o Model: Siebel Security
o Check the host name and port as the Web Service Endpoint.
o Chesk the Siebel administrator credentials

Reason 2: If the Report Uploaded for second time

Need to delete the report from BI Repository, re-register the report after deleting it from repository and the upload the file.

Resolving Class Not Found Errors




1. Navigate to the Administration - Server Configuration screen, Enterprises, and then the Profile Configuration view.
2. Select the XMLPJvmSubsys profile.
3. For the JVM Classpath profile parameter value in the Profile Parameters subview, Provide a reference to each of the JAR files in the CLASSES directory in the Siebel application root directory (SIEBSRVR_ROOT/CLASSES).

For example, you might enter the following value:

\siebsrvr\CLASSES\bicmn.jar;\siebsrvr\CLASSES\bipres.jar;\siebsrvr\CLASSES\collections.jar;\siebsrvr\CLASSES\fix6312772.jar;\siebsrvr\CLASSES\i18nAPI_v3.jar;\siebsrvr\CLASSES\jdbc12.jar;\siebsrvr\CLASSES\jewt4.jar;\siebsrvr\CLASSES\MQeBase.jar;\siebsrvr\CLASSES\MQeSecurity.jar;\siebsrvr\CLASSES\share.jar;\siebsrvr\CLASSES\Siebel.jar;\siebsrvr\CLASSES\Siebel_JavaDoc.jar;\siebsrvr\CLASSES\SiebelCustomXMLP.jar;\siebsrvr\CLASSES\SiebelJI_enu.jar;\siebsrvr\CLASSES\SiebelSMQ.jar;\siebsrvr\CLASSES\SiebelXMLP.jar;\siebsrvr\CLASSES\versioninfo.jar;\siebsrvr\CLASSES\xdocore.jar;
\siebsrvr\CLASSES\xdoparser.jar;\siebsrvr\CLASSES\xmlparserv2-904.jar;\siebsrvr\CLASSES\XSLFunctions.jar;.


Troubleshooting Errors while applying fix pack.



Make sure that the Siebel repository pointing to single repository.

Process of Optimizing the Generation Performance of Siebel Reports for Large Data Volumes

Note: This task is applicable only to connected mode.

1. Navigate to the Administration - Server Configuration screen, Enterprises, and then Profile Configuration view.
2. In the Profile Configuration view list, select Server Datasource (alias ServerDataSrc).
3. Scroll down to the Profile Parameters, and then click Advanced.
4. In the Profile Parameters list, select Datasource maximum fetch array size (alias DSMaxFetchArraySize), and then change the value to -1.
5. Restart the Siebel Server.

Create Separate Named Datasource For Siebel BI Publisher Reports With Large Data Volumes

1. Create a new Profile (Named Subsystem) by cloning the existing 'Server DataSource' Profile. You would need to use the Copy Record feature to do that.
2. The new profile can be named as 'Reports DataSource' (Alias RptDataSrc).
3. In the 'Profile Parameters' specify all the parameters same as the 'Server Datasource' profile. Make sure you set the Datasource maximum fetch array size 'DSMaxFetchArraySize = -1'.

NOTE: Match up all the parameters (including Hidden and Advanced)
4. Navigate to the Administration - Server Configuration > Enterprises > Component Definitions view. Query for 'XMLP Report Server' component.
5. Click the drop down Menu and select 'Start Reconfiguration'.
6. In the 'Component Parameters’ list applet query for '*Data Source'.
7. Set the value of the following parameters:
a) OM - Data Source = RptDataSrc
b) OM - Named Data Source name = RptDataSrc,GatewayDataSrc
c) Application Datasource = ServerDataSrc
8. Click the drop down menu in the 'Component Definitions' applet and select 'Commit Configuration'.
9. Hit the 'Synchronize' button under the 'Component Definitions'
10. Restart Siebel Server and Gateway Services.
11. Log into the Siebel Application as Siebel Administrator and ensure that the XMLP Report Server component is 'Online'.
12. To ensure that the new parameters are in effect:
- Navigate to Site Map > Administration - Server Configuration > Servers >Components
- In the Component Parameters list applet query for '*Datasource'
- Verify the following parameter values:
a) OM - Data Source = RptDataSrc
b) OM - Named Data Source name = RptDataSrc,GatewayDataSrc
c) Application Datasource = ServerDataSrc

BIP Report Installation

BIP Software Download

Installing Oracle Business Intelligence Publisher for
Siebel Business Applications

Installation of BI Publisher Server

1. Log in to Oracle E-Delivery available at:
http://edelivery.oracle.com/EPD/WelcomePage/get_form?ARU_LANG=US
2. Choose a language or select the Continue link to download with English as the default language.
3. Accept the license terms and export restrictions.

4. Select Oracle Business Intelligence as the product pack, a platform (for example, Microsoft Windows (32-bit), and then click Go.

5. Select Oracle Business Intelligence (10.1.3) Media Pack for Microsoft Windows (32-bit), Part
Number B36246-15, and then click Continue(The part number is different if installing a media
pack for other platform).

6. Download the following BI Publisher installations:

Oracle BI Publisher Enterprise 10.1.3.4.0 for Microsoft Windows Part 1 of 2.
Oracle BI Publisher Enterprise 10.1.3.4.0 for Microsoft Windows Part 2 of 2.

7. Install BI Publisher by performing the following tasks
• Unzip the following files into a directory of your choice
B50931-01_1of2.zip
B50931-01_2of2.zip
• Run setup.exe.

Oracle BI Publisher Desktop Installation


Select the language and click next.



Click next.




Click Finish, setup for Oracle BI Publisher Desktop is completed.


Oracle Enterprise Installer





Click next

























Enter OC4J Password as Administrator1.







Installation of Oracle BI Publisher is completed.

Login to BI Server as below






Give the UserId and Password as ‘Administrator’.










Note: You must have installed JDK (Java Development Kit) version 1.5 or higher and pointed the JAVA_HOME system variable to the JDK.






























Steps to configure BIP Report server

1. Define Outbound Web Service for the BIP Publisher Server
a. Login to Siebel application with SADMIN
b. Navigate Administration - Web Services , Click Outbound Web Service
c. In the Name field, query for ‘PublicReportService’ change Address in Service Ports to http://crmprd02.usac.mmm.com:9704/xmlpserver/services/PublicReportService

2. Copy JAR files to the BI Publisher Server: We need to copy JAR files for successful Report generation. By default, these Java functions are not available on the BI Publisher Server.

a. Copy the following files from $SIEBEL_HOME/CLASSES to OC4J_HOME/j2ee/home/applications/xmlpserver/xmlpserver/WEB-INF/lib

XSLFunctions.JAR
SiebelCustomXMLP.JAR
SiebelCustomXMLP_SIA.JAR( Applicable only for Industry applications)

b. Enable external file references by performing the following tasks

1) Log in to the BI Publisher Server
2) Click the Admin tab, and then select Runtime Configuration and Properties
3) Change the Default value for the Disable External Reference attribute to FALSE.

c. Restart OC4J( BI Publisher services).


3. Enable Siebel Reports: Before using Siebel Reports, the XMLP Report Server Component must be enabled. By enabling the XMLP Report Server Component, reports appear in the Reports Menu drop-down list in Siebel Business Applications.
To enable Siebel Reports do the following:
a. Log in to the Siebel application with system administrator privileges
b. Navigate to Administration - Server Configuration, Enterprises, and then Component Groups
c. In the Component Groups list, select XMLP Report, and then click Enable.
d. Click the Synchronize view tab, and then in the Component list, select XMLP Report Server
e. Click Synchronize
f. Restart the Siebel Server



4. Configure Database Authentication and Security:
To set the BI Publisher server user ID and password.

a. Log in to your Siebel application.
b. Navigate to Administration - Server Configuration, Servers, and then Components.
c. Query for XMLP Report Server, and then select it.
d. Click the Parameters tab and query for BIP*.
e. Enter the user ID and password used to access the BI Publisher Server in the Default Value fields of the BIP Server Login and BIP Server Password parameters

5. Configure Font Files
On the Siebel Server machine where the XMLP Report Server Component is enabled, copy the fonts you want to use for your reports from, for example, C:\WINDOWS\Fonts directory, to the $JRE_HOME\fonts directory.


Configuration Steps after 8.1.1.1 Fix Pack applied: (Fix Pack to get Parameterized Reports)

Apply 8.1.1.1 Fix Pack Tools, Client and Server (Download the software from Metalink Patches & Updates)

 Importing the Siebel CRM 8.1.1.1 Fix Pack SIF File for Use with Siebel Reports
a. Log in to Siebel Tools.
b. From the application-level menu, select Tools, and then the Import from Archive menu item.
c. In the file browser dialog window, choose 8111FP_new_feature.sif from the D:\SIEBEL_TOOLS_ROOT\tools\REPPATCH directory (where Siebel Tools is installed).
d. Follow the import wizard prompts to import the SIF file.
e. Compile the new project into the repository file.

 Post installation Configuration Tasks for Oracle BI Publisher

o Configuring the Outbound Web Service for the Oracle BI Publisher Server
1. Generate a new WSDL file by doing the following.
a. Start up the Oracle BI Publisher Server.
b. Using your browser, enter the following URL to retrieve the Web service definition.
http://:/xmlpserver/services/PublicReportService_v11?wsdl
Where:
• host is the full path for your Oracle BI Publisher Server
• port is the port that the Oracle BI Publisher Server uses
c. Save the definition as PublicReportService_v11.WSDL.
2. Using Siebel Tools, delete the PublicReportService outbound Web service and related integrated objects by doing the following.
a. Log in to Siebel Tools.
b. Query for the PublicReportService business service, and then remove this object.
c. Click Integration Object, query for the XMLP Integration project, and then remove all selected objects.
Note: Make sure that tools is pointing single repository.
3. Create the updated PublicReportService by doing the following.
a. In Siebel Tools, choose File, New Objects, the EAI tab, Web Service, and then click OK.
b. Select the XMLP Integration project.
c. Browse to import the PublicReportService_v11.WSDL document file (the file you created in Step 1), and then click Next.
d. Check the Deploy Integration Object(s) and Proxy Business Service(s) checkbox, and then click Finish.
4. Check your results by doing the following.
a. In Siebel Tools, click the Business Service object type.
b. Perform a query with the following criteria:
• Project is XMLP Integration
• Name is PublicReportService
c. Verify the user properties are as follows:
• siebel_port_name is PublicReportService_v11
• siebel_web_service_name is PublicReportServiceService
• siebel_web_service_namespace is
http://xmlns.oracle.com/oxp/service/v11/PublicReportService
5. Select Integration Object, query for the XMLP Integration project, and then verify there 128 projects are returned.
6. Compile the XMLP Integration project.
7. Log in to the Siebel application as an administrator.
8. Navigate to the Administration - Web Services screen, then the Outbound Web Services view.
9. In the Name field, query for PublicReportServiceService, and then change the Oracle BI Publisher Server machine name to your Oracle BI Publisher Server using the following format:
http://:/xmlpserver/services/PublicReportServiceService
Where:
 host.domain is the full path for your Oracle BI Publisher Server
 port is the port that the Oracle BI Publisher Server uses
For example, you might set it to:
http://.domain:9704/xmlpserver/services/PublicReportServiceService
10. Confirm the new PublicReportServiceService Web service is active by doing the following.
a. Restart the Siebel Server.
b. Navigate to the Administration - Web Services screen, then the Outbound Web Services view.
c. Query for PublicReportServiceService to confirm the status is Active.
d. In the Service Ports subview, verify the Name field shows PublicReportService_v11.
11. Verify that the Oracle BI Publisher Server is running and ready for generating reports.

o To copy JAR files to the Oracle BI Publisher Server ( Ignore these steps if it’s performed before fix pack)

1. Copy the following files from the SIEBSRVR_ROOT/CLASSES directory:
 XSLFunctions.JAR
 SiebelCustomXMLP.JAR
 SiebelCustomXMLP_SIA.JAR
2. Paste them to the following Oracle Application Server directory:
OracleAS_HOME/j2ee/home/applications/xmlpserver/xmlpserver/WEB-INF/lib
3. Enable the external file references:
a. Log in to the Oracle BI Publisher Server with administrator privileges.
b. Click the Admin tab, and then select Runtime Configuration and Properties.
c. Change the default value for the Disable External Reference attribute to FALSE, click Apply, and then verify the changes were made.
4. Restart Oracle Application Server Containers for Java Platform, Enterprise Edition (OC4J).



o Adding an Explicit Reference to JAR Files for the Oracle BI Publisher Server

1. Navigate to the Administration - Server Configuration screen, Enterprises, and then the Profile Configuration view.
2. Select the XMLPJvmSubsys profile.
3. For the JVM Classpath profile parameter value in the Profile Parameters subview, provide a reference to each of the JAR files in the CLASSES directory in the Siebel application root directory (SIEBSRVR_ROOT/CLASSES).
For example
${SIEBEL_HOME}/classes/SiebelXMLP.jar:${SIEBEL_HOME}/classes/xdoparser.jar:${SIEBEL_HOME}/classes/fix6312772.jar:${SIEBEL_HOME}/classes/xdocore.jar:${SIEBEL_HOME}/classes/xmlparserv2-904.jar:${SIEBEL_HOME}/classes/versioninfo.jar:${SIEBEL_HOME}/classes/share.jar:${SIEBEL_HOME}/classes/jewt4.jar:${SIEBEL_HOME}/classes/jdbc12.jar:${SIEBEL_HOME}/classes/i18nAPI_v3.jar:${SIEBEL_HOME}/classes/collections.jar:${SIEBEL_HOME}/classes/bipres.jar:${SIEBEL_HOME}/classes/bicmn.jar:${SIEBEL_HOME}/classes/Siebel.jar:${SIEBEL_HOME}/classes/XSLFunctions.jar:${SIEBEL_HOME}/classes/SiebelCustomXMLP.jar
Where:
${SIEBEL_HOME} is the actual path where the Siebel application is installed.
4. Restart Siebel services

 Process of Configuring Security and Authentication for Siebel Reports

o Setting the Siebel Security Model for Siebel Reports

1. Define four new responsibilities in the Siebel application by doing the following:
a. Navigate to the Administration - Web service screen, then the Inbound Web Service view.
b. Import the BIPSiebelSecurityWS.XML file to create the inbound Web service from the D:\SIEBEL_TOOLS_ROOT\tools\REPPATCH directory (where Siebel Tools is installed).
c. Change the host and port number of the server port's address to that of the Siebel Server.
d. Navigate to the Administration - Application screen, then the Responsibilities view to add the following new responsibilities:
Responsibility Description
XMLP_ADMIN Administrator role for the Oracle BI Publisher Server with no access limitations.
XMLP_DEVELOPER Assign this responsibility to allow for uploading reports from the Oracle BI Publisher Server to the Siebel application.
XMLP_SCHEDULER Assign this responsibility to allow for scheduling of reports.
XMLP_SIEBEL_GUEST Assign this responsibility to limit access to reports. This responsibility only allows for generation, viewing, and deletion of user's own reports.
e. Assign these responsibilities to the appropriate users.
2. Associate the XMLP_SCHEDULER responsibility with the Report Job List View.
This association allows users to view their scheduled reports in the My Jobs view in the Siebel application, which is an embedded user interface to Oracle BI Publisher.
3. Enable the Siebel Security model by doing the following:
a. Log in to the Oracle BI Publisher Server with administrator privileges.
b. Click the Admin tab, then select Security Configuration (under Security Center).
c. Create a super user as shown below and click Apply button.


NOTE: Super user allows you to log into the Oracle BI Publisher Server when the Siebel application is not running.
d. In the Security Model section, perform the following, and then click Apply.
 Set the model to Siebel Security
 Enter the host name and port as the Web Service Endpoint
 Enter the Siebel administrator credentials

4. Set the proper access permissions to the SiebelCRMReports folder by performing the following:
a. Open a new browser window and navigate to the Oracle BI Publisher Server at
http://BIPServerHost:9704/xmlpserver
b. Click the Admin tab, select Roles and Permissions, and then locate the XMLP roles (XMLP_*).
c. For each report responsibility, click Add Folders to grant permission to the shared SiebelCRMReports folder.
5. Restart the Oracle BI Publisher Server.

BIP Reports Setup in Siebel

BIP Reports Documentation




Introduction 2
Steps to convert Actuate Report into Oracle BI Publisher 2
Actuate Reports Conversion Assistant 3
Steps to Convert Report Layout 4
Siebel Reporting Architecture with BI Publisher 7
Two Different Modes for BI Publisher Integration 7

Siebel Reports Architecture and Report Flow Generation for Connected Mode 7
Siebel Reports Architecture and Report Flow Generation for Disconnected Mode 9
OBI Publisher Reports 11
1. Create a new Integration Object in Siebel Tools – 11
2. Create sample XML file- 14
3. Create a Report template- 17
4. Register the report template using the Report Template Registration view. 26
5. View Association- 27









Introduction
BI Publisher has been introduced to Siebel users since its Release 8.1.1 as a new reporting platform replacing the older Actuate base reporting platform. It is tightly integrated with the Siebel architecture and its applications. The users can run and manage their reports with BI Publisher from Siebel applications UI.
This document provides detail description of how to convert Actuate reports to BI reports and how to create reports Using OBI Publisher

Steps to convert Actuate Report into Oracle BI Publisher

The Siebel Reports integration with Oracle BI Publisher is based on a loosely coupled architecture where Oracle BI Publisher runs as a standalone server. The integration point for Siebel Reporting will be through standard Web services integration using Siebel EAI. Reports will be submitted and rendered within the context of the Siebel user interface. The reports can be saved within the Siebel file system. Actuate, in a Siebel CRM environment, handles the report layout in an Actuate design File (.ROD file) and the report data comes from Siebel in pre-built report objects (Business Objects, Business Components etc.). In Oracle BI Publisher the data model and the layout are separate entities, therefore, the Actuate Reports Conversion Assistant can assist with part of the reports conversion process.




Actuate Reports Conversion Assistant
Actuate Reports Conversion Assistant is a command line utility that converts the Actuate layout design into BI Publisher layout design. It takes the .BAS file as input that is generated by Actuate Design File (.ROD) during compilation. The conversion tool reads the .BAS file and generates an RTF template for BI Publisher.
Prerequisites

1. Windows OS environment
2. JRE 1.5 or above installed in the machine and this should be set in the Windows path environment variable. To verify the version of java in the machine, type the following in a command prompt:
Java -version



3. If the Java version is lower than 1.5 then you must change the path at the command prompt to the higher version:
Set path = [enter the path to a higher version of Java.exe]; %path%
Note: The complete install of Oracle BI Publisher 10.1.3.4 includes a JDK 1.5 installation.
Steps to Convert Report Layout


1. Extract the files from ActuateConversionAssistant_v1.00.zip to a suitable location



2. From a Windows command prompt navigate to the extracted locations and the ‘scripts’ folder.




3. Type "run" to start the conversion. The run command can have the following options:
run –i -o -l
Option -i is a mandatory switch, -o and -l are optional and will default to the input bas file location. [-i , -o , -l] can be a file name or a folder location (for multiple report conversion) To convert multiple reports at a time, run the following command run –i basFile_path -o RTFfile_path This will read all the files in the basFile_path location and put the generated files with corresponding names in the RTFfile_path location. By default a log file is created at location RTFfile_path.


4. Review the BI Publisher rtf template and log file created. If the log file indicates any function that could not be handled then inspect the RTF template in the BI Publisher Word Add-In. In the Template Builder, open the Field Browser under the Tools menu. Look for the label mentioned in the log file and the corresponding data commented out with in tags . These are copied functions or expressions from Actuate. These need to be converted into BI Publisher syntax to handle the function or expression. If the log file indicates failure to convert any Actuate Report object, then you will have to manually add the equivalent report object in the RTF template.



5. Using a sample XML data for the report, preview the report output while you are using the Template Builder. Make modifications as necessary to match the look and feel of the report layout.

6. Deploy the RTF template to Oracle BI Publisher Server.





OBI Publisher Reports
Following are the steps to generate a simple report in Siebel with the help of OBI Publisher which is a new feature in Version 8.1.1.
1. Create a new integration object using Siebel Tools
2. Create XML data using the Sample Data File Generation view in the Siebel client.
3. Create a new report template or modify an existing report template using Oracle BI Publisher Desktop.
4. Register the report template using the Report Template Registration view.
5. Associate the report with Siebel views.
The detailed explanation of each step is as follows:
1. Create a new Integration Object in Siebel Tools –
Integration Object is a logical representation of external application data, or of Siebel data that needs to map to an external application. You can either create an Integration object through New Object wizard or by directly creating a new record at object level.















Compile the Integration object into srf.

2. Create sample XML file-
After creating the Integration object, we have to create a sample xml file which is our data source. Log into Siebel Application. Go to Administration – BIP Reports -> Sample Data File Generation view .Query for the Integration object created and click on Generate sample XML button.


Once the sample xml file is created, we have to save it in Client root->XMLP->DATA folder.



3. Create a Report template-
Now that we have the xml data source, we have to develop a template file on which we want to see the Report. Open a word document (considering that OBI Publisher desktop is installed).Go to Data -> Load xml. Choose the xml file generated and load it to the template.




Now that we have loaded the data, we have to insert fields. Go to Insert ->Choose Field if we want add a few fields only .Choose table to insert a table or Form or Free form.














You can also give headings and attach logos to your report template.
Select Tools->Field Browser. Dialog box opens which shows the template logic and allows us to change it.


Go to Preview->Choose in which format you want to preview the report. This allows us to preview the report.


A pop up will come asking to save the file in rtf extension.Click Yes and save the file in Client root\XMLP\TEMPLATES folder.

Now you can preview the report in any format.
Go to Tools -> Validate Template. This will validate the template which is created.



4. Register the report template using the Report Template Registration view.

Log into Application Administration – BIP Reports -> Report Template Registration view. Create a new record. Give the name of your report as you want to see it in Application. Give the rtf template name and output type. Go to Report Template Integration Object and add the Integration object you created.

Save the record.
Click on Generate Xliff button. This will generate the .xsl file(localization file) in Client Root\XMLP\Template Folder.


XML, XLIFF, and XSL template are given as input to the XDO classes for generating the report.
5. View Association-
Associate the report to views on which you want to generate report. Go to Administration- BIP Reports -> View Association. Query for the view. On report list applet, add the report name and save.

6. Now that the configuration is over. You can go to the specific view and click on Reports icon.

Under BIP, You can the report name which you created. Click on that. A window will open which will ask the output type. Select the output type and click on Submit. You can view the report in template which you have created.





















Deploying BI Reports for Mobile Clients
--add the xmlp resp. to user
--Copy files to client installed dir (Data,rtf,xsl.xlf
)