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.

Similar Messages

  • 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.

  • 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.

  • 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.

  • 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

  • How to trigger a process task on IT Resource process form

    Hi,
    I want to know how to trigger a process task on IT resource process form using OIM API.For Example:- If a task ilike an e-mail is to be sent on the departure date of a user.So,how can it be done using API?
    Thanks.

    This would typically be done through a scheduled task. Write your code to query for the departure date. If someone meets your criteria for an action to occur, you can either use the addProcessTaskInstance which has an adapter attached to it to send the email, or in your code, send the email.
    The details that need to be considered though is where the departure date is stored. Is it on a process form, or is it on the user's OIM profile. Do you want to disable the user or revoke the object instance at this departure date? You could use the notification tab of these existing tasks if so.
    -Kevin

  • 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.

  • How to find out the users assigned tasks within a GP process using GP API?

    All,
    I am trying to get details of all the running GP processes. As a part of this, I need to get the user information of who is assigned a task within a process.
    Any inputs on this ?
    Do I have to use the IGPProcessRoleInstance interface? Also how do I get the execution context of all the callable objects within the process?
    -Thanks in advance
    KN

    Hi Chandan,
    I am basically looking for the roles responsible for each task in the process.
    I get the below exception when I execute the code provided by you.
    <i>com.sap.caf.eu.gp.exception.api.GPEngineException: No active version of the given development object existscom.sap.caf.eu.gp.exception.api.GPEngineException: No active version of the given development object exists at com.sap.caf.eu.gp.exception.impl.ExceptionUtil.convertTo(ExceptionUtil.java:36) at com.sap.caf.eu.gp.process.impl.GPProcess.getActiveTemplate(GPProcess.java:116) at com.sap.caf.eu.gp.process.dt.impl.GPDesigntimeManager.getActiveTemplate(GPDesigntimeManager.java:276) at com.sap.caf.eu.gp.process.dt.impl.GPDesigntimeManager.getActiveTemplate(GPDesigntimeManager.java:269) at com.bp.cmd.wd.GPReporting.getOverdueProcesses(GPReporting.java:346) at com.bp.cmd.wd.wdp.InternalGPReporting.getOverdueProcesses(InternalGPReporting.java:184) at com.bp.cmd.wd.GPReportingView.onActionSubmit(GPReportingView.java:145) at com.bp.cmd.wd.wdp.InternalGPReportingView.wdInvokeEventHandler(InternalGPReportingView.java:169) at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.invokeEventHandler(DelegatingView.java:87) at com.sap.tc.webdynpro.progmodel.controller.Action.fire(Action.java:67) at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doHandleActionEvent(WindowPhaseModel.java:420) at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:132) at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:335) at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:143) at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:299) at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingStandalone(ClientSession.java:746) at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:699) at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:255) at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:154) at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:62) at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:53) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:390) at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264) at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347) at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325) at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887) at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241) at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92) at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(Native Method) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)</i>
    I guess this is because there is no active version of the process available now. Any inputs on this and how to avoid this ?
    -Thanks,
    KN.

  • How to carry out an action on a task in a bpm process from another adf app?

    Hi everyone,
    We have a simple BPM process with only one human task with two actions: approve and reject.
    We want to know if it is possible to approve or reject this task from another adf application; I mean by clicking a button on a different page - not using the Actions menu in workspace, can I change the status of the task to approved or rejected and remove the task from the workspace of the assignee?

    I think you can use ItemAdding event to update your fields. This works better for you instead of ItemAdded event.
    Bala

  • Dependency in Xellerate User process task

    I create a process task in xellerate user process and in de dep table create de dependency, to execute before the add user task, but the task never start. I modify to execute before System Validation with the same result.
    The task is not conditional, allow multiple instances and required for termination.
    Why the task don't start, is this normal with oim11g?

    If you are using OIM 11g you may want to look at using an event handler to manage such user process customizations rather than Xellerate user adapters. These are the newest way of handling such customizations on user objects and I think may give you better compatibility going forward. In your case a pre-process handler seems appropriate. Refer to the OIM developers guide for details.

  • OIM 9.1 Xellerate User Provision form

    Hi,
    I want to add a process task to Xellerate user form and form that is cretaed while configuring Generic connector. But it seems that those are disabled. Does it mean that no modification can be done on thses forms?
    Thanks

    hi kiran,
    I tried to find it out......but didnt get the answer. I will be obliged if you help me regarding this.
    Thanks in advance

  • OIM11g - Event handers preventing process task triggers firing

    Hi all,
    Odd one this. Our OIM 11g implementation has a number of event handlers. These work fine. However they are preventing process tasks triggering.
    i.e. changing a users first name is no longer triggering AD change first name task
    When I strip the event handlers out, it all works again.
    Does anyone have any idea what could be causing this? (11.1.1.5.1)
    Thanks,
    Wayne.

    1. If you want to trigger the Lookup.USR_PROCESS_TRIGGERS update, then you must use the UserManager API to update, and not EntityManager.
    I do not want the event handlers to trigger any process triggers. They should be triggering anyway.
    2. You must update the System Property "XLUserResource.ProvisionMode" to be "JAVA" instead of "DB".
    Done this and it doesn't help. And I believe it is just for process tasks on Xellerate User anyway, fairly sure you should not have to do it for process tasks on resources.
    Wayne.

  • How to disable an out of the box disable User process task  from resource?

    How should I disable the out of the box disable User process task that is assigned to a particular resource? If I disable this disable User process task, when the user is provisioned to the same resource will I be able to stop this disable User process from running?
    My requirement: I need to disable the disable user process task from three resources x, y and z. Whenever a user is provisioned to one of these resources I should stop this disable user process task an out of the box process task from running. How can this be accomplished?? Please help me out on how to configureto remove the process task in the OIM Admin console to stop the process task.

    You can avoid the disable task from triggering by removing the Disable Process Or Access to Application from the task effect drop down in the process task. But this task is triggered once the user is disabled. But still I didn't understand the exact scenario.
    By the way the disable task is triggered when the user gets disabled and not when the user is provisioned.
    Edited by: vindla on Aug 1, 2011 10:26 PM

  • How to catch an event when the user change values in the project information dialog

    hi,
    i would like to know how to catch an event in my C# code when the user change values in the project information dialog?
    taskChange doesn't catch these changes.
    thanks.
    Thanks, Sharon.

    You need to write save button event handler for project information dialog. Link is having same functionality described. 
    http://blogs.msdn.com/b/husainzgh/archive/2011/08/01/hooking-into-the-project-detail-page-ribbon-save-button-without-overriding-out-of-box-functionality-in-project-web-access-for-project-server-2010.aspx
    http://www.projectserver2010blog.com/2010/01/sharepoint-2010-webpart-client-server.html
    kirtesh

Maybe you are looking for