This post is another in our series based on discussion articles or discussions that we have participated in on the Oracle Intelligent Advisor Forum, which is the peer-to-peer site where you can post questions or suggestions and the community can help out and provide feedback. As such it is a great place to learn about Oracle Intelligent Advisor, and you can often find us in there. This example uses relationship controls to allow the user to select a value in another entity.
Today’s post is a question that comes up a lot, regarding relationships and how to leverage them in various business scenarios. Let’s dive right in.
Imagine we have two entities in our model. Let’s call them entity A and entity B. Entity A is filled out in an Entity Collect by the user, and it includes, as our example, an attribute called the location of A. Or something like that.
Entity B is also collected by the end user, and it also includes an attribute called the location of B. The location of B must be one of the locations specified in the instances of A. So if Entity A contains three instances, with Paris, London and Geneva as the locations, then entering the B entity instances one must be presented with the choices Paris, London and Helsinki. And clearly, the business scenario calls for a relationship between A and B – that much should be clear without any Oracle Intelligent Advisor experience. But how to implement it? Let’s take it step by step.
Start by creating a reference relationship (as they are called) between the entity B and entity A. Set up the necessary text and the reverse text as well for clarity:
The above assumes that entity A and B already exist, with their attributes in place (you can see some of them behind the dialog on the left hand side of the image above).
Now set up a Screen to collect instances of entity A, with the relevant attributes. We’re using the tabular layout in the screenshot below:
Create a rule in the entity called B to capture the location from the selected A instance thanks to the relationship we have set up. It might look a little like this:
Then set up a Screen for the instances of Entity B. And add a relationship input control to the Screen:
Now you can run the interview in the Debugger and see the result with the video of the relatioship setup and use below.. Of course there is plenty more that can be done, for example we could add rules to ensure that it is not possible to leave it blank, and so on. These are also covered in the Forum link above.