Update the proxyaddresses attribute via rsldapsync_user

Dear Gurus,
i configured a ldap-scenario and tested it by reading different attributes from the directory and updating the user information.
It worked well!
Now i want to write the proxyaddresses-attribute into the directory. i configured an exporting mapping from the e-mail address of the sap-user to the mentioned dir.-attr.. In this mapping i call a function module. For simple testing i call an ldap-module to read the actual values of the directory-attribute and write them back to the directory:
  Read table attributes with Key var = 'USERNAME' fld = 'BAPIBNAME' assigning <hybral>.
  READ TABLE <hybral>-vals index 1 ASSIGNING <vals>.
  CONCATENATE '(&(objectclass=user)(samaccountname=' <vals>-val '))' into filter.
  CALL FUNCTION 'LDAP_READ'
     EXPORTING
*   BASE                = ''
     base_string         = 'ou=test-ou,dc=test-domain1,dc=test-domain2'
     scope               = 2
     filter              = filter
*   FILTER_STRING       =
*   TIMEOUT             =
     attributes          = it_attr
     IMPORTING
       ldaprc              = ldaprc
       entries             = ldapetab
     EXCEPTIONS
       no_authoriz         = 1
       conn_outdate        = 2
       ldap_failure        = 3
       not_alive           = 4
       other_error         = 5
       OTHERS              = 6
  READ TABLE ldapetab INDEX 1 ASSIGNING <ldape>.
  READ TABLE <ldape>-attributes WITH KEY name = 'PROXYADDRESSES' INTO ls_attribute_ldap.
  ls_attribute_ldap-typ = 'C'.
  INSERT ls_attribute_ldap INTO TABLE attributes_ldap.
at the end of the module i export the values into attributes_ldap. When i debug the folowing steps, the values are cummincated throughout the ldap-function-modules that are used by rsldapsync_user. The ldap_modify module exports a returncode 53.
Now i want to know if it is possible to update the proxyaddresses-attribute in this manner. Are there any mistakes in my thinking or in the posted function-module. Does anyone of you have some experience updating multiple line entries in Active Directory via SAP-LDAP?
Thanks in advance

Now i wrote a function module which reads an attribute and tries to write it back to the active directory.
*"*"Lokale Schnittstelle:
*"  IMPORTING
*"     REFERENCE(IP_UNAME) TYPE  XUBNAME
*"  EXPORTING
*"     VALUE(EP_MAIL) TYPE  STRINGVAL
  DATA: wa_attr TYPE ldapas,
        it_attr TYPE ldapastab,
        ldapetab TYPE ldapetab,
        ldaprc TYPE ldapdefs-ldrc,
        filter TYPE ldap_filt.
  FIELD-SYMBOLS:
        <ldape>   TYPE ldape.
  wa_attr-typ = 'C'.
  wa_attr-name = 'SAMACCOUNTNAME'.
  APPEND wa_attr TO it_attr.
  wa_attr-name = 'PROXYADDRESSES'.
  APPEND wa_attr TO it_attr.
  CONCATENATE '(&(objectclass=user)(samaccountname=' ip_uname '))' INTO filter.
  CALL FUNCTION 'LDAP_SYSTEMBIND'
   EXPORTING
     serverid            = 'WSWACTIVEDIR'
   writeread           = 'W'
*   WAIT_TIME           = 0
   IMPORTING
     ldaprc              = ldaprc
*   BASEDN              =
*   BASEDN_STRING       =
* CHANGING
*   HOLDSESS            = 0
* EXCEPTIONS
*   NO_AUTHORIZ         = 1
*   CONFIG_ERROR        = 2
*   NOMORE_CONNS        = 3
*   LDAP_FAILURE        = 4
*   NOT_ALIVE           = 5
*   OTHER_ERROR         = 6
*   OTHERS              = 7
  IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
  CALL FUNCTION 'LDAP_READ'
   EXPORTING
*   BASE                = ''
   base_string         = 'ou=wsw-benutzer,dc=stadtwerke,dc=loc'
   scope               = 2
   filter              = filter
*   FILTER_STRING       =
*   TIMEOUT             =
   attributes          = it_attr
   IMPORTING
     ldaprc              = ldaprc
     entries             = ldapetab
   EXCEPTIONS
     no_authoriz         = 1
     conn_outdate        = 2
     ldap_failure        = 3
     not_alive           = 4
     other_error         = 5
     OTHERS              = 6
  IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
  READ TABLE ldapetab INDEX 1 ASSIGNING <ldape>.
  CALL FUNCTION 'LDAP_UPDATE'
    EXPORTING
      entry              = <ldape>
   IMPORTING
     ldaprc             = ldaprc
* EXCEPTIONS
*   NO_AUTHORIZ        = 1
*   CONN_OUTDATE       = 2
*   PARAM_ERROR        = 3
*   LDAP_FAILURE       = 4
*   HEXVAL_ERROR       = 5
*   NOT_ALIVE          = 6
*   OTHER_ERROR        = 7
*   OTHERS             = 8
  IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
After LDAP_READ the ldaprc = 0.
After LDAP_READ ldaprc is 53.
So i can exclude a wrong mapping in transaction ldap.
Edited by: Jan Martin Müller on Jun 9, 2010 3:17 PM

Similar Messages

  • I have recently updated the new apps via creative cloud now photoshop and bridge no longer work, they open then say they have encountered a problem and close, I also tried opening the old version of photo shop but getting the same result

    I have recently updated the new apps via creative cloud now photoshop and bridge no longer work, they open then say they have encountered a problem and close, I also tried opening the old version of photo shop but getting the same result

    What OS version? What's the exact error? Exactly when does the error occur? What previous versions? What is on the screen when the error displays? Does Photoshop get fully open?
    Try opening Photoshop holding down Shift key immediately to turn off plug-ins. Lots of good suggestions here: Photoshop: Basic Troubleshooting steps to fix most issues

  • Can we update the Category attribute values of a file

    Can we update the Category attibute values of a file with out checkout the file?
    I have set the version configuration to folder and try to update the category attribute values of a file under that folder,
    It is asking to checkout the file before modifying the category attibute values.
    Is it required to checkout the file before modifying the category attribute values of that file?
    Is there any way to update the category attribute values without checkout the file?
    Please help on this

    One of the ways i can think of is using Batch Loader script for large number of files. Mention such files in Batch Loader script, and it will update category and all meta-data required in terms of next revision.
    In case number of files are less manual checkout and check-in will help.

  • Our Client gave a requirement to mass update the additional attributes in Install base for instances in Release 11i.

    Hi,
    Our Client gave a requirement to mass update the additional attributes in Install base for instances in Release 11i.
    So I tried the below code to update:
    But getting the error:
    The Object Version Number passed does not match with the one existing in Installed Base tables.
    Can any one please help how to fix it.
    Code:
    declare
    x_instance_rec CSI_DATASTRUCTURES_PUB.INSTANCE_REC;
    p_ext_attrib_values CSI_DATASTRUCTURES_PUB.EXTEND_ATTRIB_VALUES_TBL;
    p_party_tbl CSI_DATASTRUCTURES_PUB.PARTY_TBL;
    p_account_tbl CSI_DATASTRUCTURES_PUB.PARTY_ACCOUNT_TBL;
    p_pricing_attrib_tbl CSI_DATASTRUCTURES_PUB.PRICING_ATTRIBS_TBL;
    p_org_assignments_tbl CSI_DATASTRUCTURES_PUB.ORGANIZATION_UNITS_TBL;
    p_asset_assignment_tbl CSI_DATASTRUCTURES_PUB.INSTANCE_ASSET_TBL;
    p_txn_rec CSI_DATASTRUCTURES_PUB.TRANSACTION_REC;
    x_instance_id_lst CSI_DATASTRUCTURES_PUB.ID_TBL;
    x_return_status VARCHAR2(2000);
    x_msg_count NUMBER;
    x_msg_data VARCHAR2(2000);
    x_msg_index_out NUMBER;
    t_output VARCHAR2(2000);
    t_msg_dummy NUMBER;
    p_validation_level NUMBER;
    p_commit VARCHAR2 (5);
    p_init_msg_lst VARCHAR2 (500);
    cursor stg_tab_cur is select instance_id,Safety_line_type from gewind_ib_iea_values;
    TYPE stg_tab IS TABLE OF gewind_ib_iea_values%ROWTYPE INDEX BY BINARY_INTEGER;
      stg_tab_var stg_tab;
      stg_tab_bin_int BINARY_INTEGER;
    BEGIN
    x_instance_rec.instance_id := FND_API.G_MISS_NUM;
    x_instance_rec.object_version_number := FND_API.G_MISS_NUM;
    p_txn_rec.transaction_id := FND_API.G_MISS_NUM;
    p_txn_rec.transaction_date := SYSDATE;
    p_txn_rec.source_transaction_date := SYSDATE;
    p_txn_rec.transaction_type_id := 1;
    stg_tab_bin_int :=0;
    For gewind_ib_iea_values in stg_tab_cur LOOP
    stg_tab_bin_int := stg_tab_bin_int + 1;
    P_ext_attrib_values(stg_tab_bin_int).instance_id :=gewind_ib_iea_values.instance_id;
    P_ext_attrib_values(stg_tab_bin_int).attribute_id := 10023;
    P_ext_attrib_values(stg_tab_bin_int).attribute_value := gewind_ib_iea_values.Safety_line_type;
    dbms_output.put_line(P_ext_attrib_values(stg_tab_bin_int).instance_id);
    dbms_output.put_line(P_ext_attrib_values(stg_tab_bin_int).attribute_value);
    csi_item_instance_pub.update_item_instance(
    1.0,
    p_commit,
    p_init_msg_lst,
    1,
    x_instance_rec,
    p_ext_attrib_values,
    p_party_tbl,
    p_account_tbl,
    p_pricing_attrib_tbl,
    p_org_assignments_tbl,
    p_asset_assignment_tbl,
    p_txn_rec, x_instance_id_lst,
    x_return_status,
    x_msg_count,
    x_msg_data);
    commit;
    -- Output the results
    if x_msg_count > 0 then
    for j in 1 .. x_msg_count
    loop
    fnd_msg_pub.get ( j , FND_API.G_FALSE , x_msg_data , t_msg_dummy );
    t_output := ( 'Msg' || To_Char ( j ) || ': ' || x_msg_data );
    dbms_output.put_line ( SubStr ( t_output , 1 , 255 ) );
    end loop;
    end if;
    dbms_output.put_line('x_return_status = '||x_return_status);
    dbms_output.put_line('x_msg_count = '||TO_CHAR(x_msg_count));
    dbms_output.put_line('x_msg_data = '||x_msg_data);
    COMMIT;
    end loop;
    END;
    Regards,
    Ravichander

    This question is Assumed Answered -- It would be great if you could share the solution with us.
    Thanks,
    Hussein

  • Updating the CRM profile via Webpage.

    Hi All,
    Any help?
    I have a Member profile update page. My client asked me if after updating their member profile it needs to have a Member Update Notification through their email addresses.
    I have tested updating a member profile, it successfully updated the profile but I haven't receive any notifications through my email that I have updated it.
    The action for the member profile update is just  "/MemberProcess.aspx".
    <form id="crm-update" name="catupdatedetailsformform85124" method="post" enctype="multipart/form-data" onSubmit="return checkWholeForm85124(this);" action="/MemberProcess.aspx">
    Is there any way I can achieve this to notify a member once he/she updated the member profile through their email address ?
    Thanks,

    Hello,
    Maybe you could modify the webform confirmation page (&PageID=/Results.htm) to a custom one where you have another form that autosubmits and sends an e-mail out
    (http://forums.adobe.com/docs/DOC-2363, the part covering "Setting up a form to email using Web Forms")
    Kind Regards,
    Alex

  • Update the DFF attribute in advanced table not working

    Hi,
    We used a custom value set and enabled the DFF in requisition edit lines page advanced table. We made attribute1 in the DFF as the work order number. When the user enters the work order number, then in PFR, we calculated the project# and task# and populated the fields in that row. When the user changes the task#, then we need to make the work order number null. Below is the logic we followed.
    We get the row reference and get the row.
    row.setAttribute("Attribute1", null);
    When we did the write diagnostics, it is displaying the attribute1 as null, but on the page it is displaying the value that is already existing.
    2nd approach we followed is:
    Get the handle to the flex using findChildRecursive.
    Get the lovInputBean handle from the flex using findChildRecursive
    setText(null);
    But this 2nd approach is making all the work order numbers in all rows to null.
    Can you please let me know how to set the DFF enabled attribute value in advanced table?
    Thanks,
    HC

    Hi,
    Can you try by casting row with PoRequisitionLinesVORowImpl.
    Something like below
    PoRequisitionLinesVOImpl xxReqLineVO = am.getPoRequisitionLinesVO();
    PoRequisitionLinesVORowImpl xxReqLineRow = null;
                for(xxReqLineRow = (PoRequisitionLinesVORowImpl)xxReqLineVO.first(); xxReqLineRow != null; xxReqLineRow = (PoRequisitionLinesVORowImpl)xxReqLineVO.next())
                    try
                        String xxdelToLocId = xxReqLineRow.getDeliverToLocationId().toString());
                        if(<your condition   >)
                            xxReqLineRow.setAttribute1("");
                        else
                            xxReqLineRow.setAttribute1("xx_YOUR_VALUE");
                    catch(Exception e)
                        throw OAException.wrapperException(e);
                xxReqLineVO.reset();
            }Thanks,
    Jit

  • The firefox page constantly says "Connecting" and will not load any websites. I've also updated the firefox software via internet explorer with the same reslults can you help?

    Internet explorer works perfectly and firefox will not load any websites

    Start Firefox in <u>[[Safe Mode]]</u> to check if one of the extensions is causing the problem (switch to the DEFAULT theme: Firefox (Tools) > Add-ons > Appearance/Themes).
    * Don't make any changes on the Safe mode start window.
    * https://support.mozilla.com/kb/Safe+Mode
    If it does work in Safe-mode then disable all extensions and then try to find which is causing it by enabling one at a time until the problem reappears.
    * Use "Disable all add-ons" on the [[Safe mode]] start window to disable all extensions.
    * Close and restart Firefox after each change via "File > Exit" (Mac: "Firefox > Quit"; Linux: "File > Quit")
    In Firefox 4 you can use one of these to start in <u>[[Safe mode]]</u>:
    * Help > Restart with Add-ons Disabled
    * Hold down the Shift key while double clicking the Firefox desktop shortcut (Windows)
    * https://support.mozilla.com/kb/Troubleshooting+extensions+and+themes

  • Update "rendered" attribute via ajax

    Is there a workaround to update the "rendered" attribute of a commandLink via AJAX? I'm getting an error 'malformedXML: During update: j_idt12:prevCmd not found'.
    code snippet:
    <h:commandLink action="#{controller.previous}"
                                       value="Previous"
                                       rendered="#{controller.hasPreviousPage}"
                                       id="prevCmd">
         <f:ajax render="table prevCmd nextCmd" immediate="true"/>
    </h:commandLink>
    <h:commandLink action="#{controller.next}"
                                       value="Next"
                                       rendered="#{controller.hasNextPage}"
                                       id="nextCmd">
         <f:ajax render="table prevCmd nextCmd" immediate="true"/>
    </h:commandLink>

    Try adding the form name to the components names:
    <f:ajax render="form1:table form1:prevCmd form1:nextCmd" immediate="true"/>

  • CRM function module to update the attribute in the classification TAB of BP

    Hi All,
    Can any body let me know if there is any functionmodule to update the CRM function module to update the attribute in the classification TAB of BP tcode.
    I have searched a lot i get FM to update the marketing attribute and not the attributes in the classification tab.
    Thanks in Advance
    Edited by: Sharath Kumar on Dec 2, 2010 4:48 PM

    For material bom: CSAP_MAT_BOM_CREATE
    and CSAP_ORD_BOM_CREATE for Order BOM.
    Regards,
    Ravi

  • Updating Document Attributes via XML

    I found an article in Metalink which gives the following example:
    <?xml version = '1.0' standalone = 'yes'?>
    <CustomDoc>
    <UPDATE reftype="path">/public/MyiFS/MyDoc.myextension</UPDATE>
    <MyCustomAttribute>NewValue</MyCustomAttribute>
    </CustomDoc>
    This updates the custom attribute "MyCustomAttribute" for document
    "MyDoc.myextension" stored in the "/public/MyiFS" folder, which is an
    instance of the subclassed document type with the registered
    extension of "myextension".
    Source Article: http://metalink.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=125517.1
    Has anyone gotten this to work? If so could you give a real example? I don't believe we created a custom document type, but we have added some custom attributes which show up for every document we put in iFS.
    null

    I found an article in Metalink which gives the following example:
    <?xml version = '1.0' standalone = 'yes'?>
    <CustomDoc>
    <UPDATE reftype="path">/public/MyiFS/MyDoc.myextension</UPDATE>
    <MyCustomAttribute>NewValue</MyCustomAttribute>
    </CustomDoc>
    This updates the custom attribute "MyCustomAttribute" for document
    "MyDoc.myextension" stored in the "/public/MyiFS" folder, which is an
    instance of the subclassed document type with the registered
    extension of "myextension".
    Source Article: http://metalink.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=125517.1
    Has anyone gotten this to work? If so could you give a real example? I don't believe we created a custom document type, but we have added some custom attributes which show up for every document we put in iFS.
    null

  • Updating AD Attributes via OIM user forms

    Hi,
    I have configured an AD connector. Firstly, I did a trusted recon to create the OIM. Next, I did a user recon to link the AD user to the OIM user. After that I have configured to pre-populate to show the AD attributes onto the OIM user form.
    Now, what I want to do is to update the AD attributes (eg. Mobile) in the OIM web interface, and has it reflect back to AD.
    Appreciate a detail description as I am very new to OIM.
    Cheers, SK

    You may want to try this:
    a. Add an entry in Lookup.USR_PROCESS_TRIGGERS
    b. Add a Process Form field and a Process task in each Process where you want to push the value.
    The task should have a name "<UDF label> Updated"
    c. Create another one called "Change <UDF label>"
    d. Make the tasks conditional, "allow multiple instances"
    e. Wire the "Change <UDF label>" to copy values from the user profile to the process form
    f. Wire the "<UDF Label> Updated" to the connector adapter.
    --Deepak                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Updating the priority of a process instance in BPMsuite 11g

    Hi all,
    Is it possible to update the priority attribute of a process instance in BPMsuite 11g via the Java-API? As far as i understand, this is true on a task level but not possible on an instance level.
    Thanks

    Hello,
    If your server only accepts one connection at a time then as more requests are made on your jpd process EJBs will be assigned from the free pool to handle the requests and the requests would be implicitly queued. If the EJBs cannot get a connection to the server they will timeout after the transaction timeout interval (or the timeout interval on socket) if they fail to get a connection in that time. You can easily test this by running a few load tests and reducing the transaction or socket timeout.
    If you did hack the DD and set the max beans in pool to one (which is not such a bad idea and worth an experiment but you will have to recompile the bean)I suspect you would get very similar behaviour i.e. the requests would be queued until the EJB instance became free, these requests would also timeout after the transaction timeout if the bean did not become free in time. This would be a little more efficient on resource usage but I don't think there will be any issues with leaving your implemenation as it is.
    Cheers,
    Hoos
    Message was edited by hoos at Feb 17, 2005 4:24 AM

  • Issue in concurrent update of the same attribute

    Hi All,
    We have a requirement to populate an attribute on user profile from target resource process form during reconciliation. This attribute can hold the multiple values separated by '|' (pipe). A user can have multiple account on this target resource. Now we are facing the issue where if the user's multiple account is updated and during reconciliation when they are trying to update the user form (concurrently...almost at the same time..) via different recon events (and hence process task on recon update received), only last update came into effect. Lets say if two recon event R1 and R2 created for a user and trying to copy the value ATTRVAL1 and ATTRVAL2 on user profile attribute attr1. In ideal scenerio the value of attr1 should be ATTRVAL1|ATTRVAL2, but in our case the value we received is either ATTRVAL1 or ATTRVAL2 (depending on the last update). The process task to update the value on user profile is successfully completed. It seems till the time last one capture the value, it stale the first update usr_rowver field that used in profile update.
    Please let me know if you ever face this issue and how to deal with this. There is no caching enabled in OIM (under config file)

    Hi,
    Can you just tell me which type of Recon you are using is it GTC or any other recon?
    What is target resource from which recon is happening?
    Just check the metadata.xml whehter it gives you option to make attribute as multivalued or not. IF it is there then you just define your attribute as multivalued and proceed..
    Regards
    Alabhya Goel

  • Updating value of for taxonomy attributes via ABAP API

    Hi ,
    We have table Product hierarchy repository in that we have Products table and ProductHierarchy table which is of type taxonomy .
    The product hierarchy is assigned to each product as lookup taxonomy field.
    Can anyone please let me know how we can update the values assgined to the attribute throght ABAP API.
    Example we have the attribute called color which assigned to Product Hierarchy 'A' and this product hierarchy 'A' is attached to Material '111' and the attribute color will have value 'Blue' for material '111' now I want to update the value of color to 'Red' . How we can achieve this via the MDM ABAP API.
    Regards,
    Amar Kamat

    If your question is how to change the value of an attribute for a specific product this is the solution:
    Use IF_MDM_CORE_SERVICES->RETRIEVE( ) to retrieve the product record so that you have a populated structure of type MDM_PARAMETER. In this structure you will find the entry relating to the taxonomy field. The VALUE attribute of this line entry will be a reference to type MDM_TAXONOMY_ENTRY.
    At this point you will want to take the TAXONOMY_ENTRY_ID and TAXONOMY_TABLE_CODE of this structure to retrieve the attributes. Using IF_MDM_CORE_SERVICE->RETRIEVE_ATTRIBUTES( ) and the attributes mentioned before you will get the results into a table of line type MDM_ATTRIBUTE_INFORMATION_SL.
    Select the appropriate line from the result table based on the attribute name (ATTR_NAME). In the record of type MDM_ATTRIBUTE_INFORMATION_SL you will now want to select the appropriate line from the table found in field ATTR_FEATURE_DOMAIN. Find the appropriate attribute (in this case color) by VALUE_NAME and copy the VALUE_ID (type MDM_UNIQUE_ID).
    Now back to where we left off in the original record (MDM_PARAMETER), loop through the table found at field TAXONOMY_ATTRIBUTES of the MDM_TAXONOMY_ENTRY looking in ATTR_INFO for the correct ATTR_NAME. When the correct entry is found, update the ATTR_FEATURE_DOMAIN with the new VALUE_ID and viola, you've got a mdm record ready to be updated.
    Simply call IF_MDM_CORE_SERVICE-UPDATE( ) with the modified record and you've updated your attribute assignment.
    In short:
    Navigate to the MDM_TAXONOMY_ENTRY of the product record
    Retrieve the attributes from the corresponding taxonomy table and navigate to the unique ID of the desired attribute
    Navigate to the attribute within the record's MDM_TAXONOMY_ENTRY and update the VALUE_ID with the new unique ID
    Update the product record
    Regards,
    Brian Dennett

  • Since installing the last iPhoto update sharing a photo via e-mail opens a google e-mail format instead of an Apple Mail format.  How can I get the Apple Mail format to come up when I click on share?

    Since installing the last iPhoto update sharing a photo via e-mail opens a google e-mail format instead of an Apple Mail format.  How can I get the Apple Mail format to come up when I click on share?

    iPhoto preferences - set the email client to Mail
    LN

Maybe you are looking for