Saturday, January 30, 2010

Latest Siebel Interview Question in Market !!

Some of my friends are in the mood of switching their job these days and in of the discussion I was having with one of my friend asked me this question which he faced in technical round recently. And the question was :

"Can we create a join in a business component without the join specification?"

I think most of you heard this question for the very first time, same is the case with me, provided you are not preparing for any Siebel interview these days :)

If you start running your horses towards technical feasibility regarding this question, you might think of variuos options :

a) When you create a join in Siebel Tools, it is not mandatory to provide the Join Specification, so that means you can create a join without join specification.

b) But what kind of data you will see on the UI? Well, one might say it will do the Cartesian Product of the two tables and you will see one record multiple times on the UI.

c) Since Siebel will consider the row_id of the table in the where clause (in spool query) if you don't specify any join specification (like if you don't mention the destination field or source field while creating Link, Siebel treat it as ROW_ID), and you will not see even a single record if outer join flag is unchecked.

May be you are thinking or some other logical result apart from above 3, but to keep it simple and clear I tried doing it and here is the answer for this:

Siebel will add a where clause as :

a) <_buscomp.rowid> = <_table.row_id> (+)
if Outer Join Flag = TRUE

b) <_buscomp.rowid> = <_table.row_id>
if Outer Join Flag = FALSE

So, you will not see even a single record if you Outer Join Flag = FALSE, because no two row_ids are same.

Logical speaking I don't see any reason for creating a Join under a BusComp and not specifying the join specification, but remember interviewers can ask anything to check your technical skills and may be this will help you in future if will face this question. Good Luck !!



  1. hi gaurav,
    i worked for years, even not realising what siebel it is. but finaly i found good friend like you.nearly i worked 6 months on your blog. waiting for your supported me lot. thanks you very much.
    the above post say simply if you specify join specification then no need to specify outer join flag. but if you specify outer join flag then join spec is not necessary.
    simple and great post.
    but you can specify more than one join spec this is latest interview question. importance of alias name in join. property..
    these are latest.

  2. how about the implicit joins. they dont need any join spec.