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
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 thisOne 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. -
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,
RavichanderThis 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,
HCHi,
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 -
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 PMFor 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.
nullI 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, SKYou 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.
ThanksHello,
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 KamatIf 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?
iPhoto preferences - set the email client to Mail
LN
Maybe you are looking for
-
I want to install a second disc drive in my mac pro - which ones?
I have always had all-in-ones. I now have a mac pro, and I love it. I have many disc drives of varying sorts lying around my place, most from older windows towers, but one cd-rw drive from a round base imac. Since I could never do these types of expa
-
Its just not working?????
As far as I know everything is setup correctly, when I look on the imaging server I can view the Zenworks imaging server screen but it has no statistics, they are all zero. On a workstation object I click on the take an image of this workstation on n
-
Db tools open connection.vi does not get password from dsn file
I am
-
hi guys, i wanna do rich client which communicate with JSP page and send and receive data without refreshing the page. for this which i know is we have to use SOAP/JSP and javascript any help will be great. thanks in advance
-
Windows 7 driver for Tungsten E Palm Pilot
Does anyone know of a driver for a Tungsten E? or some other way to have windows 7 recognize the device for sync'ing