August 30, 2013

How to create Pick list field in Siebel?

This is one of the most common problem that is faced by new siebel developers. Answer of this question can tell a lot about actual hands on experience of the developer and how much experience he holds in debugging.

There are only few reasons why picklist doesn't work, which can be summarized as below:

  1. Pick map of the new field is not populating the foreign key field of the field.
  2. Join created to pull the value of the field is not created properly.
  3. If no values are shown in drop down then pick list is might not compiled yet, or the LOV type and values are not created in administration views.
  4. If value is not displayed after selecting value from pick applet then wrong field is selected in pick map of the field.
  5. Update only if null is not configured properly. 

Related Questions:

Question :What are the reasons for field based on picklist not showing drop down or pick applet icon?

Answer: Pick applet might not be selected on the list item or control of the applet or runtime property of the control is set to false.

Please feel free to leave a comment if you have faced any other issue with the pick lists. 

SBL-SRB-00047: Could Not Route Message to WfProcMgr With Registered Key (Null)

Problem: This error can be found in Siebel server logs when workflow monitor agent is not able to contact  workflow process manager and requests get queued up in S_ESCL_REQ.
This simply means that workflow monitor agent is not able to execute workflow because another component is down or looks like unavailable to SR Broker.
Impact: As a result interface calls to the external interfaces or any other asynchronous process configured using policy will get delayed.

Workarounds:

August 24, 2013

Output of EAI Webservice with Soapui is Gibberish

This is most likely the first response from a Siebel Webservice when you use SOAP UI to test an Inbound web service.



Siebel Configuration Interview Questions - Applet Toggles

In an Siebel Technical interview consultant may face some questions on applet toggles, which seems to be quite easy topic, this section will help you to quickly understand the applet toggles.

Some quick facts about Siebel Toggle Applets:
  • A static toggle applet does not require to reference the same business component!
  • A dynamic toggle applet must reference the same business component, which can also be a VBC (virtual business component). 
  • Applet toggles can be based on List as well as Form Applets.


Question : When do you think applet toggle should be implemented?

Answer: Applet toggles should be implemented when number of relevant fields are less than displayed fields. With use of applet toggle, only relevant fields can be displayed to the user which decreases the time spent in data entry.

Question : Is there any performance impact on the application of using applet toggles?

Answer : Yes, Siebel loads all available applets each time user navigates to a view having toggle applets, and complete screen is refreshed when applet is changed.

"Siebel CRM loads all available applet toggles each time the user navigates to an applet."

Question : How to debug a toggle applet in Siebel?

Answer:
Check the field name in business component on which applet toggle is based on.
Expose the field on the applet to verify the value and verify the value.
Check if the field's Immediate Post Change property is set to true.
Test toggle applet with two applets first and then increase numbers if required.
Compile all objects again. 

Question : What are different forms of applet toggles?

Answer: Static and Dynamic Applet Toggle
Static Applet toggle gives user option to choose the applet from drop down control, whereas dynamic applet toggle refreshes the view with new applet depending upon the field value.

Question : How to configure a new dynamic applet toggle in Siebel?

Answer:
A) Create a copy of applet and change the fields as required.
B) Go to the original applet and create new applet toggle record.
C) Specify the Applet toggle field and applet toggle value along with the name of the new applet.
After this configuration new applet will show instead of the original applet whenever the field value matches with the value specified in the tools.

Bookshelf links for further reading:
http://docs.oracle.com/cd/E14004_01/books/ConfigApps/ConfigApps_ScreensViews11.html
http://docs.oracle.com/cd/B40099_02/books/ConfigApps/ConfigApps_Procedures_UI_layer10.html

How to create one for yourself, complete step by step guide: http://siebelunleashed.com/dynamic-toggle-applets/


Popular Interview Questions:

July 16, 2013

SBL-SCR-00128 : Script compilation failed at line Expected '}'


Siebel Tools Error

Script compilation failed at line 36 in procedure 'BusComp_WriteRecord':
Syntax error at Line 368 position 35:Expected '}'
(SBL-SCR-00128)


This is one of the compile time error which can waste a lot of time, the worst thing about this error is that it does not indicate the actual problem and point to unrelated section of the code.


This error can occur because of multiple reasons, and can force developer to check the whole code. Some of tips that one can use to resolve this error are:

July 15, 2013

Siebel Open UI - Oracle Open World Presentation

This is the official presentation of Siebel Open UI on Oracle Open World.



Siebel CRM: Open UI from Ilya Milshtein

Showing screenshots for  : Native Print Preview
Multiple File Upload/Download
Lists and forms
Pick and MVG Applets
Calculator
Currency
Calendar control
LOV quick fill
Explorer Control
Product configurator
Notifications
Sitemap finder
Smart Script and TBUI
CTI
Email F9

 

July 05, 2013

Discussion with Tom Siebel

Ever wondered what Tom Siebel is doing after selling Siebel CRM suite to Oracle in 2005? We hardly heard anything from him except his last accident with elephant in 2009.


June 28, 2013

Salesforce.com and Oracle Announce New Strategic Partnership - WTH?

Salesforce.com [NYSE:CRM] and Oracle [NASDAQ:ORCL] announced today a comprehensive nine-year partnership encompassing all three tiers of cloud computing: Applications, Platform and Infrastructure.

“We are looking forward to working with salesforce.com to integrate our cloud with theirs,” said Larry Ellison, CEO, Oracle

print from http://www.oracle.com/us/corporate/press/1964798

Salesforce.com plans to standardize on the Oracle Linux operating system, Exadata engineered systems, the Oracle Database, and Java Middleware Platform

Don't you guys are already running on OEL? It was declared since birth of salesforce that it runs on Oracle databases and have support licenses from Oracle, what has changed now?   

Oracle plans to integrate salesforce.com with Oracle’s Fusion HCM and Financial Cloud, and provide the core technology to power salesforce.com's applications and platform. Salesforce.com will also implement Oracle’s Fusion HCM and Financial cloud applications throughout the company. - 
Why would competitors will agree to use opposition's technology behind the scenes, it just makes one sense, Oracle has just added another cloud CRM to his CRM suite which is already overflowing with Siebel, Peoplesoft, Fusion and some cloud based CRM OD and Fusion cloud applications.

 Seems to me like coverup for Larry Ellison's next acquisition, he just can't tolerate any competitor in his area.

Makes me wonder how much he would have spent on this? any ideas?

This operation is not available for read only field 'Template'.(SBL-DAT-00402)

---------------------------
Siebel
---------------------------
This operation is not available for read only field 'Template'.(SBL-DAT-00402)
---------------------------
OK 
---------------------------

This is one of most common error of every siebel implementation.Usually this error is followed by :
Cannot set a value for field %1 because it is not active. (SBL-EXL-00147)
The first thing which we tend to do is to set the force active property of field to true and recompile and end up getting this error in logs:


(omextlng.cpp (4682)) SBL-DAT-00402: This operation is not available for read only field 'Template'.

In my case I tried several things but couldn't pass through this error, until I noticed provided whereIndicator in New Record Command. Once I made this change both the error were resolved.

.....
bc.ExecuteQuery(ForwardOnly);
var ap = bo.GetBusComp("Activity Plan");

ap.InvokeMethod("SetAdminMode", "Y");
ap.ClearToQuery();

ap.ExecuteQuery(ForwardOnly);
ap.NewRecord(NewAfter);

ap.SetFieldValue("Template","AP1");
ap.WriteRecord();
...

Using where indicator is only one of the reason for SBL-DAT-00402 error. Please share your experiences if this helps.

Date manipulation in Siebel Workflows - Contd

In continuation of Incrementing date in workflows.
See latest post on Date functions Siebel eScript

This article explains how to compare two dates type process property in Siebel Workflows.

Everything seems to work as expected, the only point is to make sure you have set the property type of the property holding date as "Date"

To add number of days to a date: [&Date] +30
To subtract number of days from a date : [&Date] - 4
To find if date is passed: [&Date] < Today()
To find if date is future date: [&Date] > Today()
To Add 1 Sec to a date: [&Date] + (1/(24*60*60))

Comparing Date in Siebel Workflow Expression
Comparing Date in Siebel Workflow Expression

Julian days also seems to work perfectly in Siebel Workflow Expression.

To get current Julian month use: JulianMonth(Today())
To get Julian Year: JulianYear(Today())
To get Julian Week: JulianWeek(Today())

Julian Month in Siebel Workflow Expression
Julian Month in Siebel Workflow Expression
Output:
Siebel Workflow Process Output
Workflow Process Output
Today(): returns current system date without timestamp.
Timestamp(): returns date with time stamp

hth