Siebel

Everything you want to know about Siebel !!!

Determine a Defined Holiday

To return an output indicating whether a day is a defined holiday.

1. Navigate to Administration Sevice->All Exceptions and create Exceptions. Here you can define holidays in exception hours.

2. Navigate to Administration-Service->Schedules and create Schedule and Note row-id for that schedule. Here you can define working hours.

3. Navigate to Administration Business Service->Simulator. Specify following inputs.

1) Name : FS Holiday API Service
2) MethodName : IsHoliday

4. Navigate to input arguments and Specify following input arguments.

1) Date Time - any date and time, for which you want to check.
2) Calendar IdRow Id of that particular schedule that you had noted during creation of schedule.
3) Time Zone - Time Zone of the Service Calendar.

Then Hit Run from the simulator applet.It will return the output argument Is Holiday as TRUE/FALSE depending on the Date Time.

Note : Always while giving the input arguments,please give the date as “MM/DD/YYYY” and time in 24 hr format.(e.g. 10/18/2008 18:01:00)

——————————————————————————————————————————————————————————————————–

 

FS Holiday API Service : IsHoliday Method

 

This method returns an output indicating whether a day is a defined holiday.

Usage

 

 

 

This method is called from the FS Holiday API Service. It returns Yes if the Working field is unchecked for the holiday definition of that day, or No if the Working field is checked.

 

Note: This article is posted by Shweta Ameta

 

October 22, 2008 Posted by Narayan Patro | Siebel | | No Comments Yet

RowIdToRowIdNum

In version 6.x Siebel introduced a function named RowIdToRowIdNum that converts a traditional Siebel row Id into a unique numeric value.RowIdToRowIdNum alleviates the problems pertaining to the confusion of characters 0 (zero) and O (oh), 1 (one) and l (ell), and the concerns over the rare occurrence of offensive words appearing within RowId numbers . It also eases customer entry of a row Id-based identifier in the case of automated telephone technical support.

> RowIdToRowIdNum converts the base-36 part of a Row Id to a decimal number and is guaranteed to produce unique row Id numbers. Row Ids generated by RowIdToRowIdNum will be of variable length because the base-36 (also known
as MOD 36) to base-10 conversion will require at least as many character places as the original number used, and usually more.
> For example, the base-36 row Id 12-6RX8L would translate to 12-8021253 while 12-Y09KG would become 12-57119344 through decimal conversion. Five characters in a traditional row Id could require seven (10000[36]=1679616) or eight places (ZZZZZ[36]=60466175) in decimal. Six characters in a traditional row Id could take eight (100000[36]=60466176) to ten places (ZIK0ZJ[36]=2147483647, ZZZZZZ[36]=2176782335) in decimal.
> While RowIdToRowIdNum returns a numeric value, there is still a prefix that is 1 to 3 characters in length which is separated from the body of the row Id by a hyphen or plus sign. If EIM was used, there may be a second prefix. The Corporate Prefix (CP) is in decimal format, not base-36 format.
The non-numeric characters cannot be removed. Generally, the desire to remove them is based on the business requirement to allow telephone callers access to enter the number (such as a service request number) or for printing reports. In the former case, either the * or # keys can be used for the non-numeric characters, or they can simply be ignored, however, there is a remote possibility of calling duplicate requests if the characters are ignored. For reports or other field use, the non-numeric characters can be masked out using a simple script.

July 17, 2008 Posted by Narayan Patro | Siebel | | No Comments Yet

Row ID Generation

Here is an explanation of how row_id’s are generated:

Siebel allocates blocks of 100 row_id’s to a session when required. Each new session that requires to generate a row_id is given it’s own block of 100 row_ids.

Example: Try the following: Log into 4 sessions, or sequentially log in and log off so that a new session is created each time. Then create a record in each session and look at the row id generated. If the beginning row_id is 1-APW7H, then next available row_id’s in succession are 1-APWA9, 1-APWD1, 1-APWFT which are 100 block increments.

The following steps occur during your session:

1) A Siebel session requires to insert a row (the first time). Therefore from table s_ssa_id, it retrieves the corporate_prefix (which is currently set to 1 and the next_suffix, in this case APW7H and updates the next_suffix field to APWA9 as the next available suffix, which would be the 101th id.

2) The row_id is created for use during your session as follows: “corporate_prefix” || “-” || “next_suffix”, which gives “1-APW7H”

3) For each additional row_id required, the next_suffix is incremented for your session as follows. The last position is incremented using the sequence (0-9, A-Z). Once “Z” is reached, the next position is rolled over using the same sequence and so on.

1-APW7H

1-APW7I

1-APW7J

:

1-APW7Z

1-APW80

1-APW81

:

1-APW89

1-APW8A

:

1-APW8Z

1-APW90

:

1-APWA8

4) Once your block of 100 row_id’s are exhausted, your session will retrieve the next block available.

If you copy data across environments, you could increment the value of column corporate_prefix in table s_ssa_id (in your development/testing environment),

from 1 to 2, then all new row_id’s would be of the format 2- XXXXXX. That would eliminate any potential duplicate row collisions.

July 17, 2008 Posted by Narayan Patro | Siebel | | No Comments Yet