This content has been marked as final. Show 3 replies
Amruta Agarwal wrote:Just a copy adapter which reads the data from user profile and copies it to process form field.
To update a field(email id) of a provisioned user have got to know the following steps.
1. Change the OIM Profile email id and save the User form
2. OIM then checks against the Lookup.USR_PROCESS_TRIGGERS lookup for a task name that is mapped to the Email field - typically "Change Email"
3. Add a task in target system provisioning process name as "Change Email".
4. Now Write a code using OIM API which will update the Email field of target system provisioning process form with new Email id.
5. Attach this adapter in Change Email" task.
6. Then when the process form is updated that triggers a process task to update the Email for that given resource - "Update Email"
Can i know which APIs are to be used for step 4 so that updation can take place from OIM to target system process form.
Steps from from Oracle:
1) Suppose one created a UDF: UDF USR_UDF_BUS_PHONE for phone number called 'Business Phone Number' on the Users User Defined Field Form in Design Console
2) Then double click on "Lookup Definition" under the Administration tree of Design Console and query for this "Lookup.USR_PROCESS_TRIGGERS" code.
3) Add "Lookup Code Information" like this.
i) Enter the UDF column created in step 1 for Code Key as USR_UDF_BUS_PHONE
ii) Enter the word 'Change' without the quotes followed by the field name of the UDF column created in Decode column. So in this case the Decode is 'Change Business Phone Number' without the quotes
iii) Language: en
iv) Country: US
4) Then create one adapter of type process task
i) Move to Variable List tab and create a variable "var1" Resolve at run time.
ii) Add logic task -> SET VARIABLE and click on continue
iii) In Add Set Variable Task Parameter dialog, select Adapter return value in variable name drop down, Operand Type as Variable, Operand Qualifier ->"var1" created in 4i).
5) Add one process task under the Resource Object's Process Definition in Design Console named 'Change Business Phone Number' without the quotes. Note: The task name should be
exactly same as Decode value in lookup definitions and then make it conditional and also check "Allow Multiple Instances".
6) In "Integration" tab of task add adapter you have created in 4) and then map the adapter variables.
i) Map Adapter Return Variable to Process Data and then select the process form field (Example: UD_ADUSER_PHONE) which you want to update with the user's Business Telephone USR_UDF_BUS_PHONE field.
ii) Then map the other adapter variable to User Definition -> map with user's Business Telephone USR_UDF_BUS_PHONE field.
Result: Now when user's Business Telephone is update, the Change Business Telephone will get triggered in and inserted for this resource and copy the change from user profile to the process form. If the connector already has the 'Business Telephone Updated' Process Task in the Process definition which has an adapter to update the target then because of the update to the Business Telephone in the process form, the 'Business Telephone Updated' task will be triggered and target will also get updated with the new change.
Edited by: bbagaria on Sep 5, 2011 10:44 AM
No Need to write any code
Create an Adapter
have one variable of String type say "INPUT"
Add a logical task "Set Variable"
Operand Type : Variable
Operand Qualifier: INPUT
Attach this adapter in teh Change Email Task and map INPUT variable with
User Defintion - > Email
Output Variable with Process Data -> Email
Exaplanation is given by bbagaria