"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 :
So, you will not see even a single record if you Outer Join Flag = FALSE, because no two row_ids are same.a) <_buscomp.rowid> = <_table.row_id> (+)if Outer Join Flag = TRUE
b) <_buscomp.rowid> = <_table.row_id>if Outer Join Flag = FALSE
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 !!
.