February 14, 2020

How caching work in Siebel?

In any online transaction processing system like CRM most of the processing time is taken in finding the right record in database. No matter what database optimization technique you implement, your db processing time would be the highest among the time spent in web server and application server.
Siebel Database

February 09, 2020

How to update bulk records in Siebel using eScript?

The best suggestion anyone can give to update records in bulk in Siebel is to use Siebel EIM. However sometimes developers don't have time to create EIM job, test it in lower environments and get it working in some days, and business can't wait for that long, And pesky admin team won't give developers the SQL access to production.



Then this is the last solution. Write a dirty little script and run it in business service simulator.

February 06, 2020

How to disable anonymous browsing in Siebel REST API?

This is one of the most funny bug registered by Oracle. (Just after the obscene ROW IDs) .
Although this is applicable only for IP15, but do keep this in mind in case you are doing POCs on any customer.

Oracle left partially built config in the Java container sub system thus all the traffic coming through the system is passthrough. Kudos to the product team to get the feature out of the door :)

To disable this all you need to do is to delete the JavaContainerPropSub in named subsystems. This will cause authentication error in the component thus it won't turn on and you can in turn switch off the anonymous browsing.

Siebel REST API Interview Questions

Question 1 : What are REST APIs? 

Answer: REST stands for Representational state transfer. It is a protocol for data transfer using HTTP methods.


Usually REST API uses JSON format to communicate as it is simpler and lightweight than XML.


January 19, 2020

How to calculate age from date of birth using calculated fields?

Hi Readers,

This is a new series, where I will show you how things are done in Siebel and how the same thing can be done in Salesforce. Will leave the decision upto you to tell me which one is easier and which one is better.

Step 1: Create first calculated field to output date in YYYYMMDD Field Type: DTYPE_NUMBER
    ToChar(Today(),’YYYY’) + ToChar(Today(),’MM’) + ToChar(Today(), ‘DD’)
Step 2: Create second calculated field to convert birth date field in YYYYMMDD  : Field Type: DTYPE_NUMBER
    ToChar([Date Of Birth], ‘YYYY’) + ToChar([Date Of Birth], ‘MM’) + ToChar([Date Of Birth], ‘DD’) 
Step 3 : Create another field to use the fields created above as : Field Type: DTYPE_TEXT
    The Under Age flag : IIf(([Step1] – [Step2]) < “180000”, “Y”, “N”)

We are doing these three steps mainly because :
  1. Siebel does not have good list of functions supported in calculated fields. 
  2. Siebel does not have data type conversion in calculated fields. 
Lets don't refer to invoke service method due to its own complication and performance issues it can cause.


In Salesforce if you have to do this activity, you just need one formula field with following calculation.

IF( NOT( ISBLANK( Birthdate ) ) ,
  IF( DATE( 2000 , MONTH( Birthdate ) , DAY( Birthdate ) ) <= DATE( 2000 , MONTH( TODAY() ) , DAY( TODAY() ) ),
     YEAR (Today()) - YEAR ( Birthdate ),
     YEAR (Today()) - YEAR ( Birthdate ) -1 ),
  null)


Learn more about list of functions available in Siebel here: https://docs.oracle.com/cd/B40099_02/books/ToolsDevRef/ToolsDevRef_Operators8.html

and Full list of salesforce functions are here: https://help.salesforce.com/articleView?id=customize_functions.htm&type=5