Google
 
We have moved to a http://siebelunleased.com Please visit there for updated posts

Wednesday, October 10, 2007

Siebel List of Values - A Strategic Move - Continued.

Last time I said that I will be presenting a Solution to make Required Fields dynamic and SRF independent. So I am back with What I promised.

Requirement:

Siebel Service Request module was to be implemented because of a new implementation the business requirements were being changed all the time. One Strange requirement was to make the Required Fields of a business component dynamic. So that they can be changed without a release. Now, we all know one way to make a field required is to set the Required Property of the field to true. But that would mean that if I were to change that a new SRF deployment will be required.


Solution:
LOV's again were the life saver for us. We created an LOV called SRV_REQ_FIELD and in the Display value we provided the names of the fields that we wanted as Required Fields. In the Business Component PreWrite Record we queried for that particular LOV and traversed through the records that were active. If the Field provided in the LOV did not contained a value then an error was raise stating that the value for that particular required field was not supplied. I am giving the Pseudo Code below to what that script might look like


BOLOV = TheApplication().GetBusObject("List Of Values");
BCLOV = BOLOV.GetBusComp("List Of Values");
with (BCLOV)
{
Query for LOV Type as 'SR_REQ_FIELD' and Active Flag = 'Y'
}

IsRecord = BCLOV.FirstRecord();
while( Last record is not reached)
{
this.ActivateField(BCLOV.GetFieldValue("Name"));
if ( this.GetFieldValue(BCLOV.GetFieldValue("Name")) == "" )
Raise Errro Text ("Value not given")
BCLOV.NextRecord();
}


This solution is not recommended if the number of fields that are required is fairly large. But still can be really handy in many situations.

Hope you liked this post! If yes, Do post your comments.
Read more!

Tuesday, October 9, 2007

Siebel List of Values - A Strategic Move!

List of Values (LOV) is assumed to pretty simple entity in siebel and having very limited use, of showing values in dropdown picklist. But lately I found they can be used in more than one ways. They can be a real life saver. One use I have found of them is to avoid hard coding. Yes, you can avoid hard coding of values and use LOV instead which you can then change without SRF Release.

I will list below some real scenarios which I have come across and used List of Values to accomplish task which otherwise would have a real pain while moving stuff different environments.

Workflows - Requirement :
We were creating workflows that were going to integrate Siebel with some other application with the help of MQ Series. Now, to accomplish that we had to enter two paramerters related to MQ Series in the first step of workflows, Queue Manager and Physical Queue Name.

If, we were to hardcode then it would be difficult to move workflow between different envoirnments such as QA and production because they had different Physical Queue Name . There LOV's came to our Rescue. We created two LOV's with the values of the Queue Manager and Queue Name and used LookupValue() method in workflows to acomplish that.

LookupValue method accepts two arguments 'LOV Type' and Language Independent Code ('LIC') and returns the display value of that LOV Type. The syntax is as following



LookupValue("LOV Type","LIC")

Example :
  • Create an new LOV Type (in this case we are created MQ_PHY_QUEUE_NAME. It should be same in all the environments where you want to deploy the workflow)
  • Enter the Display Value (actual value that you want to speficy like in this case we specify ESBLDAS for dev env and ESBLQAS for QA Env)
  • Enter the LIC (can be anything descriptive like in this case we had given 'Physical Queue Name')
  • In the Input Arguments of workflow choose input argument type as Expression and specify the value as LookupValue("MQ_PHY_QUEUE_NAME","Physical Queue Name")

Now, it is going to pick the value as 'Display Value' of the LOV that you have specified.

In next post I will describe how can we use LOV to dynamically specify Required Fields for a Business Component.

For other posts Related to LOV please go through the category of List of Values
Read more!

Friday, October 5, 2007

Siebel CRM How To - Create a new LOV?

Whatever I have posted in this blog assumes that you have fair bit of idea working on Siebel CRM. I noticed there is hardly anything in this blog that can help a newbie. So thought of starting a new Category that is 'Siebel CRM How To'. This Category will include step by step How To's to various things in Siebel CRM. Starting this series is a simple 'How To' of creating a new List of Value and adding to the existing List of Value (LOV).

Information about LOV and explaination about the various terms is subject of another post. In this post I am just going to have step by step tutorial of creating a new LOV and adding new values to existing LOV's

Creating a new LOV

You can create an LOV from two places both have a different way of creating LOV in Siebel CRM.

Administration ==> Data ==> List of Values
Administration ==> Data ==> LOV Explorer


Through List of Values to add a new LOV following steps have to be followed. As an Example we will add a new LOV for Martial Status of a person.


  1. Click New and Choose LOV_TYPE in Type Field
  2. Enter MARITAL_LOV in 'Display Value'.
  3. Enter 'Marital Status' in Language-Independent Code Field
  4. Enter 'English-American' if you implementation language is English otherwise it will be according to the language of your implementation. Save the record
  5. Click New again and choose 'MARITAL_LOV' in Type Field
  6. Enter 'Married' in Display Value and Language-Independent Code Field
  7. Enter 'English-American' if you implementation language is English otherwise it will be according to the language of your implementation. Save the record.
  8. Follow steps 5 -7 for all values that you want to associate with this LOV

For example we will follow steps 5 - 7 and just change the value Married to Single so that It can have two values 'Married' and 'Single'

Through LOV Explorer you have to perform the following steps.

  1. Click New and enter 'MARITAL_LOV' in the Type field
  2. Click on the + sign in the left hand side of the LOV Explorer window for the type that you created
  3. Click on the Values folder.
  4. In the Right hand side Applet click on New
  5. Enter 'Married' in the 'Code' and 'Display Value' Field
  6. Enter 'English-American' if you implementation language is English otherwise it will be according to the language of your implementation. Save the record.
  7. Repeat steps 4-6 for the all the values that you want to enter.


That's it. You are done with creating the New LOV with new Values

To enter New Values in the existing Siebel LOV just perform the following steps.

  1. Query for the LOV Type that you want to add New Values.
  2. Copy the record Enter the Display Value and Language Independent Code Field
  3. Change the value in the Order Field to be the unique number and save the record.
Related Posts that you might like to Read:

Siebel CRM - List of Values a Strategic Move!
Siebel CRM - List of Values a Strategic Move- Continued!
Read more!