- A Link defines the relationship between Business Components.
- Links are used to define a Business Object; the relationships between the primary Business Component and other (child) Business Components in the Business Object are Links.
- A Link is not the same thing as a Multi-Value Link or a Multi-Value Group, but the definition of a Multi-Value Link does include a Link.
- A one-to-many Link makes a master-detail View possible.
- Links are defined on the Business Object layer, using Business Component Fields rather than Table Columns, although many-to-many links use Table and Column names to define the intersection table.
- The “Source” Field is on the Parent Business Component, while the “Destination” Field is on the Child Business Component.
- A Link can have a Search Specification.
Cascade Delete Property: (Delete,Clear,None)
The Cascade Delete property determines whether a child record is deleted when the parent record is deleted. Take special precautions when determining this property. If set incorrectly, it may cause data integrity issues or orphaned records.
- Do not use DELETE if the child business component in this link is also a detail business component in another link. In this case, you use CLEAR instead.
- Cascade Delete is not available for many-to-many links. With a many-to-many link, Siebel applications will automatically delete the intersection record but will leave the child record intact, as it may have other parents.
- In a 1:M link you generally use “Delete” or “Clear”, in a M:M link you generally use “None”
Difference between a Join and Link?
Lets try to define Join & Link in terms of database Cardinality.
“When you have “One” on the right side of the cardinality , there you need to implement Join”. Similarly, “When you have “Many” on the right side of the cardinality, there you need to implement Link”. That means, “One to One” and “Many to One” corresponds to the Join, while “One to Many” and “Many to Many” corresponds to the Link.
Secondly, a Join exist between a Business Component & a table while Link always exists between two different business Components.
Thirdly, via Join system fetches a single record while Link fetches multiple records.
Fourthly, while implementing Join, we can use the “Join Constraint” to specify the condition on the child entity. In link, we can specify the condition on child entity by putting “Search Specifications”.
Note : For “Many to Many” link, we need to make use of Inter table which stores the unique Id of Parent and Child Business Component.