Update a Process Form attribute during reconciliation

Hi
I wanted to updated a attribute in my process form whenever there is a reconciliation event generated for it when i run a resource reconiliation . Basically the attribute should the system time when the last reconciliation happenned ? how would i go about doing this ?
thank

1. Create a field on your process as a date field.You mean, the reconciliation field mapping or what?
Or I should create a field in my resource form instead`of process?
***You aren't reconciling an existing date, you are populating this field after the reconciliation is performed. This will need to be on your process form because all reconiliation and provisioning actions are based on your process form.
5. On your reconciliation insert and update task, the response code of completed, trigger your new task.Do you mean that the new task must be conditional dependent on the completion of reconciliation task?
***Yes. When the reconciliation task is completing, this will trigger your new task to populate the current time into your date field to show the last time the user was reconciled.
If you are wanting to just record the time the resource itself was reconciled rather than individual users, you could create a User Defined field for your resource object and write a value within your recon code to that field. Or you could add a value onto your IT Resource and write the current time to that field.
-Kevin

Similar Messages

  • Need urgent help on how to compare the user profile and process form attributes

    Hi All,
    We have a requirement  where after editing the  user profile attributes we have to compare the currently modified user  profile attributes and the existing     
    process form attributes and based on the differences we have to update the  process form accordingly.
    We have around 80 attributes so we cannot follow the procedure where
    we update the lookup process_triggers
    and add the "change attribute" task
    and "update attribute" taskin the process definition
    because it creates aroung 160 tasks in process definition. So we are doing it by writing a custom code. Is there any other simple way to do it or any API"s which can help us.
    Need very quick help.Thanks in advance.
    Regards,
    Geetha

    Check MOS: 1595938.1
    -Bikash

  • How does an Adapter task update ud_aduser process form

    Hi All,
    I have a Task Adaptor that changes the ad password using a random password generator. I need to then send that password via email to the user so I am thinking I need to update the aduser process form with this generated password.
    Thanx
    Fred

    This is a quite common but unfortunately not very easy problem to solve.
    What you usually do is to create a grace period of anything from a few days to a few months where the user is disabled and moved to a "frozen" ou. If the user is re enabled during this time period the user is brought back to life again.
    It seems like your "dead" container works a bit in the same way. You could theoretically serialize the information about the user and write it to a database table (or another persistent storage) and recreate the user using that information but I would not recommend this. The main reason is that some information i.e group membership might have changed meaning during the time the user was frozen. This might result in inappropriate rights given to the returning user.
    I would recommend using a two tier system where the user gets:
    1. Disabled and moved to the "grace period" container
    2. After X amount of time the user is deleted and is gone forever
    You might want to consider adding a "deep freezer" container where you stick accounts that belongs to users who are on maternity leave or sabbatical but it likely to come back within Z amount of time. Consider removing group memberships of these users before sticking them in the freezer or at least mandate a process where the group memberships are reviewed on reactivation.
    Hope this helps
    /M

  • Target reconciliation Process Form

    Hi,
    I had done target reconciliation for lotus notes and the users got linked with OIM. I did some changes in the process form (I added CompanyName field) now when i am going target reconciliation again it is not get the companyname field in the process forms for the users. I checked the database table it contains the values for companyname. So it is not showing me the new updated process form for the users.
    Thanks & regards,

    Hi,
    I gonna tell you my trade secret.Let me understand your problem first.
    1.You created the process form and did the reconciliation and user got linked.
    2.You updated the process form and did the reconciliation again ,event got linked but process form did not get updated.
    Problem:
    See this is very old scenario that we face,atleast in my 3 years of OIM career I did faced this issue.With every provisioned resource OIM keep the information of process form in respective UD_Process form Name .Along with that it also contain the process form version so when ever you create a new version of process form it works fine for new provisioned object but OIM does not update the process form version in UD_ table for old entries. Thats why when you view the process form it will not show you the latest modified field.
    Solution:
    Every problem has solution yes I agree so what you can do to resolve the problem.First always design in a such a way that you don't need to modify the form but if you already done this mistake so this is how you can solve the problem.
    1.Take one user and provisioned it to lotus note resource.
    2.Get the usr_key of this user.
    3. select orc_key from orc where usr_key= ?? (Key that you get in step 2.
    4.select * from UD_LOTUSFORM where orc_key=?? Key that you get in step3
    5.Now you will see a field called UD_LOTUSFORM_VERSION ..See what is the value of this version.
    6.Update UD_LOTUSFORM set UD_LOTUSFORM_VERSION=?? ( Value you get in step5) WHERE 1=1 (It will update all existing entry)
    7.Run the reconciliation again.
    You are done buddy.Let me know if you have any questions.
    Regards
    Nitesh

  • Updating the AD Process Form Using java code

    Hi,
    I am having requirement to update AD Process form OU and Groups using Scheduler.
    Cna any body provide me sample code for updating the process form?
    Thanks in advance
    Edited by: 790561 on 22/08/2011 20:03

    You need to use setProcessFormData(long ProcessInstanceKey,java.util.Map phAttributeList) in your scheduler code. Before calling this API you need to get value of ProcessInstanceKey.
    To retrieve ProcessInstanceKey , you should call getObjects()(under tcUserOperationsIntf) API, iterate through the resultset and retrieve ProcessInstanceKey.
    You can pass hashmap data similar to this
    HashMap phAttributeList= new HashMap();
    phAttributeList.put("UD_ADUSER_OU", "your-value");
    I believe the groups are available in Child Form, so you can use child form API's like updateProcessFormChildData().
    Check the below URL for updating child form API's
    Re: Child Form

  • Update process form

    I want to be able to update a process form (AD User) before the user is created by using a process task instead of pre-pop.
    I did a search on the forum and found this:
    searchMap.put("Objects.Name", "AD User");
    objresultSet = moObjectUtility.findObjects(searchMap);
    long ObjectKey = objresultSet.getLongValue("Objects.Key");
    objectMap.put("Objects.Object Status.Status", "Provisioned");
    objectSet =(ObjectKey, objectMap);
    String processInstanceKey = objectSet.getStringValue("Process Instance.Key");
    I've writtent he code for this but this code above is looking for provisioned resource but I am trying to update the process form before the user gets provisioned. Is this possible? I want to modify the process form before create user is run.

    Thanks to all. I create three process tasks that return results to process form, which call <process task> updated. I added the three tasks to Success response on create user. However, it worked somewhat. Some fields would work and some would not. It was almost random which ones worked and which did not.
    So, the fix was to have three tasks and link them with "preceding tasks". i.e. in the third task add second task as preceding and in the second, add the first task as preceding. This work fine. The problem was that once all three got fired, OIM runs them simultaneously and there is a resource contention issue. Its basically a bug. Setting the "preceding task" fixes that issue.
    My code is working now. One more thing, you have to have Get Object GUID created in task dependancy for the <process task> updated.

  • Process form update

    Hi Folks,
    I have a custom process form with a few fields, I have created a task for each of these fields with Task Name as '$Field_Label space Updated' to be triggered on an update of the form field. I notice that these tasks in the Process Definition are not getting triggered once the process form is updated.(by checking resource history) Is there any chance that I am missing on setting some system property?
    Thanks,
    Saiesh

    If you have followed right naming convention then it will work:
    Enabling update for provisioned user in OIM11g
    How are you changing the data in Process Form ?Are you directly doing update on Process Form through Web Console or do you have triggers like Change Field Name etc ?

  • OIM Bulk Load utility(Process Form Updates)

    Hi All,
    I am wondering whether OIM bulk laod Utitly is capable of Updating the Accounts(Targer Recon) in OIM(Updates in Process form)?... I was checking the oracle doucment and it doe not say anything about Updating the records in OIM it says of creating the accounts. Please guide me.
    Thanks in advance
    Saravani
    Edited by: 918661 on Mar 4, 2012 7:47 PM

    Don't worry. Utility support both feature
    1. Trusted recon - reconcile from trusted source(csv, databse.etc.) to OIM user profile
    2. Target recon - reconcile target account to OIM Process Form . for this you must have their coressponding user exist in OIM.
    For further details go through below doc.
    http://docs.oracle.com/cd/E14899_01/doc.9102/e14763/bulkload.htm#CHDCGGDA
    Section "15.5 Loading Account Data" will clarify your doubt
    --nayan                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • Update process form data

    Hi,
    I am trying to update AD process form data through the OIM API. I have to clear all the telephone numbers. I am getting this error when i run it.
    varbinary is incompatible with text
    2011-06-24 10:48:31,918 ERROR [XELLERATE.SCHEDULER.TASK] Class/Method: SchedulerBaseTask/run encounter some problems: {1}
    java.lang.NullPointerException
         at com.thortech.xl.schedule.tasks.UpdateAD.execute(UpdateAD.java:116)
         at com.thortech.xl.scheduler.tasks.SchedulerBaseTask.run(Unknown Source)
         at com.thortech.xl.scheduler.core.quartz.QuartzWrapper$TaskExecutionAction.run(Unknown Source)
         at Thor.API.Security.LoginHandler.jbossLoginSession.runAs(Unknown Source)
         at com.thortech.xl.scheduler.core.quartz.QuartzWrapper.execute(Unknown Source)
         at org.quartz.core.JobRunShell.run(JobRunShell.java:203)
         at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520)
    2011-06-24 10:48:31,918 ERROR [XELLERATE.SERVER] Class/Method: QuartzWrapper/run encounter some problems: Operand type clash: varbinary is incompatible with text
    com.microsoft.sqlserver.jdbc.SQLServerException: Operand type clash: varbinary is incompatible with text
    Please help
    M

    This is the code I am using..
    map.put("UD_ADUSER_TELEPHONE",rs.getString("usr_udf_telephone"));
    long pinstancekey = 215041;
    formOp.setProcessFormData(pinstancekey,map); //This line is throwing the error

  • Problem in setting user end date from oim to account expiry date in AD process form

    Hi all,
    i am updating the user end date from oim to user account expiry date in ad process form using oim api.
    i am able to get the end date value from oim but when i am setting it using api it through exception but all other attribute i am able to update in process form.
    i am facing the problem only with end date field because of different date format in OIM and  AD .
    so please suggest me what are date format in Active Directory and how can i change the oim date format to Active directory time format in in my java code.

    Thanks for the reply.
    But all iplanet users need not contain end date attribute, and its an update on existing user.
    Can you please ellaborate more on Transformation class..?? example should be helpful.

  • OIM DB query to retrive data from process form based on status

    Hi
    We have a requirement to retrieve the field values from process form for the status which is "provisioning".
    Can anyone help us providing the query for the same ?
    Consider some process form has Firstname, Lastname and so on as its attibutes. Resource provisioning is stuck due to some reason and the status is in 'Provisioning' state.
    Our query should return those process form attribute values.
    Thanks
    DK
    Edited by: 875142 on Apr 26, 2012 6:34 AM

    Hint:
    Make use of ORC, Process Form, OST, OIU Tables.
    Try by yourself. Don't expect readymade solution else you won't learn anything.

  • Update OIM field with process form fields

    Hi,
    I have configured AD as a target resource to my OIM. Now i have a requirement to update few fields of OIM , on the basis of change in the fields of process form when target recon will run. For this, as per my understanding i can use the post insert/post update adapter. I wrote the adapter code as well. But when now i am running the recon against my resource, and updating the field, it couldn't even run the adapter as nothing has been written in logs (not even the println statements mentioned in adapter code :( ). Could anyone please tell me where i am missing.

    Hi,
    I did create a task and assign it on "Event Processed" (Response) under reconciliation insert recieved and reconciliation update recieved. Now when i tried to run recon it is giving me error while processing the recon event. Error is "An error occured while processing the off lined reconciliation event. [xellerate.jms] processing reconciliation message with id <recon event id> failed" . Am i missing something.... Please help
    TIA

  • Trigger only one process task on Process form update

    Hello,
    I'd like to trigger a single process task (a single time) when one or several attributes are updated in a process form.
    any idea how to do that?
    what I don't want to do :)
    - call the same process task on "firstname update" AND on "lastname update" => this process task would be launched twice on a single process form update/save
    thanks in advance for your help

    Create a task with the form name like such:
    UD_ADUSRLX Updated
    This task will trigger any time a value(s) are updated on the form. You will get only a single task, and not individual. But if you add this task, you don't get the option of the other tasks triggering individually.
    -Kevin

  • Error While updating Process form data Using Scheduler

    Hi All,
    I am trying to update Process form data (ex : lastname) using a scheduled task Code. I am getting Error while updating Field.
    Code :
    HashMap<String, String> map = new HashMap<String, String>();
    map.put("UD_EBS_PF_LASTNAME", "lastname");
    formintf.setProcessFormData(instancekey, map);  //I AM GETTING AT THIS LINE
    Saying
    Thor.API.Exceptions.tcAPIException: The following required fields have not been given values:EBS IT Resource : The following required fields have not been given values:EBS IT Resource
        at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:234)
        at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:348)
        at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:259)
        at Thor.API.Operations.tcFormInstanceOperationsIntfEJB_h6wb8n_tcFormInstanceOperationsIntfRemoteImpl_1036_WLStub.setProcessFormDatax(Unknown Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.invoke(RemoteBusinessIntfProxy.java:85)
        at $Proxy2.setProcessFormDatax(Unknown Source)
        at Thor.API.Operations.tcFormInstanceOperationsIntfDelegate.setProcessFormData(Unknown Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at Thor.API.Base.SecurityInvocationHandler$1.run(SecurityInvocationHandler.java:68)
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
        at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
        at weblogic.security.Security.runAs(Security.java:41)
        at Thor.API.Security.LoginHandler.weblogicLoginSession.runAs(weblogicLoginSession.java:52)
        at Thor.API.Base.SecurityInvocationHandler.invoke(SecurityInvocationHandler.java:79)
        at $Proxy3.setProcessFormData(Unknown Source)
        at com.wyndham.tasks.AssignRandomPasswordToAllUsersSchedulerTest.execute(AssignRandomPasswordToAllUsersSchedulerTest.java:182)
        at com.wyndham.tasks.AssignRandomPasswordToAllUsersSchedulerTest.main(AssignRandomPasswordToAllUsersSchedulerTest.java:63)
    Caused by: Thor.API.Exceptions.tcAPIException: The following required fields have not been given values:EBS IT Resource : The following required fields have not been given values:EBS IT Resource
        at com.thortech.xl.ejb.beansimpl.tcFormInstanceOperationsBean.setProcessFormData(tcFormInstanceOperationsBean.java:761)
        at com.thortech.xl.ejb.beansimpl.tcFormInstanceOperationsBean.setProcessFormData(tcFormInstanceOperationsBean.java:426)
        at Thor.API.Operations.tcFormInstanceOperationsIntfEJB.setProcessFormDatax(Unknown Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

    Is that possible there was the field ZDATE in your form interface/ context and now it is not? I guess some source has changed so the field in the form (binding to the not existing field) cannot be processed. Otto

  • Error while updating Date Field on Process Form.

    Hi,
    I am using java code to pre-pop date on the process form.First I used a java code whic took java.sql.date as input and returned the same java.sql.date.But it gave an error that:java.lang.String cannot be converted to java.sql.date.......
    So I changed the java code and now it takes string as input and returns java.sql.date. This code works fine for Pre-pop adapter and the date is populated on the process form.
    But when i use the same code in a Process Task adapter to update the date, then it gives the following error:
    ERROR [ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)' XELLERATE.ADAPTERS - Class/Method: tcAdpEvent/updateDataSetValuePost encounter some problems: Adapter Execution Error: updateDataObjFieldValuePost: error updating UD_OID_USR_DATE_OF_BIRTH
    ERROR [ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)' XELLERATE.ADAPTERS - Class/Method: tcAdpEvent/updateDataSetValuePost encounter some problems: {1}
    Can anyone suggest any method to update date field on process form?

    Hi Abhi,
    Can you tell me how you have implemented populating an UDF based on Prepopulation of another UDF. I have a similar kind of requirement. It would be great if you share your code or relevant part of it.
    Regards,
    Sunny Ajmera

Maybe you are looking for