Sunday, May 22, 2011

Calculating Committed Date excluding Holidays in siebel

Requirement: When a Service Request is created, Committed date should be 15 days from created date excluding holidays.

Solution: This requirement is done using "GetResponseTime" method on "FS Holiday API Service" BS. This BS calculates the response time based on the Start Time and Time Unit in Seconds/Minutes/Hours/Days.
For this solution we need to define the Holidays in Applications. Follow these steps to achieve the solution for this requirement.

Thursday, May 19, 2011

Scriptless Solution: Email Validation with regexp

Requirement: Email Validation on email fields in siebel.

The solution for the requirment is described below. The idea is to use regular expression in DVM and validate regular expression in short business service script.

Tuesday, May 17, 2011

Scriptless Solution: Close SR only if all activities are closed

Requirement: The user should be allowed to closed a Service Request only if all activities for the SR are closed. If any activity is in Open status then user cannot close that SR and a error should be displayed.

This can be done without scripting by using Runtime Events and DVM Rules.

Monday, May 16, 2011

SBL-DAT-00610: Access denied to invoke business service '%1'

SBL-DAT-00610: Access denied to invoke business service"%1'

The above error message occurs when we use try to invoke business service in a query expression by InvokeServiceMethod fucntion.
An example:
'InvokeServiceMethod("Generic Utitlities", "ValidateEmailAddress", "EmailAddress=eval([Email Address])", "Result")="VALID"'
In above example if "Generic Utitlities" BS is not registered in OM, you will get the error messages. So you should be careful while using "InvokeServiceMethod" function in query expressions used in DVM/ EAI data maps etc..

Saturday, May 14, 2011

Copying Unix file to Windows with Siebel eScript

This is one of the requirement I have come across where I need to copy a UNIX file to a windows.These files are timestamped so I need to manipulate the file name by time stamp and then copy it to windows. This was not considered to be implemented using Siebel but I used below mentioned steps to achieve with e-script.

Sequence of Events in Siebel

The sequence of the events triggered in Siebel (script) is mentioned below.

  • Browser  :  Applet_PreInvokeMethod
  • Server     :  WebApplet_PreInvokeMethod
  • Server     :  BusComp_PreInvokeMethod
  • Server     :  BusComp_InvokeMethod
  • Server     :  WebApplet_InvokeMethod
  • Browser  :  Applet_InvokeMethod

Friday, May 13, 2011

Inter Child Delete Property in siebel

There is an issue I come across while doing some set up with the 'Inter Child Delete' property on a link which is explained below. This behavior feels strange, but on understanding the functionality it is a good design to learn.

Monday, May 9, 2011

Conditional Constraint Pick list

 There was a requirement I came across, I explained below.
In View 1(Activity List View), Applet 1 the status values should have value1, value2.
In View 2(Activity Attachment View), Applet 1 (the same applet in View1) the status values should have value3, value4.



Friday, May 6, 2011

Expense Report Calculation Discrepancies

The Expense Report calculation depends on Scale Configurations done by the user.
There are two scale fields "Scale" and "Extended Scale" in Administration-Data->Currencies Tab

Scale                 - No. of digits to display in UI after the decimal.
Extended scale - No. of digits after the decimal that can be used for Expense Calculations.

Even a single digit calculation may vary the results. So based on the requirements, these fields needs to be set accordingly.

For Example:
Entered Amount
Conversion Factor to $

Amount Rounded to 2 digits after decimal
(Extended Scale = 2)
Amount Rounded to 5 digits after decimal
(Extended Scale = 5)
440
0.14903
$ 65.57
$  65.57320
205
0.14903
$ 30.55
$  30.55115
945
0.14903
$ 140.83
$  140.83335
770
0.14903
$ 114.75
$   114.75310
120
0.14903
$ 17.88
$   17.88360
200
0.14903
$ 29.81
$   29.80600





TOTAL:
$ 399.39
$ 399.40040
 If Scale value is set to 2, the total amount calculated is rounded to 2 digits for display
Total rounded to 2 digits : (Scale = 2)

$ 399.39

$ 399.40



If you want the total calculated with the values rounded to 2, then set the Extended Scale value to 2.

After changing the Scale values for the Currency, please ensure to Clear Cache for the changes to take effect.

Unable to launch the application(Invalid login), Log file reports Diccache.dat file error

This error is commonly seen when Oracle DB is used.
Common Errors reported
  1. Srvrtblcleanup errors
  2. Can't read Diccache.dat file
  3. Invalid username or password
Resolution Steps:
Add the following four params in regedit for
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\<Oracle driver>
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\<DS name>
i)     ColumnSizeAsCharacter =1
ii)     ColumnsAsChar = 1
iii)     EnableScrollableCursors = 0
iv)     packetsize =0

Delete the existing diccache.dat file created in BIN folder and re-launch the application

How to enable Remote Product Configurator

Siebel Configurator provides a dynamically-generated, data-driven user interface to represent complex product structures. In the standard application, this operation occurs via the customize button on the quote/order/asset applets and via steps in the order management workflows
For better speed and performance, Configurator can be set on a different server other than the Siebel Server.
Below configurations are required to enable remote product configurator:-
  • Enable the Server Components ‘ISS’, ‘EAI’ and either ‘Call Center’ or ‘Communications’ which ever is required.
  • Navigate to the Administration – Server Configuration
  • Query for Component Group with Alias ‘ISS’. 
  • Enable the component ‘eProdCfgObjMgr_enu’ (if disabled) in this server by clicking on Enable button in ‘Component Group Assignment Applet’. (right side)
  • Navigate to Component Definition view.
  • Query for Component EAI
  • Change the Following parameter in the parameter applet.
    1.      Product Configurator - Use Remote Service = TRUE
    2.      Product Configurator – Remote Server Name= <Siebel Server Name>
    3.      Product Configurator - Cache Engine Settings = True
  • Change the above parameters for component ‘Call Center Object manager’ or‘Communications’
  • Navigate to Administration - Product -> Cache Management. 
  •  Add a new Cache record with following details
1.       Name : Demo
2.       Cache Type: Server
  • In the second applet Component, add the following
1.      Name: <Siebel Server Name>
2.      Explicit Product Mapping Only : Y
  • In the product applet (Bottom Applet) add the List of Product those need to be part of cache.
  • Activate the Cache by clicking on release button on the Cache Applet.
  • Restart the Siebel enterprise and Gateway servers.
  • Use the product those are added in the Cache in the web service testing through SOAP UI.
  • Set this environment variable in System and User variables, PRESERVE_ENGINE_AND_USER_PICKS=Y
                                                        

Monday, May 2, 2011

How to Create a Application Menu Item

To create a Application Menu Item, follow below mentioned configuration steps.
  • In Tools, Open Object explorer and expand Menu Object. By default it is not available, you need to add by adding it in View->options-> Object explorer-> Check "Menu"-> Then OK.
  • Query for "Generic WEB" (Most of applications use this Menu Type, you can check the menu used by your application by navigating to Application Object-> select your application and check for Menu Property).
  • Then Menu Item Child Object create a new record with following values.
    • Name = Tools - Test
    • Caption = Test
    • Command = Command to invoke once the user clicks menu item. I have used "Profile" Command which will navigate to user preference screen.To more about how to create a command you can refer my post here.
    • Position = 6.11 (This will show just below UserPreference Menu Item)
  • Compile changes and open application. You will see the change shown below. Once you click on it it will navigate to user preference screen.

How to Create Command in Siebel

Commands are used to call a custom business service methods or inbuilt business service methods from toolbar or Menu Items. Below are the steps to create a command in Siebel.

  • In Tools, Open Object explorer and select Command.
  • Create a new record with following values:
    • Name = < a unique name>
    • Business Service = <Name of the Business Service to call>
    • Method = <Method of Business Service to call>
    • Target = <Service>
    • Display Name = < display name for the command>
  • Compile Changes and add this Command in Menu Item to see it in application.

Siebel Open UI is released ...!!!

Hi Guys, The most awaited feature of Siebel, called Open UI is released. This new feature Open UI is available in new Siebel patch 8.1.1....