That approach seems like the right one. A few things:
1. In addition to the OPAParent and OPARelationship settings, you should probably set the OPAEntity field to the public name of the entity.
2. Make sure that the integration components both have their "Id" field available and that you change its Data Type from "System" to "Data". This is because the same object will appear in the IO XML as different XML elements. However, if OPA can recognise them by their "Id" they should be mapped to the same entity instance.
This setup actually causes the interview to fail to start. Appears that OPA doesn't recognize the mapping of Siebel's Previous Policy BC to enity_policy, and that it detects conflicts w/ previous policy id [1-J1PBH] as duplicates to existing policy instance.
I've defined Previous Policy IC user-property as follows:
OPAAttribute = entity_policy
OPAParent = entity_policy
OPARelationship = rel_policy_previousPolicies
Id field is already set as "Data" type in both Policy and Previous Policy IC.
However, this results in an error and the OWD log indicating:
1. Child entity PreviousPolicy of entity entity_policy does not exist in the rulebase. Skipping exporter
2. Error loading the session: error was 'Entity instance already exists in the model: entity_policy [1-J1PBH]
Pretty certain that this is achievable w/ existing Siebel connector framework. What else do you think I'm missing.
You might want to see if setting the OPA Entity custom property to "entity_policy" helps, this is a long shot), but it might work.
If this is 1-to-n relationship (ie a previous policy can only have one parent) then you might be able to do the following.
1. Set an attribute in the Previous policy IC to be the parent id of the previous policy, make sure it is imported into the entity,
Write a rule that does something like:
the policy (previous policy) is a member of the policies previous policies if
the previous policy parent id = the policy id
in the case of the rule above the "the policies previous policies" is the text of the relationship rel_policy_previousPolicies