Few days back I was working on a requirement which was as following:
There is a parent child relationship between BC “X” and BC “Y”.
If “Aircraft Type” Field in BC “X“ (Parent BC) has value “MIG” then BC “Y” (Child BC) should show records that have “Model Number” (Child BC “Y” field) as 400 otherwise it should show no records.
“Please don’t ask me why is it so?”
Long story, cannot elaborate on it but end result was that we had to achieve the above mentioned result.
Above requirement the most efficient solution was to put a search specification on Link but the catch was the Search Specification doesn’t support conditional expressions like IIF(Parent Field Value = “MIG”, Show Records with Model Number as 400,Show No records).
After a bit of R&D we were able to find out how to put conditional search spec in Search Specification field and here are the steps to achieve it.
- In BC “Y” (Child BC) Create a calculated field with following details
Name: Aircraft Type
Calculated: Y
Calculated Value: IIf((ParentFieldValue(‘Aircraft Type’) = ‘MIG’, “ShowRecord”, ‘NoRecord’) - Goto Link Object
- In Search Specification field for the link enter following value
([Aircraft Type] = “ShowRecord” AND [Model Number] = 400) OR ([Aircraft Type] = “NoRecord”)
That’s it problem solved so now
If Aircraft Type in Parent is “MIG” then child records having model number 400 otherwise it doesn’t display any records
The Trick in this solution is to know the fact that: “If we give OR Operand in Search Specification and give two different criteria then both are evaluated and which ever is true is applied”.
So, the search specification is evaluated using implicit if else by Siebel in case there are more than one criteria.



(4 votes, average: 3.75 out of 5)