Tuesday, December 30, 2008
A Story of a Dynamic Drilldown Issue
Monday, December 29, 2008
PickLists in Siebel
So, let start with the first categorization.
On the other side, as the name depicts, Dynamic PickList are one whose values can increase and decrease at the run time, due to the fact that these Picklists are based on any business component which is being used for transactional data in the application (like Accounts, Contacts, Orders) etc. So, what happens is, as soon as transactional data is being added by the user, it starts appearing inside the picklist.
The one very well known fact is that generally Static picklist shows as a drop-down on the applet, while values from the dynamic picklist display with the help of Pickapplet.
Second categorization :
On the other side, Unbounded Picklist are the one from where user can selects the value from the picklist and also system allows the user to type in some new values in the field as well, which is not existing in the picklist.
Note : When we use the "SetFieldValue()" method on any picklist field of any business component, it does not fire the pickmap, if the picklist is unbounded. To overcome this, we need to used the ".pick()" method.
Record Count : Interview Question
Here is the correct answer : "You will see Zero records".
Explanation:-
In technical terms this fact can be easily proved if you go and check the "SQL spool" generated by the siebel via dedicated client. You will see the both condition will be available in "Where" clause of the query and joined with the "AND" clause. So, none of the Opportunity can its Opty "Status = Won", and "Status = Lost", at the same time, consequently no record will appear on the UI.
Join v/s Link : Interview Question
Anybody came from database background knows, "Cardinality" between two tables can be of four types :
a) One to One
b) One to Many
c) Many to One
d) Many to Many
So, a very simple way to define a Join in Siebel is, "When you have "One" on the right side of the cardinality, there you need to implement Join". Similarly, "When you have "Many" on the right side of the cardinality, there you need to implement Link". That means, "One to One" and "Many to One" corresponds to the Join, while "One to Many" and "Many to Many" corresponds to the Link.
Secondly, a Join exist between a Business Component & a table while Link always exists between two different business Components.
Thirdly, via Join system fetches a single record while Link fetches multiple records.
Fourthly, while implementing Join, we can use the "Join Constraint" to specify the condition on the child entity. In link, we can specify the condition on child entity by putting "Search Specifications".
Note : For "Many to Many" link, we need to make use of Inter table which stores the unique Id of Parent and Child Business Component.
Saturday, November 29, 2008
Call Business Service from Browser : A Trick
At times we have the requirement to call a Business Service from “Browser Script” then it is necessary to make the entry of that “Business Service” everytime in .CFG file with the following syntax under [SWE] section of the CFG file:
ClientBusinessService X = “”Where X = 1,2,3,4……
So, to get rid of this here is a trick. You can implement a new "Generic Business Service" which will internally call the Business Service that we want to call from Browser Script.
Name of Business Service = CallBusSerFromBrowScript
Method Name = Service_PreInvokeMethod
Generic business Service Code :
function Service_PreInvokeMethod (MethodName, Inputs, Outputs)
{
if(MethodName == “GenericCall”)
{
var svc = TheApplication().GetService(Inputs.GetProperty(”BSName”));
svc.InvokeMethod(Inputs.GetProperty(”MethodName”), Inputs, Outputs);
svc = null;
}
return (ContinueOperation);
}
Procedure for Calling :
svc.InvokeMethod(”GenericCall”, input, output);
ClientBusinessServiceX = “CallBusSerFromBrowScript”where X = 1,2,3………..
Tuesday, November 25, 2008
What is a CRM?
Every organisation has its own set of customers and today's world is more focused on "Customer Retention" due to current competitive market. Timely service to the customer keeps them happy and its more likely that happy customer never think of going to the different organization. CRM helps organization keeping data related to the customers in such a way that Sales Representative would timely know what kind of service is customer looking for at that point of time. Call-centers is a big industry today and all are running just to provide "Good Services" to the customers. Here is what CRM helps a Call-centre representative with the information what customer is looking for. If customer is being informed well before the scheduled service check-up of his car, he feel delighted that the vendor is keeping good care of services offered.
So, CRM is a set of Processes & Software that plays the main role between Organization & its customers to keep customers happy by providing correct information at the correct time.