OIM 11g changing process tasks on Xellerate User

Hi all,
I am trying to send an email when an OIM user gets disabled. To do this i would like to set the Notification for the "Disable User" process task on Xellerate User.
However, any attempted change to the process tasks gives this error:
The security level for this data item indicates that it cannot be updated.
Update failed.
Update failed.
Adding a post-update event handler doesn't work in 11g anymore as well.
What would be the suggested way to send emails and fire adapters on changes to the user profile?
Thanks for your thoughts.

Hi Kevin,
I got it working by creating a new process task with task effect: Disables Process Or Access To Application
That process task had an adapter attached that would send the mail.
After your comment I went on to experiment with the notifications. Earlier i couldn't get them to be sent, but after creating a new process task (setting the tcCompleteTask handler and the notification) it started sending the emails. And now I don't need the custom adapter anymore.
Not sure what changed, thanks for your input.

Similar Messages

  • How to run process tasks in Xellerate User form sequentially

    I have 2 tasks in the process definition of Xellerate User. One triggers on change in department and the other triggers on manager change. I want the manager task to trigger first and then the department task to run after the values have been updated in the former task. It so happens that always department task is getting triggered first.
    I cannot have task dependency in Xellerate User form. I tried setting the response code in the manager task and have it generate department task. In this case the department task is triggered twice. First time it runs before the manager task. The second time since it is a task to run in the response code of manager task.
    How to make each task run once and have it done sequentially?

    Yes that was my first instinct but I need the old and new values of department and manager. That is possible when I make it a process task.
    Heres what I want to do-
    If there is a change in department of a user, send mail to manager with old and new department values.
    If there is a change in manager when department changes, send mail to old and new manager with old and new department values.

  • How to catch rollback in Disable user process task in Xellerat User Process

    hi ...
    I want to send an email to manager group of the user, once the user is disabled from the OIM (when end date is reached). I created an adapter and attached it to the ‘Changed User Disabled’ process task in the ‘xellerate user provisioning’ process and add a new row in the “Lookup.USR_PROCESS_TRIGGERS” Lookup definition. (code key: USR_DISABLED and Decode: Change User Disabled ). This adapter executes only when the user status is equal to “disabled”.
    This works correctly when the OIM user disabling process execute without any errors. But sometimes while disabling the user it gives an error (“resource is not configured properly”) and rolls back everything and make the user active. But at the same time my adapter runs and sends the mail informing user is disabled but yet user is active.
    My problem is how can I find or catch rolls back transaction in the “Disable User” process task (which is in “Xellerate User” process”) ??? If I can get to know that a roll back is occurred then I can send a mail to OIM administrator, informing that user disable process is failed.
    Can someone please help me to find this..
    Thanks in advance :)
    Regards,
    i.k.

    Hi Rajiv,
    Error occurs while disabling the user due to resource configuration problems. ( error message is : DOBJ.RESOURCE_NOTCONFIGURED_PROPERLY -- One or more provisioned resource is not configured properly) In this case i know the problem and how to solve it. But what I want to know is in any case if disable process get fail and if things get roll back again, then how can I track that situation and send a mail to OIM Admin(informing the failure) instead of sending a mail to user managers saying that user account has been disabled.
    I think now my problem is clear…. Can u please help me to find this.
    Regards,
    i.k.

  • Process tasks of "Xellerate User"'s  modified

    Hi Experts,
    In our env, Maapng info of all custom process tasks was updated to unmapped. Its happend for only Xellerate User resource object. we dont know, how it happend. Can ay one tell, any reason behind it. Last change in OIM is, installation of RACF connector into OIM. How ever, we are not sure, is this effects the Xellerate user's process task's adapter mapping information.
    Please suggest.
    Thanks,
    ravi.

    Hi Kevin,
    Yes, It was unmapped, We are looking for root cause of it. You meant to say, This unmapped thing was happend due to RACF connector installation?.
    Thanks.

  • OIM 11g: Add process tasks as a result of a Request?

    Is it possible in OIM 11g to have the result of a Request be that 1 or more process tasks are added to an an account's process?
    The out-of-the-box Request framework seems to be very attribute driven (Modify Provisioned Resource, Self Modify Provisioned Resource), and I suppose we could add an attribute to trigger process tasks to be added, however, without going into detail, we'd really just like to be able to add the process task with no process form updates.
    Has anyone attempted anything like this?

    Sure you can.  Create a plugin on the request status:
    <plugin pluginclass="com.custom.eventhandlers.request.RequestCompleted" version="1.0" name="RequestCompleted">
    <metadata name="status">
    <value>Request Completed</value>
    </metadata>
    </plugin>
    In your code, using benEntity.getEntityKey() you can get the "Users-Object Instance For User.Key" value for the instance the request is for.  Then search the user's existing instances of that resource object type (findObjects) and match it to the "Users-Object Instance For User.Key" value from the result set.  Then get the process instance key.  From there you can use this code to get the task details:
    Map taskMap = new HashMap();
    String taskName = map.get(resourceName);
    taskMap.put("Process Definition.Tasks.Task Name",taskName);
    tcResultSet rs =  taskOper.getTaskDetail(processInstanceKey,taskMap);
    long taskKey = rs.getLongValue("Process Definition.Tasks.Key");
    And finally this code to insert the task:
    provIntf.addProcessTaskInstance(taskKey, processInstanceKey);
    And done!
    -Kevin

  • Can we add process tasks to Xellerate User process?

    Hi,
    Can I add a process task- unconditional one to "Xellerate User" process definition?
    I want certain fields to be populated in User Profile Form, when the user is created/updated.
    Please advice

    I could manage to trigger the Xellerate User Process Task and it runs fine, but when trying to update the OIM user field, it throws the below error:
    oracle.iam.platform.authz.exception.AccessDeniedException: You do not have permission to modify the [USR_UDF_IPWD] attributes of the user with user key null.
    at oracle.iam.identity.usermgmt.impl.UserManagerImpl.modify(UserManagerImpl.java:830)
    at oracle.iam.identity.usermgmt.impl.UserManagerImpl.modify(UserManagerImpl.java:971)
    usrManager.modify("User Login",sUserLogin.toString().toUpperCase(), new User(null, usrDetails));
    usDetails hashmap contains the key, value pair which needs to be updated.

  • How to call Process Task in AD User proccess definition from Xellerate user

    Hello,
    I need a help from you guys.
    I have one customized process task in "Xellerate User" Process definition. When my this task executes completely, I would like to call one of the customized process task in "AD User" process definition from xellearte user. Is there any way we can do that?
    Thanks for your any help....

    There are lots of ways to accomplish this. I haven't read through the other posts, but here are a few options.
    Option 1 - Create a second task that also triggers at the same time, but set the task you already have as preceding. Then on your second task, write whatever code is needed to update a field, insert a new task, whatever the function is that's needed.
    Option 2 - On the completion response of your original task, just use the response code to trigger the second task from running. Then again, write whatever code is needed.
    Option 3 - Create a UDF on your user form. Add this field to the Lookup.USR_PROCESS_TRIGGERS. When your first task completes, use the APIs to update this field with a new value, perhaps the current date. On your AD Process Definition, create a task with the name you used in the lookup. This task will get triggered whenever the field is updated. Now if the user does not have an AD Instance, you don't have to worry about it ever running.
    I'm sure you could create other event handlers as well to do this, it just depends on how creative you want to be.
    -Kevin

  • OIM 11g Approval Process

    Hi Expert/All,
    May I have assistance regarding the OIM 11g?
    Currently, I already create one approval (only 1 level approval) for some resource in OIM 11g, then I'm continue to test the resource with two below way:
    1. If I'm try to add "New Resource" directly by xelsysadm via manage user menu (without approval process), the provisioning process was successfully creating new account in the target system.
    2. The wierd is if I'm try to test Self-service request by user, after approval by last level approval, then there is no provisioning activity by OIM system, it is like OIM do nothing. The request status is show "Obtaining Template Approval" and history approval is complete by manager user (only 1 level approval)
    My question is, does it still required any configuration for completing the provisioning process after the approval process?
    Thanks,
    Ricky R

    Hi Kevin,
    Thanks for the information, but it still do nothing, OIM did not continue the provisioning account to target system event I already assign SYSTEM ADMINISTRATOR roles to the user and manager. How I can trace this logs? currently I'm just look at the oim_server1.log at <OIM_DOMAIN>/severs/oim_server1/logs. Is there any other log file can we use to trace the app server logs?
    Thanks,
    Ricky R

  • OIM: Question on Process Task configuration

    Hi OIM guru,
    I have a process form and a child form. I have a process task that gets triggered when a child entry is added. My question is, is there a way to avoid duplicate child table entries? For example, a user can have groups g1, g2 ... etc. How do we configure such that the admin cannot pick the same g1 once it is already added. When clicked on the lookp for groups all groups will show but is there a way to not let an existing group to be added again?
    Thanks

    You can't. Don't give the admin that functionality. Create a seperate object that manages the groups and on your provisioning side, do your checks to see if it already exists before adding another.
    -Kevin

  • OIM 11g R2 - Transferring accounts from one user to another user

    Hi,
    In OIM  11g R2,we have a requirement that we need to transfer accounts from one user to anothe user.For example,an user "User1" has AD and Exchange Accounts provisioned.Now we wanted to to transfer these AD and Exchange accounts to another user "User2".May I know how this can be done ?.Thanks

        public void moveAccount(){
            try {
                long newUser = xxxxx;
                long oiuKey = xxxxxx;
                userIntf.changeToServiceAccount(oiuKey);
                userIntf.moveServiceAccount(oiuKey, newUser);
                userIntf.changeFromServiceAccount(oiuKey);
            }catch(Exception e){
                e.printStackTrace();
    -Kevin

  • OIM - starting two process tasks simultaneously

    Hello,
    I have a process definition with many process tasks. If a certain trigger/event happens (eg. Change Last Name) I want to run two particular process tasks. How do I achieve this? My guess was to use the option to generate new tasks based on the response code, but I didn't manage to build such a task yet. How do I configure a new task that only initiates/generates two other tasks?
    Joost

    Hi Ryken - each background task is its own entity, so each task should get 16Mb of memory as described
    here.  Also, each task gets its own 2 seconds to execute.  The tasks do not combine resources.  I do not think that you can share statics between the processes,
    but you're welcome to test it out and prove me wrong.
    Matt Small - Microsoft Escalation Engineer - Forum Moderator
    If my reply answers your question, please mark this post as answered.
    NOTE: If I ask for code, please provide something that I can drop directly into a project and run (including XAML), or an actual application project. I'm trying to help a lot of people, so I don't have time to figure out weird snippets with undefined
    objects and unknown namespaces.

  • Trigger another Process Task after Enable User completed

    I would like to have a process task trigger after the "Enable User" process task successfully completed.
    E.g. Scenario
    A user currently has a disabled resource. When I enable the user, the Enable User process task
    gets called and enables the user. After that I would like to have my custom process task triggered after that.
    I tried adding my custom process task in the Enable User task as a dependent task, but it never gets called.
    Also, I tried adding the custom task to Tasks to Generate but that did not work.
    What am I doing wrong or am I missing a step?

    Instructions:
    Goal: When 1st process task is triggered, the 2nd process task will kickoff.
    1. Select the 1st process task
    2. In the Task Dependency Tab of the 1st process task, add the 2nd process task in the Dependant Task section.
    3. In the Responses Task of the 1st process task, select the SUCCESS response and add the 2nd process task in the Tasks to Generate section.
    IMPORTANT: Each response has its own Task to Generate. So make sure you add to the response you want the 2nd process task to trigger off by.

  • OIM - creating new process task

    I'm new to identity manager, and am having a problem adding tasks to a process.
    I am creating a task for esso-PG, and following the steps in the OIM-PG user guide.
    When I add a new task, and go to Task to Object Status Mapping tab, there is nothing there. I can't find any information on how this is populated.
    Is there a step I am missing to allow these to display?
    thanks in advance

    Don't be panic. Some users have seen this issue earlier.
    Delete that task and add another one.
    If above doesn't work for you then export the XML file, do the changes in the XML file and import the XML.

  • Problem creating OIM 11g Custom Schedule task

    hi,
    i am creating custom schedule task in oim . while importing scheduletask metadata xml getting follwoing error.
    Problem invoking WLST - Traceback (innermost last):
    File "/app/Oracle/Middleware/Oracle_IDM1/server/bin/weblogicImportMetadata.py", line 21, in ?
    File "/app/Oracle/Middleware/oracle_common/common/wlst/mdsWLSTCommands.py", line 268, in importMetadata
    File "/app/Oracle/Middleware/oracle_common/common/wlst/mdsWLSTCommands.py", line 727, in executeAppRuntimeMBeanOperation
    File "/app/Oracle/Middleware/oracle_common/common/wlst/mdsWLSTCommands.py", line 697, in getMDSAppRuntimeMBean
    UserWarning: MDS-91002: MDS Application runtime MBean for "OIMMetadata" is not available. "importMetadata" operation failure.
    can any one help me.
    Thanks in Advance.

    Do the following:
    From the oracle home (oracle_idm1) run the command <ORACLE_OIM_HOME>\common\bin\wlst.cmd
    Run the connect() command and connect with the weblogic user to the to the oim managed server (port 14000)
    Use the following command change your from location to the directory where your files are at. The location should be one folder up from the base "db" directory : importMetadata(application='oim', server='oim_server1', fromLocation='e:/files', applicationVersion='*')
    -Kevin

  • OIM 11g Pre Process event handler

    Hi All,
    I had built a pre process event handler to generate userid and it was working fine. But i had slight modifications in the code. When i unregistered the old event handler and registered a new one, oim was still picking the old event handler. So in order to bring the code changes into effect, i restarted the managed server after which the event handlers are not getting triggered(even the old one).
    I deleted all the records corresponding to the custom event handlers from MDS_PATHS,PLUGINS,LATEST_PLUGIN AND PLUGIN_ZIP tables and registered the handler again and also imported the event handler xml file. But still the plugin is not triggered.
    Please help.
    Thanks,
    Bhavana
    Edited by: 858491 on Jul 21, 2011 5:14 AM

    My lib file contains the package as mentioned in the metalink.
    Heirarchy in Plugin folder :
    1) plugin.xml
    2) Lib ( lib contains 3 folders : com/example/custompph; And inside custompph is my CustomPreProcessEventHandler.class file)
    You mean to say i should not copy the entire package in lib but only the jar file of the CustomPreProceessEventHandler.class* file.
    If i put only a .jar file in lib i get the following error.
    "Error occured during the use of plugin registering utility. The plugin zip does not contain the definition of plugin class com.example.custompph.CustomPreProcessEventHandler"
    Thanks
    Edited by: 870050 on Jul 4, 2011 4:30 AM

Maybe you are looking for

  • Problems with Folio Builder Pannel. I can´t start session

    I´m having trouble with the folio builder pannel, i´m triying to start a new session using my password but i can´t, it says "Error de inicio de sesión [svr.InvalidLogin]", help me please. Thanks

  • Prompts issue in Dashboard

    Hi All I need your advice immediately. We want to add two prompts in dashboard and both the prompts is of the same column. ie : Freeze Period , i am not able to add this prompt for the 2nd time , is there a way i can add it for the 2nd time? Please s

  • How to switch default TREX

    Hi, Guys: Do any body know how to switch the default between different TREX connections? We have a server with two RFCs to different TREX servers, one is the standard and the other is for Enterprise Search. The standard one used to be the default. Ho

  • Forcing child to return "success" result to parent

    Hi, I have a child package which has script task that may return an error. I want that even if the script task has an error and went to failure data flow, when the package finishes and returns back to parent, it should pass success result to parent.

  • Trying to set colum to be '*A'+ID+'*'

    Hello, I am trying to update subdescription2 to be *A(number from ID column)* But when I run the below I get, Conversion failed when converting the varchar value '*' to data type int. Update Item Set Subdescription2 = '*A'+ID+'*' Thank you