Category Archives: Siebel

Siebel Open Variable Analyzer

Siebel OVA Utility:

Siebel OVA utility performs following function

  1. Analyzes eScript variables that has been opened but not closed (“null” are not assigned to variable) in the script
  2. Searches for objects that has been opened using the following functions such as GetAssocBusComp, GetPicklistBusComp, this.BusObject, ActiveBusObject, GetBusObject, GetService, NewPropertySet but not nullified
  3. Skipped eScript comments in code
  4. Takes under consideration multiple variables assignments like : var1 = var2 = var3 = <Something>

 

How to get it working?
I was not able to make it work out of the box due to problem with paths specified in Perl Script and the batch file. The Path in these files follow Unix Path convention and I had to change it to windows path. Here are the steps to make this utility work

  1. Download the RAR file and extract it in C Drive (you can extract it anywhere but extracting in root folder makes path simpler in scripts)
  2. Edit tnsnames.ora file in the folder and add the connection details. You can add any Siebel DB details it will extract the scripts from the DB provided in tnsnames.ora. Your tnsnames should look something like this
    SIEBDB =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = siebelqa.server.name)(PORT = 1525))
    )
    (CONNECT_DATA =
    (SERVICE_NAME = QADB)
    )
    )
  3. Edit run.bat file and change the path to the where you extracted the files. Below is how your run.bat will look like assuming you extracted the files in c:\SiebelOVAAnalyer directory
    @echo off
    set ORACLE_HOME=C:\SiebelOVAnalyzer\oraclnt
    set TNS_ADMIN=C:\SiebelOVAnalyzer
    set LOGIN=siebel/password@SIEBDB
    echo Downloading eScripts from Oracle Database…
    echo C:\SiebelOVAnalyzer\oraclnt\sqlplus.exe -s %LOGIN% C:\SiebelOVAnalyzer\getlst.sql
    echo Analysing eScripts for open variables…
    echo set TERM=dumb
    C:\SiebelOVAnalyzer\perl\perl.exe C:\SiebelOVAnalyzer\parselst.pl
  4. Create a folder called tmp inside the SiebelOVAnalyzer folder
  5. Finally edit parselst.pl and change the following line to reflect the path where you extracted the files
  6. my $dir = “.\\tmp”;   —> Change to —–> my $dir = “C:\\SiebelOVAnalyzer\\tmp”;

Now Run the batch file and if everything runs successfully then you should start seeing a set of .lst files in your tmp folder and a out.csv file your root folder.

image image

And the out.csv shows following details

image

Now,you can start cleaning up your repository. I tested it myself and findings were pretty accurate. It took around 5 mins for this utility to download all the scripts in Siebel repository and create a output CSV file. There were some false positives but those were few and far.

You can download it from the link below and the password to extract files is “siebelunleashed.com”(without quotes)

Download Siebel OVA Utility

 

Siebel SWSE Stats to identify performance issue

Yesterday came across this Oracle support Article Doc ID 478027.1 while trying to debug performance issue. This article provide details aboutStats.swe page that can help you provide valuable information to troubleshoot some hang issues with the application.

To visit the stats page you need to open following URL

http://<webserver>/<application>/_stats.swe?verbose=high

It shows all kind of stats and the most important section is Current Operations Processing. The “Current Operations Processing” section contains a table which shows all current requests that are in progress. The table in this section shows the Operation running in the left column and the Duration in right column. Requests that are highlighted in bold have been running for more than 10 seconds. A request that is highlighted in bold with a large duration value is another indication that this request may be hanging. If the request never completes then it has effectively hung.

Both application and database server hangs can exhibit the above behavior in the stats page. Typically if the stats page cannot be accessed, then this is an indication that the web server itself may have hung.

Below is the screenshot of how the page looks like:

image

WORKFLOW INSTANCE MONITOR LOGS

The Siebel Workflow Instance Monitor is awesome: it allows run time debugging of Workflow processes it both Production and non-Production environments. In the absence of a script like debugger, it’s the next best thing.

A word of warning, however – remember to turn it OFF!

The Workflow Instance monitor stores a lot of information in the database: for every time a monitored process is run, each step will generate a child record with grandchild records for every process property and it’s value. If you monitor a particularly active Workflow process, data volumes can build up very quickly indeed.

There are a number of ways to address this:

  1. Turn monitoring OFF the moment you’re finished with it. Leaving monitoring running is so easy to do and can signinifcant impact very quickly. You can see what Workflows are currently monitored from the Workflow Deployment screen. Just click the ‘Active Workflows’ view tab and query, in the bottom applet, for ‘Deployment Status = Active’ and ‘Monitoring Level <> ’0 – None’. You can set these back to ’0 – None’ from here too, effecitvely turning off montoring.
  2. Use the ‘Purge’ button on the ‘Process Instances’ view. This will invoke a number of DELETE statements against the corresponding tables, allowing you to clear out logs from before a specified date.
  3. As per My Oracle Support articule ID 478169.1, you can use ‘database vendor tools’ to remove the data. Oracle don’t want to mention it, as it goes against their ‘no database statements directly against the database’ rule, but they really mean TRUNCATE. As such, it is an ‘approved’, but not supported, solution to use TRUNCATE as follows:

TRUNCATE TABLE S_WFA_INST_LOG;
TRUNCATE TABLE S_WFA_INSTP_LOG;
TRUNCATE TABLE S_WFA_STPRP_LOG;

We actually run a script to do this on a regular basis across our environments, in order to keep things nice and tidy.

Oracle Enterprise Data Quality for Siebel

Image

Oracle Enterprise Data Quality for Siebel

Siebel has been provided with different Data Quality solutions. The most prevalent choice in the past has been Informatica’s IIR – sold as OEM solution under the ODQ (Oracle Data Quality) acronym.

Since the acquisition of Datanomics by Oracle in 2011 – the former Datanomics product suite has been integrated with Siebel. It has been given a four-letter acronym “Oracle Enterprise Data Quality” :-) It has clear advantages over the Informatica’s IIR. To name two:

1) Stateless – that means no synchronization of Contact / Account data is needed between Siebel and OEDQ. If for example a new contacts gets created – it will be possible to match this new contact immediately. There is no lag time for the synchronization between both. This is a clear differentiator from IIR.

2) Fully configurable matching process. OEDQ is not a black box – for a matched contact or account – the rules which were applicable while matching can be identified. So a score of 95% can be explained by the fact that e.g. contact was found based on an exact match but with a different email address.

See this link for a presentation on Siebel / OEDQ