Triggering Process Definition Tasks Based on Changes to Multiple Attributes

Hi All,
I'm in the process of creating a custom GTC connector to provision accounts to an LDAP directory. I've got more than 100 user defined fields with the user object in OIM and about 60 of them will be kept in sync with the user accounts in LDAP. When any of these 60 attributes get updated for a user, I would like OIM to update the attributes for the user in LDAP.
I know I can add 60 "Change <field name>" tasks to the process definition. However, that would be very inefficient for what I'm trying to do due to the number of attributes I'm dealing with. Often during large reconciliations from the systems of record, multiple attributes will change for each user. So if 20 attributes change for a user in one transaction and I have separate tasks for each attribute, that would result in 20 LDAP updates rather than just one.
So I'm wondering, is there a way to have one process definition task that will trigger when any of these 60 attributes get updated and include all the attributes and values that got updated in that transaction?
Thanks

Thanks for your response.
I was actually hoping to not have to use a process form to store all the user data for the LDAP provisioning connector. I was hoping to have the "Change" tasks update LDAP directly. The GTC framework seems to want to create a process form to store the target ID, but I would like to avoid storing all the user defined fields there. My reasoning for this is simply to avoid having user data duplicated in another location, which can often lead to sync issues. However, with that being said, if the only way I can gain performance improvements is through storing all the data in the process form, I would be willing to do that. Do you have any suggestions on how I can accomplish the single LDAP modify for multiple attributes without storing all the user defined fields in a process form?
But in any case, I've attempted your suggestion. I have created a few lookup definitions:
Code Key | Decode
USR_LAST_NAME | Change Multiple
USR_FIRST_NAME | Change Multiple
USR_LOGIN | Change Multiple
etc....
I've then added the "Change Multiple" task to the process definition. That task calls an adapter called adpTESTGTC_GTC. Now if I update last name and first name in the same transaction, I notice that the adpTESTGTC_GTC adapter gets called twice. So it seems like even though there's just one "Change" task, it will still get executed once for each attribute modified. So adpTESTGTC_GTC would essentially be performing the same work for each attribute (that is getting all the user data and updating the process form). Since both LDAP and the Oracle Database are external to the application server, I'm guessing X LDAP modifies is just as bad for performance as X updates to the process form, where X is the number of attributes being updated in the transaction.
kevin.pinsky wrote:
When the update completes, if any of the fields change, it will trigger your "Updated" task on your form for that field.I'm also not sure I understand your last sentence. Are you suggesting that I have one "Updated" task for each attribute that's being sync'ed with LDAP? If that's the case, then I'm still doing multiple LDAP modifies for one transaction, right? In the end, my goal is for a reconciliation process that updates up to 60 attributes for a user to just make one LDAP modify with the up to 60 attributes being updated rather than having a separate LDAP modify for each attribute. So if a reconciliation process updates 20 attributes for a user in OIM, I would like a single LDAP modify to update the 20 attributes for the user in LDAP rather than having 20 LDAP modifies that each update one attribute.
Thanks for your help. I would appreciate any further comments or suggestions.

Similar Messages

  • OIM - 'Task Effect' in Process Definition - Task Properties

    Hi all,
    I am trying to understand the drop-down selection 'Task Effect' on the General tab of Process Definition - Task Properties.
    On page 7-18 of the Design Console docs it says:
    "When the disable action is chosen, all tasks associated with the disable action are inserted."
    Can someone elaborate on this? If I have four tasks, each with a Task Effect of 'disable', will they all fire if one of them does?
    Any hints, or documentation references, would be greatly appreciated. I am using OIM 9.0.3, btw.
    thanks,
    Kam

    Once the process tasks has been executed you can not delete it.
    check these links for more info.
    Deleting a Process Task
    Re: Remove Unused Process Tasks from Process Definition for Export

  • OIM - Process Definition Dependent Tasks

    Hi,
    I have created two process definition tasks, and have attached task2 as a dependent task for task1. But, the task2 is not getting triggered.
    Please let me know, what I am missing.
    Regards
    Vicky

    Hi Suren,
    My requirement is once the users last name is changed in the user form, it has to be populated in the process form and in the target.
    So, I have written a process task for copying the value from user form to process form, and made the task that will talk to the target as dependent task.
    I have attached the copy task as a user trigger.
    But, here there is no return value from the copy task, so how can map this.
    And, the copy task is working fine, able to populate the data in the process form. But, the dependent task is not getting triggered, to modify in the target.
    Any help is appreciated.
    Regards
    vicky

  • Executing OIM Process task based on Condition

    Hi Experts ,
    I have the following requirement :
    when a OIM user field - X is updated with a value A i have to call task T1, generate a random number on this task and have to trigger CREATE user Task within in the same process definition of an IT resource
    when the same OIM user field - X is updated with a value B i have to call task T1 again, generate a random number on this task and have to trigger DISABLE user Task.
    Im taking the approach of OIM lookup triggers which will kickoff the task T1 when user field X is updated
    My question is how can i add the conditional logic to a task(T1) to trigger the only one dependent task, either create user or disable user when a condition satisfies.
    currently i have added create user task and disable task as the dependent tasks of the task T1.
    If i am triggering create user task how can i get all the attribute mapping values of createuserAdp. since few are referring the process form, userdata and IT resource
    Im confused and not sure as how to implement such Work flow based on conditions. hope some one can help me!!
    Thanks in advance
    Edited by: user8942439 on Aug 24, 2012 11:58 PM

    Use the responses returned by task T1. Lets say for create user, Task T1 returns a response "CREATE". So in the responses tab add this response, select it and in the tasks to generate section add "Create user" task to this response. In the same way task T1 returns response "DISABLE", so on DISABLE response select task to generate Disable user.
    regards,
    GP

  • Task in Process Definition not Running when Trigger Automatically

    Hi All,
    I have created a task in Process Definition (eBusiness Suite User)and attached JAVA code to this task. Also i have triggered this task on C response of Email Updated Task . I also have Change Email Task which is mentioned in Lookup.USR_PROCESS.TRIGGERS lookup defination. so when Email id is changed in OIM Console it is triggering Change email Task and it is getting populate in Process form and as i am using Auto Save Feature .Email Updated task is geting Triggered. and Email is updated in FND_User table.
    Now my Problem is after Email Updated task is completed it is triggering my Task but my Task Is not getting Executed (JAVA code is not executed).
    But when I manually add this task from Resource History , JAVA code is getting Executed .
    What i founf is Email Updated task was triggered by OIMINternal User , So I add in Assignment tab to OIMInternal user , but no luck.
    Task is getting Triggered but is not getting Executed.
    Can any one suggest how i can run this task Automatiically.
    Please help. Its bit urgent.
    Thanks!!
    Regards,
    Tushar

    Once the process tasks has been executed you can not delete it.
    check these links for more info.
    Deleting a Process Task
    Re: Remove Unused Process Tasks from Process Definition for Export

  • Mapping Adapter to a process task in process definition.

    Hi Guys
    My requirement is , Disable users associated with an organization when the organization is disabled.
    I have performed the following steps:
    1. In design console Lookup definition Lookup.ACT_PROCESS_TRIGGERS , I added a row
    ACT_DISABLED   DisableUSerWhenOrgDisabled
    2. Then I created process task adapter to recursively disable the users based on the organization name.
    3.Next I attached the adapter to a new task in process definition --> Xellerate User with the name DisableUSerWhenOrgDisabled(decode field in Lookup.ACT_PROCESS_TRIGGERS ).
    4.Then I mapped the Adapter variables to appropriate entities in the Integration tab.
    Now when I login into the admin console and disable an Organization , the adapter is not at all invoked.
    I am unable to get if I am missing anything.Kindly help in resolving this.
    Is this the correct way to achieve this functionality?
    OR
    Do I need to go for Entity Adapters.
    Thank you
    sas
    Edited by: sas on Jan 8, 2009 4:55 PM

    SAS,
    You only need one adapter. You can use one variable that maps the Organization Name. Using this value, you can use the tcOrganizationOperationIntf apis to get information about that organization. Once you get the disabled value, you can create your if statement based on the value of this task. If the Organization is not disabled, return a literal string like "NO_ACTION_REQUIRED". If the Organization is disabled, using the code i previously posted, or the code you have generated, to disabled all the users within the organization. If this task successfully completes, return the literal string like "ALL_USERS_DISABLED". If an error happens, i would return something like "ERROR" or something more descriptive. Then on your responses tab, you can add these values you are returning, along with a more descriptive value. Set the NO_ACTION_REQUIRED and ALL_USERS_DISABLED to a C status and the ERROR responses to a R status. Now when you map your adapter, map in your Organization Name and for your Adapter Return Value map it to the responses.
    As far as what you can do with responses. On the process task, the response tab, you can select the specific response, and then have it trigger another task.
    -Kevin

  • Trigger a process task based on Lookup Value

    Hi Everyone,
    We have a requirement like for one of the custom adaptors,we have
    The Process form has the below five attributes
    i)First Name----(String)
    ii)Last Name----(String)
    iii)Location----(Lookup)
    iv)Address----(String)
    V)Mobile-----(String)
    The attribute Location is a lookup Field.
    in Location we have
    Code Decode
    Chennai Chennai
    Bangalore Bangalore
    Delhi Delhi
    Mumbai Mumbai
    NOw if i select chennai in the location lookup.I want to trigger a seperate task from process definition.
    How can this be achieved?
    Regards,
    Naveen

    you can't achieve dynamicly using process task.
    if the value of that lookup is limited and known then you can design like below(Static)
    1. create a process task adapter which takes one string input(location) and return the same. update response for each location values
    2. create task called Location updated or if this task is there for update location value in target system then leave as it is
    3. create a new condiional task "call task based on location" . attach newly created adapter. pass location attribute as input and map return value with response code.
    finally attach this task on the success response of "Location Updated" task
    4. now you have response for all location . so attach respective task on each response.
    Note: if there is no Location Updated task present then create "Location Updated " task and directly attach above adapter on this task.
    --nayan                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • Update a Task in a Process Definition

    I am trying to use the OIM API to update a task in a process definition. In the tcWorkflowDefinitionOperationsIntf, there is a method called updateWorkflow(WorkflowDefinition workflow).
    With this method, I am able to update the process definition to make it auto-prepopulate, auto-save, and default process.  Is it possible to update a task in a process definition with this method?

    A very simple example would be changing the description of a task.
    E.g. Design Console -> Process Management -> Process Definition -> Modify the description of "Email Updated" task in LDAP User process definition .
    I am wondering if I could use updateWorkflow(WorkflowDefinition workflow) to do the task above rather than using design console.

  • How can we call a task in process definition A from Process definition B

    Hi,
    Is that possible to call a task in process definition A from Process definition B?
    Thanks.

    Sure, as long as you can come up with the correct query to lookup the task key for the task you want to run.
    provIntf.addProcessTaskInstance(taskKey, processInstanceKey);
    -Kevin

  • Remove Unused Process Tasks from Process Definition for Export

    Hi Everyone,
    I am trying to delete a process task that is no longer used in the process definition of our resource; however, I get an error indicating the "The task cannot be deleted it has schedule items". I would like to export the connector without this particular process task. Can anyone please provide any suggestions on how I can do this? Any inputs will be highly appreciated.
    Many thanks,
    Wendell

    Hi,
    As per my knowledge you cannot delete a process task, if the associated resource object has been provisioned to a user and the task which you wants to delete has been executed atleast once.
    But you can very well delete a newly created process task with which no user has been provisioned.
    Having said this, the workaround for your problem will be as follows.
    1.Remove all the adapters,task dependecies,status mapping,etc from the task (in current env)and make sure that it doesn't get invoked in any scenario.
    2.Now export this process definition to the new environment and before provisioning any user to that specified resource object , delete all the unwanted process task and save the process task.
    Hope this will solve your problem
    Regards,
    NS

  • Data Change event triggering Process hangs in Process chain

    HI Folks,
    In a daily running Process chain we have a Data Change event triggering Process , to trigger broadcasting  settings
    This process is running for a long time , with no progress
    in SM50 , there are 2 process
    Process 1 : RSRD_BROADCAST_STARTER  Status : OnHold Reason : SLEEP
    Process 2 : SAPLRSRD_X_RUNTIME  Status : OnHold  Reason : RFC
    I tried to change the Parallel Processing setting as Number of Processes = 1
    But still the process is hanging.
    Any inputs will be a great help.
    Thanks
    Sonal......
    P.S : SAP_BW     700     0022     SAPKW70022     SAP NetWeaver BI 7.0 and EP 6.0
    Edited by: Sonal Patel on Feb 2, 2010 1:47 PM

    Hi sonal,
    I would suggest you to uninstall all the components and start all new again, n please make sure you have the following order :-
    1) install GUI 710 along with BEx 7.0 and 3.x complete.
    2) install BW AddOn (bw350gui710_8-10004473.exe latest one from Service market Place).
    3) Install BI AddOn (bi710sp11_1100-10004472.exe latest one from Service market Place).
    4) Install SAP precalc server (xPreCalServer10_1-10004472.exe, latest one from Service market Place).
    In service market place you can get the components from Downloads ->Support Packages and Patches -> Entry by Application Group -> "SAP Frontend Components"
    Also, plz make sure that you restart your Server OS after each and every installation.
    This would solve your problem.
    Rgds,
    Sreekul Nair

  • Triggering Process chain based on execution of R3 job and Process Chain

    Hi All,
    I need your help in arriving at a solution for a reqirement.
    Scenario is., I need to trigger a process chain B based on successful execution of Process chain A and an R3 job. If both conditions(Completion of R3 job and Process Chain A) are met then only it has to trigger process Chain B.
    I know that we can use events to trigger a process chain using R3 job.But my case is differenet I need to consider the success message from both process chain and R3 job.Is there any way to solve it ?
    Please provide me with your valuable inputs.
    Thanks,
    Bindu

    Hi Hima,
    You can use the  'AND' variant for both, If both are success then trigger the process chain.
    Regards,
    Ravi Kanth
    Edited by: Ravi kanth on Apr 30, 2009 3:36 PM

  • Have Photoshop 7.0.1 - recently quit saving as or saving photos after changes. Just hangs until i kill process with task manager. Have uninstalled and reinstalled. Any suggestions? I don't want to upgrade to CC as I hate subscription services and often ha

    Just hangs until i kill process with task manager. Have uninstalled and reinstalled. Any suggestions? I don't want to upgrade to CC as I hate subscription services and often have internet connection services interuppted.

    Which operating system are you using?
    Resetting the photoshop preferences might cure the problem.
    Press and hold down the Shift+Ctrl+Alt keys down just after starting the launch of photoshop 7
    (Shift-Command-Option on a mac)
    Keep holding the keys down until you get a dialog asking if you want to delete the adobe photoshop settings file
    Press Yes

  • Can I assign a task based on information from another column?

    For example:
    Let's say I have a column called "Question Type" and this column has multiple checkbox choice, those being:
         Math
         Science
         History
         English
         Other
    I want to allow users to be able to select multpile catagories for the question, like making one both math and science (which right now is completely possible)
    I then want another column that says who the problem is assigned to. Bob is good at math, Joe at science, Jill at histroy, Jenn at English, and Billy handles everything else.
    1) Is there a way that the task can be automatically assigned to my math expert Bob when I specify that the item I am adding is a math problem?
    2) If I make a problem both math and science, can the task be assigned to both Bob and Joe?
    Thanks in advance!

    Hi,
    According to your post, my understanding is that you wanted to assign a task based on information from another column.
    To assign task to multiple users, you need to:
    Create a workflow and add action: Start Approval Process.
    Click these user, select the Group, change One or a time(serial) to
    All at onec(paralle).
    Right click the action, select Properties, click ExpandGroups, change No to
    Yes.
    Then you can assign task to each member of the group.
    I recommend to follow the steps as below to achieve what you want:
    Create a custom list, add columns: Question Type(Choice); Assigned to(Person or Group).
    Create a workflow associated the list.
    Add conditions and action as below:
    Then the task can be automatically assigned to 123 when the item is a math problem.
    In addition, if you make a problem both math and science, the task can be assigned to both 456 and 789.
    You can add other conditions to satisfy all the requirements.
    Best Regards,
    Linda Li
    Linda Li
    TechNet Community Support

  • Process Definition: Trigger on a Child Table

    Let's say I have a Process Definition named "Process one" (of type provisioning).
    My process contains a task, that has following options set on the 'General' tab
    Child Form = 'CHILD_FORM1', trigger type = 'Insert'.
    What does it mean?
    1) This task conditionally fires when something is inserted into CHILD_FORM1 table or
    2) This task performs some actions that are connected with inserting values into CHILD_FORM1 table?

    I think if you want to consider an efficient solution, I would look at not implementing your requirements using triggers. If possible consider an API approach where whatever "applicaiton" is being used calls a PL/SQL package that will update both tables if necessary. There are a number of disadvantages to using triggers.
    HTH!
    Edited by: Centinul on Jan 2, 2009 11:48 PM
    Check out this recent thread on triggers: Should one really avoid triggers???

Maybe you are looking for

  • Report FI Document - Vendor

    Hi, i want realized a report that show the following information: - Fi document related to the vendor; - Amount of the document; - Tax amount, - Base amount. With a query i can only extract the datas related to the first and second point (BSEG). I've

  • Re:License issue

    Hi we have a problem iin license it shows as license is limited to 5 ip addresses how can we solve this issue Thanks Swadin

  • OBIEE sorting OBIEE11g

    Hello, We have to dynamically arrrange a graph based on sorting on another graph in OBIEE11g We are asked to show the TopN customers with different measure columns say by Col A and Col B In my crieteria , i get the TOPN customers ,ColA and ColB and i

  • Shift from HP to Mac

    I just changed from HP to Mac, where can I find info on normal commands of HP such us page up or copy etc

  • CUP: Request type change account-  Change of user data other than roles

    Hi Experts, I am using the request type change account to change the user type and/or validity of the user. In the description of this request type it says I can use it to request additional access and other changes to an account. Yet when i try to c