Siebel CRM How to – Configure a Join.

This post is contributed by Amol Tandon a newbie to Siebel. It is his 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.
Siebel Configuration of Join
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).

Siebel Configuration of Joins

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.

Siebel Configuration of Joins

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.

Siebel Configuration of Joins
 
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

Siebel Configuration of Joins

Don’t forget to map this field in Applet. Right Click on the corresponding Applet and map it.

Siebel Configuration of Joins

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.

Siebel Cofiguration of Joins

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.

Will include the procudure to make it editable in next post.

100 Responses to Siebel CRM How to – Configure a Join.

  1. Do you know how to build a join with date constraints such as field to compare between (startdate, end date)

    Regards,

    Hector Carrasco

  2. Do you know how to build a join with date constraints such as field to compare between (startdate, end date)

    Regards,

    Hector Carrasco

  3. Hai

    1Q. And I saw that we can create link betweeen same bcs i saw in sample application what was the mean of it .

    2Q.its great explanation about joins. but i have Query that we can crete a new bc on implicit joins. for example iam taking a contact i want to find that contact person first language.He can speak many languages but primary language is we have to select. so that how can we approach on this situation. Please i need responce iam siebel learner.
    Iam in dilema mr.Neel.
    shall i create new bc on s_contact_x or s_contact_xm table.
    and how can i create link like
    please explain me briefley.

  4. Hai

    1Q. And I saw that we can create link betweeen same bcs i saw in sample application what was the mean of it .

    2Q.its great explanation about joins. but i have Query that we can crete a new bc on implicit joins. for example iam taking a contact i want to find that contact person first language.He can speak many languages but primary language is we have to select. so that how can we approach on this situation. Please i need responce iam siebel learner.
    Iam in dilema mr.Neel.
    shall i create new bc on s_contact_x or s_contact_xm table.
    and how can i create link like
    please explain me briefley.

  5. vishnu,
    If you have the problem like you need to show the primay language of contact and there are multiple records for same contact and you must having the flag for the the primary language.

    Suppose you have multiple records for language in language bc which is base on s_contact_xm table.

    you can configure a explicit join in contact bc with search specification as

    Source field :- Id
    Destination column :- PAR_ROW_ID

    Now you have to define join constraint
    suppose column for primary language flag is PRI_LANG
    Destination column :- PRI_LANG
    value :- Y

    Now you can configure field base on this join

    May be this solution will help you

    • Hi,
      I am trying to create join constraint on S_PERIOD join in Campaign BC. I want to constrain the Execution Period of Type ‘Day’. I tries the sbove mentioned method, but its not working. I am able to choose execution period with ‘Day’ and its visible on applet. Kindly suggest. any help is much appreciated.

  6. vishnu,
    If you have the problem like you need to show the primay language of contact and there are multiple records for same contact and you must having the flag for the the primary language.

    Suppose you have multiple records for language in language bc which is base on s_contact_xm table.

    you can configure a explicit join in contact bc with search specification as

    Source field :- Id
    Destination column :- PAR_ROW_ID

    Now you have to define join constraint
    suppose column for primary language flag is PRI_LANG
    Destination column :- PRI_LANG
    value :- Y

    Now you can configure field base on this join

    May be this solution will help you

  7. Hi,

    Can anyone help me by providing some questioners with answers on the below:

    Siebel Config – documentation & change management tool.

    Also which company has project on the same?

  8. Hi,

    Can anyone help me by providing some questioners with answers on the below:

    Siebel Config – documentation & change management tool.

    Also which company has project on the same?

  9. Hi, I am experiencing a problem when i try to open the siebel application on my desk top. there is a error message popping up it says siebel web session:cannot determine default web browser for current user.please set up your web browser properly or use/B command line argument to specify one….can any body help me please…..your response will be appreciated…

    siebel02

  10. Hi, I am experiencing a problem when i try to open the siebel application on my desk top. there is a error message popping up it says siebel web session:cannot determine default web browser for current user.please set up your web browser properly or use/B command line argument to specify one….can any body help me please…..your response will be appreciated…

    siebel02

  11. Hi Amol,
    I thouroghly enjoyed reading ur content on joins.
    I will alwasy remember the concept of joins hereafter.
    It was very simply put.

    thanks a lot for ur effort.

  12. Hi Amol,
    I thouroghly enjoyed reading ur content on joins.
    I will alwasy remember the concept of joins hereafter.
    It was very simply put.

    thanks a lot for ur effort.

  13. hi amol
    that was nice man ….i was unable to find your post on configuring pick applet on a field …please send the link where it is..your way of explaining thing is excellent keep it up man

  14. hi amol
    that was nice man ….i was unable to find your post on configuring pick applet on a field …please send the link where it is..your way of explaining thing is excellent keep it up man

  15. Nagalakshmi, Its such a great explination on the MVGs.But a small correction on it I guess, the row_id of the S_ORG_EXT should be the OU_ID of the S_ORG_INDS which is A1 not Acc1

  16. Nagalakshmi, Its such a great explination on the MVGs.But a small correction on it I guess, the row_id of the S_ORG_EXT should be the OU_ID of the S_ORG_INDS which is A1 not Acc1

  17. Hi Baba,
    If you can bit elaborate your question that would be easier for us to prepare another post for the same. Here I have explained the basic concept of join which will be same all around the Siebel Application.

  18. Hi Baba,
    If you can bit elaborate your question that would be easier for us to prepare another post for the same. Here I have explained the basic concept of join which will be same all around the Siebel Application.

  19. I hav one small conceptual doubt..
    When we create join specification And in this case give OptyId field as fk which will mapped to DEst col. i.e. Row_Id column of S_opty table. So in this case to work join fine, IS THERE ANY NEED TO HAVE FK TABLE PROPRTY OF COLUMN OF S_DOC_QUOTE TABLE , ON WHICH optyid field is based , set to “S_OPTY”.

  20. Great !! but i am bit confused in the step 5 …

    We have created a field and pulled the table and column (attrib _03)
    so after creating the join ,again we are creating field and giving “name”in column .

    Is that we need to create a record before creating alias? why we need to go for field creation again ?

  21. thankyou….

    sir
    i want some projects on siebel crm
    just now am learning this course plz send me some notes with examples..

Leave a Reply

Contribute