Tested On: Oracle Identity Manager 11.1.2.2.0
Description: Demonstrates how to create cascaded lookups on an application instance form. With cascaded lookups, an application instance form can have a lookup field dependent on another lookup field (E.g. When a particular State is selected, display the cities available only for that State). Below are screen shots.
|
State: California |
|
State: Texas |
References: http://docs.oracle.com/cd/E27559_01/admin.1112/e27149/customattr.htm#OMADM5034
Creating Cascaded LOVs on Application Instance
1. Log in to Oracle Identity System Administration (E.g. http://localhost:14000/sysadmin).
|
Sign-in Page |
2. Create and activate sandbox.
|
Sandboxes: Located top right of page |
|
Create Active Sandbox |
3. On the left pane, select Form Designer located under Configuration. Then search and select a particular form.
|
Configuration -> Form Designer |
|
Search and select form |
4. On the parent form, create a parent lookup field (E.g. State).
|
Field Type: Lookup |
|
Example: Parent Lookup Field |
|
Lookup Definition for Parent Field |
5. On the parent form, create a dependent lookup field (E.g. City). Ensure dependent lookup is constrain by parent field (E.g. State), and then map parent-dependent values.
|
Field Type: Lookup |
|
Example: Dependent Lookup Field |
|
Lookup Definition for Dependent Field |
|
Example: Mapping Cities to California |
|
Example: Mapping Cities to Texas |
6. Publish sandbox.
7. Log in to Oracle Identity Self Service (E.g. http://localhost:14000/identity).
8. Create an active sandbox.
9. Assign the application instance that has the cascaded LOVs to any user via Catalog, and then customize the form using Web Composer (Click the Customize link located on the top right of the page, and then navigate to View -> Source).
|
Requests -> Catalog |
|
Request Application Instance via Catalog |
|
Highlight the Parent Lookup Field in Web Composer |
|
Put a dummy value for the Partial Trigger property on the Parent Lookup Field |
10. Once a dummy value is set for the Partial Triggers property on the parent lookup field, export the sandbox and find out the id of the parent lookup field using the dummy value.
|
File: oracle/iam/ui/runtime/form/view/pages/mdssys/cust/site/site/BadgeAccessCreateForm.jsff.xml Example Id: _xg_11 |
11. Clear out the dummy value on the Partial Triggers property for the parent lookup field, and then set the Partial Triggers property on the dependent lookup field using the parent id from step 10.
|
Highlight Dependent Lookup Field |
|
On the dependent lookup field, set the Partial Triggers property using the parent lookup field id. |
12. Test functionality on form. When working, repeat steps for the Modify Form (E.g. oracle/iam/ui/runtime/form/view/pages/mdssys/cust/site/site/BadgeAccessModifyForm.jsff.xml).
13. Publish sandbox.
Side Notes
- The error given below is caused when either the child or parent lookup definition name is longer than 30 characters. When inspecting the ADF_CASCADING_LOOKUP_REL table (stores relation of parent-dependent lookups), the length of the columns to store the child and parent lookup types are each 30 length.
|
JBO-27010:
Attribute set with value Lookup.Adapter Factory.Adapter Type for
ChildLookupType in CascadingLookupRelationship has invalid
precision/scale
|
|
ADF_CASCADING_LOOKUP_REL table |
- The ADF_CASCADING_LOOKUP_ASST table contains all the values mapping between parent and dependent lookup values. Also, ensure you have no entry in either lookups with a code key of more than 30 characters long.
|
ADF_CASCADING_LOOKUP_ASST Table |
- When mapping parent and child values in the UI, records are inserted to ADF_CASCADING_LOOKUP_ASST table on the fly. Same applies with ADF_CASCADING_LOOKUP_REL table.
Excellent Post!! Thanks
ReplyDelete