OIM 10g: Attribute's old value

Hi all
Is there some way I can get the old value of any user attribute. I have seen in the design console that we have a old value checkbox but want to know if we can get it directly from the OIM DB. Do you know where are the old values of the attributes stored ?

I don't think old value of attributes are stored in OIM DB. It is only available at the time of adapter mapping as that is where you are changing the same.

Similar Messages

  • How to retrieving attributes old values from a OBJECT_CHANGED event

    Hi,
    I have installed Sun ONE Directory Server 5.2. I have registared Event Listener which implements both name space change and object change interfaces. After chaning some attribute value, i am able to get the new values of attributes using getNewBinging method. But when i call getOldBinding to get attributes, it is returning null. Can any one help me how to get the old values. This is very much urgent and we are trying to write custom connectors to synchronize the data in Sun ONE directory server with other directory servers like Oracle Internet Directory.
    I am new to Java and JNDI.
    It would be great help if any one can light me in this regard. Thanks in advance.
    Thanks & Regards
    Sreedhar

    I have been also working for the same issue. getOldBinding() does not return old attributes in case of ObjectChanged event. So far I did not find any solution. Does anyone know any solution?

  • Audit of attribute value change: is the old value available?

    When changing the value of an user attribute in the FIM Portal, the new attribute value is properly logged. This can be read in the request and in the standard report FIMUserHistory.
    The question is, what about the old value that was replaced? Is the old value available in the Data Warehouse somewhere, so one can make a report or is it gone forever (of course one can find the old value by looking at the previous attribute change or creation
    event, but this could be too long time ago)?
    Thanks for helping,
    Didier.

    As far I remember (I don't have access to test FIM Reporting now) in reports stored on Data Warehouse, there is no such thing as "old value". But as far I remember it, also very old data is stored there, so there can be something like:
    User: JJK003 -> New attribute (mail) value: [email protected] (12.12.2013)
    User: JJK003 -> New attribute (mail) value: [email protected] (12.02.2014)
    so, if you look closely to a history and sort it by user - you can determine what was the old value.
    http://technet.microsoft.com/en-us/library/jj133843(v=ws.10).aspx
    In report, you have always most recent display name of this user and of attribute's display name, but history should show what value was inserted long time ago and what value was set a week ago - than you know what value was there previously.
    But please be aware that users report, according to TechNet, does not include all properties:
    This report provides information about changes to key attributes on user resources in FIM, including account name, email, job title, and
    employee start/end date.
    Keep trying

  • Hitting error LDAP: error code 20 - mail attribute has duplicate value.

    Hi ,
    Anyone  faced this issue before LDAP: error code 20 - mail attribute has duplicate value. We are getting this error intermittently  in oid logs and 
    and due to that  provisioning stuck . I know that the issue due to the object class mismatch in attributes. But  map profile looks fine . Anything else need to check ?
    SSO verion 10.4.1.3 and DB version 10g .
    javax.naming.directory.AttributeInUseException: [LDAP: error code 20 - mail attribute has duplicate value.]; remaining name 'uid=abc,cn=users,dc=xyz ,dc=com'
            at com.sun.jndi.ldap.LdapCtx.mapErrorCode(LdapCtx.java:2972)
            at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2934)
            at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2740)
            at com.sun.jndi.ldap.LdapCtx.c_modifyAttributes(LdapCtx.java:1440)
            at com.sun.jndi.toolkit.ctx.ComponentDirContext.p_modifyAttributes(ComponentDirContext.java:255)
            at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.modifyAttributes(PartialCompositeDirContext.java:172)
            at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.modifyAttributes(PartialCompositeDirContext.java:161)
            at javax.naming.directory.InitialDirContext.modifyAttributes(InitialDirContext.java:146)
            at oracle.ldap.odip.gsi.LDAPWriter.modify(LDAPWriter.java:479)
            at oracle.ldap.odip.gsi.LDAPWriter.writeChanges(LDAPWriter.java:318)
            at oracle.ldap.odip.engine.AgentThread.mapExecute(AgentThread.java:656)
            at oracle.ldap.odip.engine.AgentThread.execMapping(AgentThread.java:377)
            at oracle.ldap.odip.engine.AgentThread.run(AgentThread.java:238)
    DIP_LDAPWRITER_ERROR_MODIFY
    Error in executing mapping DIP_LDAPWRITER_ERROR_MODIFY
    DIP_LDAPWRITER_ERROR_MODIFY
            at oracle.ldap.odip.engine.AgentThread.mapExecute(AgentThread.java:830)
            at oracle.ldap.odip.engine.AgentThread.execMapping(AgentThread.java:377)
            at oracle.ldap.odip.engine.AgentThread.run(AgentThread.java:238)
    DIP_LDAPWRITER_ERROR_MODIFY
    Setting Change Success Count : 27682
    Setting Change Failure Count : 11004
    CDSImportProfile:Error in Mapping EngineDIP_LDAPWRITER_ERROR_MODIFY
    DIP_LDAPWRITER_ERROR_MODIFY
            at oracle.ldap.odip.engine.AgentThread.mapExecute(AgentThread.java:851)
            at oracle.ldap.odip.engine.AgentThread.execMapping(AgentThread.java:377)
            at oracle.ldap.odip.engine.AgentThread.run(AgentThread.java:238)
    CDSImportProfile:about to Update exec status

    did you search the LDAP server to see whether the email value you try to use already exist ?  typically LDAP server do not care whether email is duplicated or not, but by default OIM server do not allow duplicated email

  • User provisioning problem from OIM 10g to Siebel CRM

    Hi Team,
    I am facing User provisioning problem from OIM 10g to Siebel CRM.Please find the log details.
    Running Get Attribute Mapping
    Running Siebel Create User
    <com.siebel.common.common.CSSException>
    <Error><ErrorCode>8716601</ErrorCode> <ErrMsg>Socket had incorrect word size: 0.(SBL-JCA-00313)</ErrMsg></Error>
    </com.siebel.common.common.CSSException>
            at com.siebel.om.conmgr.Connection.readPacket(Connection.java:550)
            at com.siebel.om.conmgr.Connection.run(Connection.java:286)
            at java.lang.Thread.run(Thread.java:619)
    [CMGR FATAL] Error: <com.siebel.common.common.CSSException>
    <Error><ErrorCode>8716601</ErrorCode> <ErrMsg>Socket had incorrect word size: 0.(SBL-JCA-00313)</ErrMsg></Error>
    </com.siebel.common.common.CSSException> connection:1
    <com.siebel.common.common.CSSException>
    <Error><ErrorCode>8716601</ErrorCode> <ErrMsg>Socket had incorrect word size: 0.(SBL-JCA-00313)</ErrMsg></Error>
    </com.siebel.common.common.CSSException>
            at com.siebel.om.conmgr.Connection.readPacket(Connection.java:550)
            at com.siebel.om.conmgr.Connection.run(Connection.java:286)
            at java.lang.Thread.run(Thread.java:619)
    [CMGR FATAL] Error: <com.siebel.common.common.CSSException>
    <Error><ErrorCode>8716601</ErrorCode> <ErrMsg>Socket had incorrect word size: 0.(SBL-JCA-00313)</ErrMsg></Error>
    </com.siebel.common.common.CSSException> connection:1ERROR,22 Aug 2013 12:58:27,689,[XL_INTG.SIEBEL],====================================================
    ERROR,22 Aug 2013 12:58:27,689,[XL_INTG.SIEBEL],com.thortech.xl.integration.siebel.utils.SiebelConnection : createSiebelConnection() :  Siebel Connection Exception:Could not open a session in 4 attempts. {1}(SBL-JCA-00200)
    ERROR,22 Aug 2013 12:58:27,689,[XL_INTG.SIEBEL],====================================================
    ERROR,22 Aug 2013 12:58:27,689,[XL_INTG.SIEBEL],====================================================
    ERROR,22 Aug 2013 12:58:27,689,[XL_INTG.SIEBEL],com.thortech.xl.integration.siebel.proxy.SiebelProxyEmployeeProvisionManager : createSiebelConnection() : BaseException: Siebel Connection JDB Exception: Could not open a session in 4 attempts. {1}(SBL-JCA-00200)
    ERROR,22 Aug 2013 12:58:27,689,[XL_INTG.SIEBEL],====================================================
    ERROR,22 Aug 2013 12:58:27,689,[XL_INTG.SIEBEL],====================================================
    ERROR,22 Aug 2013 12:58:27,689,[XL_INTG.SIEBEL],com.thortech.xl.integration.siebel.provision.SiebelUtilEmployeeProvisionManager : createEmployee() : BaseException: Siebel Connection JDB Exception: Could not open a session in 4 attempts. {1}(SBL-JCA-00200)
    ERROR,22 Aug 2013 12:58:27,689,[XL_INTG.SIEBEL],====================================================
    Regards,
    Ravi.

    Hi
    I facing the same error message as yours, using OIM 11g R2
    Are you able solve it ?
    Please share
    Many Thanks !!!

  • Which table stores old value of IBAN number and how to retrive old value.

    HELLO TEAM
    We are going through an enhancement process that requires to display old value and new value of the IBAN number from the Vendor master records. As IBAN is a combination of the country key, Bank Key and Bank account number, which are all key fields, their values are stored in the form of key in CDHDR and and CDPOS tables. The bank details are only shown in other key tab/column and the field name is displayed as key in CDPOS. These sensitive field changes are displayed as created or deleted but do not show as old value=x and new value =Y.The old value and new value fields are blank. The same happens for object IBAN and the tiban table only stores iban numbers that are updated and does not store old value of the iban number.
    If I have to display in the report s_alr_87012089, the old value and the new value of the iban number , how can i achieve the task. From which table we can retireve the old value of the IBAN number.
    << Moderator message - Everyone's problem is important. But the answers in the forum are provided by volunteers. Please do not ask for help quickly. >>
    Thank you in anticipation of a solution
    Shekhar
    Edited by: Rob Burbank on Jul 19, 2011 4:59 PM

    Hello Team
    We have explored all the above means. We are working in 4.7 environment. As we could not find an appropriate solution, we have approached the forum. The old value is not stored in cdhdr and cdpos and has the indicator as 'E' -Delete. So if an updation is done then it will delete old value and create a new value. This happens especially for the fields Bank Country Key,Bank Key, Bank Account Number. All we have checked the object attributes in the table lfbk, where for some fields it does track changes  and for other it does not track changes. This is especially for the fields kovon and kobis.
    If the requirement is to track changes to the fields Bank Country Key,Bank Key, Bank Account Number, kovon, kobis, iban which are sensitive data, and the report has to display old value and new value for sox compliance, how can this be achieved?
    I have also gone through the SAP note 580266
    If we are running a report to track changes to all vendors or a selected group of vendors, only some fields show up the value old value and new value.
    Would appreciate if an appropriate solution is provided.
    Request for a solution as i waited for 2 days if any expert could help!!!
    Thank you
    shekhar
    Edited by: V_Shekhar on Jul 27, 2011 1:18 PM
    Edited by: V_Shekhar on Jul 28, 2011 4:36 PM

  • How to show old value in webui when user press NO button on popup button.

    Hi Experts,
    As per requirement I have created custom field with dropbox and with popup box to cofirm user decision if value from field changes.
    Now on Popup when user press Yes then its Ok as no need to change the current value in the field.
    but when user press the NO button I want to display the old value on Web UI so now I am able to catch the old value and pass it into the field at backend but I am not able to make the change on the web page.
    Please reply if anyone have solution for it.
    BR
    Gaurav    

    Hi Gaurav,
    First of all when all this is happening in UI why you need to pass the selected value to backend. I didnt get this.
    I believe, this is only ui related and the old value which you got can be set in the IMPL class global variable and  trigger method set_on_close_event, say here 'CONFIRM_POPUP_CLOSED' as shown below:
      gr_popup->set_on_close_event( iv_event_name = 'CONFIRM_POPUP_CLOSED'
                                        iv_view = me ).
    Retrive the answer as per selection from popup in method 'CONFIRM_POPUP_CLOSED'
    by using:
      lv_answer = gr_popup->get_fired_outbound_plug( ).
    if lv_answer is NO, then put back the globally stored old value back to dropdown attribute, using:
    set_property_by_value method(   iv_attr_name = 'dropdown attr' iv_value = 'old value' )
    Thats it. No need to do anything.
    Regards,
    Bhushan

  • TcLookupOperationsIntf method usage in OIM 10g JSP

    We are trying to use the tcLookupOperationsIntf in OIM-10g to populate few lookup fields on manual selection.
    But while trying to use getLookupValues, getLookupValuesForColumn we couldn't achieve the same.
    Both the above quoted methods require different parameters; tried different combinations but none seem to work or most probably headed in a wrong direction.
    Below is a code snippet of same attempt, please advice
    <tctags:lookupfield
                             selectionColumn="Lookup Definition.Lookup Code Information.Code Key"
    className="Thor.API.Operations.tcLookupOperationsIntf"
    methodName="getLookupValues"
    columnNames="Lookup Definition.Lookup Code Information.Code Key,Lookup Definition.Lookup Code Information.Decode"
    fixedFilter="Lookup Definition.Lookup Code Information.Code Key:<Code Key Value>"
    lookupAPI="-2"
                             </tctags:lookupfield>
    the same works fine for tcOrganizationOperationsIntf/tcUserOperationsIntf.
    Below is the error captured in logs, on clicking the lookup defined by the above tctags
    DEBUG,20 Sep 2012 16:48:11,527,[XELLERATE.WEBAPP],Class/Method: tcLookupFieldAction/lookupByAPI entered.
    DEBUG,20 Sep 2012 16:48:11,527,[XELLERATE.WEBAPP],Class/Method: tcLookupFieldAction/lookupByAPI - Data: columnNames - Value: Lookup Definition.Lookup Code Information.Code Key
    DEBUG,20 Sep 2012 16:48:11,527,[XELLERATE.WEBAPP],Class/Method: tcLookupFieldAction/lookupByAPI - Data: columnNames - Value: Lookup Definition.Lookup Code Information.Decode
    ERROR,20 Sep 2012 16:48:11,527,[XELLERATE.WEBAPP],Class/Method: tcLookupFieldAction/lookupByAPI encounter some problems: {1}
    java.lang.NullPointerException
    Edited by: dash on Sep 20, 2012 4:50 PM
    Edited by: dash on Sep 20, 2012 4:52 PM

    Using OOTB API it will not be possible to achieve.
    You need to customize your JSP.
    You can use Javascript to achieve this. Approach can be as follow-
    1. Get values of both lookups at the time of page load. (It will avoid page refresh and other complexity of page reload to fetch 2nd lookup)
    2. Store both in Java Script variables.
    3. When one of the lookup field value changes, call a JavaScript function which will change value of second field.
    You may need to have plain HTML field if OOTB field is not working.

  • ABAP needed: New Value/Old Value in Update Rules

    Hi all
    I'm updating some attributes in IObj by ABAP routine. Is it possible to get not only new value of attribute but the old one to compare them?
    Is it possible to get others attribute old and new values?
    I'll illustrate it with example.
    Say, IObj has 3 attributes:
    0ACC_GRP
    0DT_FROM
    0DT_TO
    if NEW value of 0ACC_GRP <> OLD value of 0ACC_GRP then
    new 0DT_FROM = SYSDAT
    new 0DT_TO = old 0DT_FROM
    else
    new 0DT_FROM = old 0DT_FROM
    new 0DT_TO = old 0DT_TO

    My case quite simple I guess.
    I got 0CUSTOMER infoobject and appended it with several time-dep attributes. After it my Update rules were deactvated.  I got error message with prompt to fill out FROM_DATE, TO_DATE as key fields in every attribute (time-dependable and none time-dependable) while was trying re-activate Update Rules.
    So, what's wrong with that? What I supposed to do with all those to/from date key fields  in my Update Rules??
    Edited by: Gediminas Berzanskis on Jul 2, 2008 3:44 PM

  • Seeing Old Values when trying to validate in Extended EO

    Hi,
    I have created an EO Extension (and substitution) to PoRequisitionLineEO, and am attempting to perform validation on several elements in the page (category ID, attribute2, attribute3). Basically, I analyze these elements in the ValidateEntity() method, and throw an error if they do not satisfy business requirements.
    As long as I keep entering good data into the NonCatalog Request Page, everything performs as expected...however, after I enter the first bad set of data, my exception is thrown properly, but I can no longer save the record, regardless of whether the data passes validation.
    After inserting some println statements, I've discovered that the values I'm looking for (i.e. getAttribute2() ) hold their old value from the error. In other words, the getters keep returning the value that caused the failure, and never reflect the new value that I put into the field.
    I suspect that I am doing something incorrectly while throwing the error. Here's the code I use to create the error. Is this an acceptable way to stop a record from saving using EO validation? Or is there something else I'm doing wrong.
    throw new OAAttrValException(OAException.TYP_ENTITY_OBJECT,
    getEntityDef().getFullName(), // EO name
    getPrimaryKey(), // EO PK
    null, // Attribute Name
    null, // Attribute value
    "XX", // Message product short name
    "XXI_PO_AFE_REQUIRED");
    Any help is greatly appreciated.
    thanx,
    bw

    Remove the EM database file as described here:
    https://forums.adobe.com/thread/1517855?q=guideguide
    It worked for me!

  • OIM 10g: Best practice for updating OIM user status from target recon?

    We have a requirement, where we need to trigger one or more updates to the OIM user record (including status) based on values pulled in from a target resource recon from an LDAP. For example, if an LDAP attribute "disable-flag=123456" then we want to disable the OIM user. Other LDAP attributes may trigger other OIM user attribute changes.
    I think I need to write a custom adapter to handle "recon insert received" and "recon update received" events from the target recon, but wanted to check with the community to see if this was the right approach. Would post-insert/post-update event handlers be a better choice?

    Thanks Nishith. That's along the lines of what I was thinking. The only issue in my case is that I might need to update additional custom attributes on the OIM User in addition to enable/disable. Because of that requirement, my thought was to call the API directly from my task adapter to do the attribute updates in addition to the enable/disable. Does this seem like a sound approach?

  • Can we generate custom reports in oIM 10g

    hi,
    Is it possible to generate custom reports in OIM 10g? Is it a complex process?
    Thanks

    Thanks for the reply,
    I am able to generate the report, but the issue is with the filter condition, I am trying to filter the results with a udf field but filtering is not happening and in logs the error coming is
    Thor.API.Exceptions.tcColumnNotFoundException
    at Thor.API.tcMetaDataSet.getStringValue(Unknown Source)
    at com.thortech.xl.webclient.util.ReportUtilities.getLinkHref(Unknown Source)
    at com.thortech.xl.webclient.util.ReportUtilities.populateTableDataForTabularDisplay(Unknown Source)
    at com.thortech.xl.webclient.util.ReportUtilities.displayReportWithTabularLayout(Unknown Source)
    at com.thortech.xl.webclient.util.ReportUtilities.displayReportWithLayout(Unknown Source)
    at com.thortech.xl.webclient.actions.ReportAction.displayTabularReport(Unknown Source)
    at com.thortech.xl.webclient.actions.ReportAction.displayReport(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 org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270)
    at com.thortech.xl.webclient.actions.tcLookupDispatchAction.execute(Unknown Source)
    at com.thortech.xl.webclient.actions.tcActionBase.execute(Unknown Source)
    at com.thortech.xl.webclient.actions.tcAction.execute(Unknown Source)
    at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:
    and one more thing , how to give two conditions in where clause in stored procedure , for e.g i have given like
    strWhereClause := 'usr_key IN(SELECT DISTINCT usr_key FROM usr) and UPPER(usr.usr_status) like '
    || UPPER(''''||strstatus_in||'''')
    || ' AND UPPER(usr.USR_UDF_CUSTOMATTR) LIKE '
    || UPPER(''''||strcustattr_in||'''')
    || ' ';
    and its not taking the two values.pls tell me where its going wrong

  • Keep the old value in the UI field if entity validation fails

    Hi,
    I have a requirement to retain the original value (old value), if the entity attribute validation fails when the filed value is changed. I have created one validation rule on the entity object and the validation rule is working as expected. But I would like to reset the value to the original value if the validation fails on the modified value.
    Thanks and Regards,
    S R Prasad

    Hello,
    Please tell us your first name, and change your forum handle to something more friendly than User123. It’s nicer and easier for us this way.
    It seems that the forum software messed up the example code you wanted to present. To avoid that you can use the forum tags &#91;code] and &#91;/code] at the beginning and end of your code.
    If I understand correctly, you are trying to retrieve the original field value from a fxx array, however these arrays are populated after page submit, so they don’t hold the initial values of the column.
    I think the simplest solution will be to use an ‘onfocus’ event that will save the initial value – this.value – in a global JavaScript variable. In your ‘onchange’ code, instead of clearing the field if validation failed just assigns the original value for the JavaScript variable.
    Regards,
    Arie.
    &diams; Please remember to mark appropriate posts as correct/helpful. For the long run, it will benefit us all.
    &diams; Forthcoming book about APEX: Oracle Application Express 3.2 – The Essentials and More

  • JbiValidator calls the setAttribute to the old value when validate fails

    I tried to implement a Custom Validator by extending a JboValidator Interface. I applied the validator to an attribute. I tested the the validation on a JSF page. When I input an invalid value on the attribute, the validator runs but the problem is the framework sets the value of the attribute to its old value by calling again the setter function (setAttribute()) which in turn calls the validator again.
    This is what I have observed. If this is what the framework really does, then how can I suppress the firing of the validator when it sets it back to the old value?
    regards,
    Anton

    Thanks to all for your responses. Regarding accessing of new value inside value change listener, I am sure ValueChangeEvent.getNewValue() is not going to give me the value with proper data type. I am not using immediate attribute anywhere but use custom domain data type with masking (i.e. Formatter Format). Also I use InputDate field. Always valueChangeEvent.getNewValue() gives me the string representation of the value but not with actual data type.
    Question:
    1. Is there any API, that gets the valueChangeEvent.getNewValue() and the UI components as parameters and return the data with proper data type?
    2. I need to get the newly value with proper data type inside valueChangeListener. Is it achievable? If so, how?
    Need your help.

  • LDAP: error code 20 - pwdfailuretime attribute has duplicate value

    Hi!
    I am working on Oracle Infra 9.0.2
    I am trying to update attribute of particular user, but it gives me error as follows
    05:39:46 PM: Failed to update entry cn=szuhaila, cn=test, ou=test, o=com, c=my
    Root error: LDAP: error code 20 - pwdfailuretime attribute has duplicate value. VALUE: 20080609004531z
    I am trying to update with Orcale Directory Manager, I have tried with an LDAp browser thru too. It gives me same error.
    Can some one guide me how to over some this issue?
    Thanks in advance.
    Edited by: user8705646 on Aug 20, 2009 12:13 AM

    did you search the LDAP server to see whether the email value you try to use already exist ?  typically LDAP server do not care whether email is duplicated or not, but by default OIM server do not allow duplicated email

Maybe you are looking for