Configure a Join. It is my effort to provide an explanation on joins and step by step procedure on how to configure them in Siebel.

First of all I will try to explain what the join is. There are two type of commonly used joins Implicit Join Explicit Join Implicit Join: - Implicit Join are those which are already define in Siebel and which are internally use by the Siebel to pull the values from the other than base table. example: - join between base table and extension table like S_OPTY and S_OPTY_X and join between S_PARTY and S_ORG_EXT Explicit Joints: - Explicit Joints are those which are define by the developer to create the relationship between two tables. Let·s take a real life example to understand the concept of Joins better. We have one table of the Employee where Name, Employee Id and other information about the employee is stored.Another table stores a list of Cities. Requirement is to know which user stays in which city. There are two ways to do it Store city in the Employee table which will result in data redundancy. Store Primary key of city table in the employee table and pull the values at the run time, which is more efficient and makes more sense. To implement second approach we use joins in Siebel. You have to follow the following five steps to have joined field on UI in Siebel 1. Identify the column to be used as Foreign key.2. Configure field which will store the primary key of join table.3. Configure a join.4. Configure join specification.5. Add a field which will be used at Applet. An example will make things more clear. Suppose we want to have Opportunity Name on the Quote Applet. Here is a step by step procedure with screen shots explaining how to do that.

1. Identification of Column to act as foreign key. To configure a Join, first of all we have to find out a column in the base table where we can store primary key say (ROW_ID) of opportunity in quote which will become the basis of join. If there is no column vacant in the base table we can use extension table for that base table e.g S_DOC_QUOTE_X for the S_DOC_QUOTE. Note: Make sure that the column you choose is not being used by any other BC or any other field of same BC.

2. Configure Field in Business Component Go to Business Component > Field Create a new record Enter the name of the field.

Enter extension table name in Join field if the column you identified belongs to extension table otherwise go to step 5 Select the Column identified in column Field. Note: The column which you have selected must have physical Type varchar.Our Foreign key is now ready for use. Now we have to configure a joined Field which will use this foreign key 3. Configure/Create a Join Go to Business Component > Join Create new record. Give name of the table with which you want create join ( S_OPTY in our case) Give Name in Alias (New in our case). Check the Outer join Flag (Very Important). Go to Object List Explorer (OBLE) on the left hand side and click + sign beside join there will be two options Join Specification and Join Constraints 4. Configure Join Specification Create New Record. Give Name in the Name field. Destination Column is given by default when insert a new record. You can change it if you want to. In the Source field give the name of the source field (OptyID) which you have configured earlier to be used as Foreign Key. 5. Configure the field (Opportunity Name) which you want to display on the User Interface. Go to Business Component > Field Insert New Record Give Name in the Name Field Enter the Join Alias which you have given for the join you created. Select the Name (for Opportunity Name) in the column field. Column name here represent the data that you want to pull from opportunity. 6. Configure the Control in the Applet (UI). Go to Applet > Control (if Form Applet) Go to Applet > List > List Column (if List Applet) Create New Record. Enter the Name Enter the name you want to display on UI in Caption Override Field Enter the Name of the field you created in Field column Don·t forget to map this field in Applet. Right Click on the corresponding Applet and map it. Now compile the entire project which you have made the changes and you will be able to see this joined field in the Quote Applet as shown in the picture below. When you see this field in User Interface it will be read only because when the data is pull

from the join table it is only read only, to make it editable you have configure Pick Applet on this field

veryy soon Shuttle Applet..an interesting topic to learn
Shuttle Applet B/W Contact and Opportunity( For M:M relation Ship b/w 2 Table) 1 Create a Link or use existing Link B/W Contact and Opportunity. Link must have Property i.e Inter Table , Inter Parent Column and Inter Child Column 2 Create a New Multivalue Link having properties like..i.e Name--Test Con Opp MVL Destination Business Component³Opportunity Destination Link--Contact/Opportunity Primary Id Field³ Note : Here Primary Id Field is a field that specifies the name of the field in the master business component that holds the Row ID values pointing to the primary record in the detail business component. 3 Create New MVF Under same BC with following Properties .i.e Name--Test Con Opp MVL--Test Con Opp MVL (use which you have created) Field--Key Contact Id(Field exist on child BC ) 4 Create New MVG Applet with the help of Wizard having diff properties like...i.e Name--Test Con Opp MVG Project³Contact B.C³Opportunity(Child B.C ) Associate Applet--Test Con Opp Asso Type³MVG Child Object³Applet Web Template 5 Create Associate Applet by the help of wizard choosing MVG Applet and having diff properties like...i.e Name-- Test Con Opp Asso Project³Contact B.C³Opportunity(Child B.C Type³ Association List And for Applet Web template

¢Contact form Applet¢6 In Contact-- ---Create new control to display Shuttle Applet In Controls Name-- Test Shuttle Field-- Test Con Opp(MVF you have created) MVG Applet--- Test Con Opp MVG(MVG applet that already created) Now go to Edit web layout---->and place that Control that you have created 7. Compile All Changes

Difference between Contraint PickList and Hierearchial Pickl ist
Constraint Picklist:While configuring Constraint PickList, we use two different picklist for parent and child field and both picklist should based on PickLIst Genericbusiness component Hierarchial Picklist:while for hierarchical, both fields(parent and child) uses the same picklist and picklist is based on PickList Hierarchical Business component.E-x Country--State-District.

How to create MVG
To create a MVG in Opportunity Form Applet ² Child by creating new control. So that for each opportunity it display the Revenue associated with it. Ans.So the PBC- Opportunity CBC/Destination: Revenue Go to Link: Opportunity/Revenue Destination Field: Opportunity Id Go to BC Opportunity: Go to MVL for the same BC opportunity: Create New Name .Auto Primary .Destination .BC Dest Link .Primary Id Field Use .Primary Join Manish Link .Default .Revenue .Opportunity/Revenue .Primary Revenue Id .Yes Note: Primary Id Field..This property specifies the name of the field in the master

business component that holds the row ID values pointing to primary records in the detail business component Go to MVF for the same BC I,e opportunity Create new record Name .MVL .Field .Use Default Sensitivity Manish MVF Manish Link Opportunity Id .True (MVL--That we created above) Note: Name ²Manish MVF will be created automatically in the Field as well. Field³Here it is Field in child BC-i,e a foreign key column field to the parent bc field. I,e under Link Opportunity/Revenue the value of destination field will be here. So Move on to Field . And fill the remaining properties Name . Destination Field .Multivalve Link Multivalve Type Manish MVF .Opportunity Id .Manish Link .True .DTYPE_TEXT

Create an MVG Applet. With the help of the wizard. Go to File³New Object ² Applet Tab---Double Click on MVG Applet Icon.. Name ² Manish MVG Applet It should be based on Child BC- i.e. Revenue here. Next Web Template Type: Popup List Template Next Select the field that u want to show up in the MVG applet select 3-4 field of Revenue here bcz for that opportunity we want to show revenue that·s why Next

Next Finish. Add one more list column to this Applet (Manish MVG Applet) Applet-- Manish MVG Applet List³List Column³ Name-Primary Field = SSA PRIMARY FIELD Display Name = Primary Html Type = Check Box Html Icon Map = Check Run Time = True. Note..We can create a mvg applet withough wizard as well Final Step. Go to that Applet where we have to show that MVG. Go to Applet.-- Opportunity Form Applet ² Child Control³Create New. Name ..Caption ..Field .Html Row Html Type MVG Applet Runtime Visible Manish .Manish .Manish MVF Y .Field .Manish MVG Applet Y .Y Go to the applet -- Opportunity Form Applet ² Child³right Click³Edit Web Lay Out. Add the Control i,e. Label and Text Box(Drag and Drop to the Applet) named Manish. Compile Locked Projects. At last you see the changes.See the images for the changes.

Hierarchical Picklists Unveiled
Hierarchical picklists in Siebel CRM... It's a long story. There are numerous approaches (even in the standard repository) and myths out there how to implement them. A hierarchical picklist is one that allows a user to pick a value for the first field and then shows only values for the second field that are dependent on the first one and so on. Here is a cookbook style example (tested on Siebel Industry Applications 8.1) how to implement a hierarchical picklist with indefinite levels: 1. Create the list of values data Use the Siebel Web Client to enter the data for the picklist. You should use the same TYPE and distinguish the levels using the Parent field.

Note that the first level does not have a parent 2. Create the business component fields Create one field for each level. For all levels but the lowest set the property Immediate Post Changes to true (for resetting the lower fields when changing the value in the applet).

3. Create picklist objects Use the Picklist wizard to create a static bounded picklist object for the new fields. Create separate picklist objects for the first level and all subsequent levels (you will use 2 different picklist objects). When the wizard is finished, navigate to the picklists and make the following changes manually: For the first level picklist, change the Business Component property to PickList Hierarchical and set the Search Specification property to [Parent Id] IS NULL.

For the second (and subsequent) level picklist, change the Business Component Property to PickList Hierarchical.

PickList Hierarchical is a standard BC used for example in the BC Service Request to implement the Product, Area and Sub-Area hierarchy. 4. Edit pick maps Navigate to the Pick Map specifications for the new fields and set the following: For the first level field add pick map records for all dependent fields and enter Dummy as the picklist field. Dummy is a calculated field (evaluating to an empty string) in the PickList Hierarchical BC. For the subsequent fields add the Dummy mapping for all remaining dependent fields and add an additional record for the upper level field where you set the Picklist Field to Value and the Constrain flag to true. Do not add a dummy mapping for the last field in the hierarchy. The screenshot should give you the general idea:

5. Expose the new fields as controls/list columns in an applet Do the UI work as usual and test.

The dropdown for field 1 should only display the highest level values and lower level fields should be constrained to the child values of the higher level field value. When changing an upper level field, the lower level fields should be reset to empty strings. Users should not be able to select values in "wrong order".

Sign up to vote on this title
UsefulNot useful