3 Replies Latest reply: Sep 6, 2011 1:34 AM by Amruta Agarwal RSS

    Enabling update for provisioned user in OIM11g

    Amruta Agarwal
      Hi...

      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.

      Thanks.
        • 1. Re: Enabling update for provisioned user in OIM11g
          BikashBagaria
          Amruta Agarwal wrote:
          Hi...

          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.

          Thanks.
          Just a copy adapter which reads the data from user profile and copies it to process form field.
          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.

          HTH,
          BB

          Edited by: bbagaria on Sep 5, 2011 10:44 AM
          • 2. Re: Enabling update for provisioned user in OIM11g
            Rajiv Dewan
            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
            Compile it

            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
            • 3. Re: Enabling update for provisioned user in OIM11g
              Amruta Agarwal
              Hi...

              Thanks for your replies. I am now able to update the data of a provisioned user.