OIM 11g - Multi Valued attribute reconciliation of a child form

Posted by user604275 on Oracle Blogs See other posts from Oracle Blogs or by user604275
Published on Tue, 18 Dec 2012 10:50:28 +0000 Indexed on 2012/12/18 17:09 UTC
Read the original article Hit count: 257

Filed under:

This topic gives a brief description on how we can do reconciliation of a child form attribute which is also multi valued from a flat file .

The format of the flat file is (an example):

ManagementDomain1|Entitlement1|DIRECTORY SERVER,EMAIL

ManagementDomain2|Entitlement2|EMAIL PROVIDER INSTANCE - UMS,EMAIL VERIFICATION

In OIM there will be a parent form for fields Management domain and Entitlement.Reconciliation will assign Servers ( which are multi valued) to corresponding Management  Domain and Entitlement .In the flat file , multi valued fields are seperated by comma(,).

In the design console, Create a form with 'Server Name' as a field and make it a child form .

Open the corresponding Resource Object and add this field for reconcilitaion.While adding , choose 'Multivalued' check box. (please find attached screen shot on how to add it , Child Table.docx)

Open process definiton and add child form fields for recociliation. Please click on the 'Create Reconcilitaion Profile' buttton on the resource object tab.

The API methods used for child form reconciliation are :

1.           reconEventKey =   reconOpsIntf.createReconciliationEvent(resObjName, reconData,

                                                           false);

·                                    ‘False’  here tells that we are creating the recon for a child table .

2.               2.       reconOpsIntf.providingAllMultiAttributeData(reconEventKey, RECON_FIELD_IN_RO, true);

               RECON_FIELD_IN_RO is the field that we added in the Resource Object while adding for reconciliation, please refer the screen shot)

3.    reconOpsIntf.addDirectBulkMultiAttributeData(reconEventKey,RECON_FIELD_IN_RO, bulkChildDataMapList);

                bulkChildDataMapList  is coded as below :

                List<Map> bulkChildDataMapList = new ArrayList<Map>();

                  for (int i = 0; i < stokens.length; i++) {

                           Map<String, String> attributeMap = new HashMap<String, String>();

                          String serverName = stokens[i].toUpperCase();

                          attributeMap.put("Server Name", stokens[i]);

                          bulkChildDataMapList.add(attributeMap);

                        }

4                  4.       reconOpsIntf.finishReconciliationEvent(reconEventKey);

5.       reconOpsIntf.processReconciliationEvent(reconEventKey);

Now, we have to register the plug-in, import metadata into MDS and then create a scheduled job to execute which will run the reconciliation.

© Oracle Blogs or respective owner

Related posts about /Oracle