2022 Sep 29 8:45 PM
I have tried with address_type_1 and address_type_2 are not working to update vendor contact details, only telephone is getting updated.
Sample Code.
LOOP AT i_contact_det INTO l_wa_contact.
* Set Contact Person
REFRESH: l_it_vendor_contact[].
CLEAR l_wa_vendor_contact.
DATA: l_it_company TYPE vmds_ei_company_t,<br> l_it_vendor_contact TYPE vmds_ei_contacts_t,<br> l_it_vendors TYPE vmds_ei_extern_t,<br> l_it_contract TYPE vmds_ei_contacts_t,<br> l_it_bank_det TYPE cvis_ei_bankdetail_t,<br> lo_vmd_ei_api TYPE REF TO vmd_ei_api,<br> l_it_email TYPE cvis_ei_smtp_t,<br> l_it_phone TYPE cvis_ei_phone_t,<br> l_it_return TYPE bapiret2,<br> l_it_vendor_data TYPE vmds_ei_main,<br> *-----------------------------------------------------------------------*<br>* Declaration Work Area *<br>*-----------------------------------------------------------------------*<br>DATA: l_wa_contact TYPE /sbde03/m_contact_det,<br> l_wa_bank_det TYPE cvis_ei_cvi_bankdetail,<br> l_wa_remitt_adr TYPE /sbde03/m_remitt_adr,<br> l_wa_vendor_contact TYPE vmds_ei_contacts,<br> l_wa_address TYPE cvis_ei_address1,<br> l_wa_email TYPE cvis_ei_smtp_str,<br> l_wa_phone TYPE cvis_ei_phone_str,<br> l_wa_company TYPE vmds_ei_company,<br> l_wa_communication TYPE cvis_ei_cvi_communication,<br> l_wa_company_data TYPE vmds_ei_vmd_company,<br> l_wa_vendors TYPE vmds_ei_extern,<br> l_wa_contact_person TYPE cmds_ei_contacts,<br> l_wa_comm_contact TYPE cvis_ei_phone_str,<br> l_wa_comm_contact_smtp TYPE cvis_ei_smtp_str,<br> l_wa_vmds_ei_extern TYPE vmds_ei_extern,<br> l_wa_bank_addr TYPE bapi1011_address,<br> l_wa_bank_upd TYPE bapi1011_addressx,<br> l_wa_error TYPE cvis_message,
l_wa_vendors-header-object_instance-lifnr = l_wa_contact-lifnr.
l_wa_vendors-header-object_task = 'U'. "i_object_task.has context menu
Set the Address for Contact person
l_wa_vendor_contact-address_type_1-task = 'U'."i_object_task.
l_wa_vendor_contact-address_type_1-postal-data-city = l_wa_contact-city.
l_wa_vendor_contact-address_type_1-postal-data-street = l_wa_contact-street.
l_wa_vendor_contact-address_type_1-postal-data-country = l_wa_contact-country.
l_wa_vendor_contact-address_type_1-postal-data-postl_cod1 = l_wa_contact-post_code1.
l_wa_vendor_contact-address_type_1-postal-data-region = l_wa_contact-region.
l_wa_vendor_contact-address_type_1-postal-datax-city = abap_true.
l_wa_vendor_contact-address_type_1-postal-datax-street = abap_true.
l_wa_vendor_contact-address_type_1-postal-datax-country = abap_true.
l_wa_vendor_contact-address_type_1-postal-datax-postl_cod1 = abap_true.
l_wa_vendor_contact-address_type_1-postal-datax-region = abap_true.
"APPEND l_wa_vendor_contact TO l_it_vendor_contact.
l_wa_comm_contact_smtp-contact-task = i_object_task.
l_wa_comm_contact_smtp-contact-data-e_mail = l_wa_contact-email.
l_wa_comm_contact_smtp-contact-datax-e_mail = abap_true.
APPEND l_wa_comm_contact_smtp TO l_wa_vendor_contact-address_type_2-communication-smtp-smtp.
APPEND l_wa_comm_contact_smtp TO l_wa_vendor_contact-address_type_3-communication-smtp-smtp.
l_wa_comm_contact-contact-task = i_object_task.
l_wa_comm_contact-contact-data-telephone = l_wa_contact-telf1.
l_wa_comm_contact-contact-datax-telephone = abap_true.
APPEND l_wa_comm_contact TO l_wa_vendor_contact-address_type_2-communication-phone-phone.
APPEND l_wa_comm_contact TO l_wa_vendor_contact-address_type_3-communication-phone-phone.
APPEND l_wa_vendor_contact TO l_it_vendor_contact.
ENDLOOP.
* Set the Contact Person details for the Vendor
l_wa_vendors-central_data-contact-contacts = l_it_vendor_contact[].
APPEND l_wa_vendors TO l_it_vendors.
l_it_vendor_data-vendors = l_it_vendors[].
ENDIF.
CALL METHOD lo_vmd_ei_api->maintain_bapi
EXPORTING
is_master_data = l_it_vendor_data
iv_collect_messages = abap_true
IMPORTING
es_master_data_correct = lv_es_master_data_correct
es_message_correct = lv_es_message_correct
es_master_data_defective = lv_es_master_data_defective
es_message_defective = e_error.
IF lv_es_message_defective-is_error IS INITIAL AND
e_error-messages[] IS INITIAL.
COMMIT WORK AND WAIT.
ELSE.
ROLLBACK WORK.
ENDIF.
ENDIF.
LOOP AT i_contact_det INTO l_wa_contact.
* Set Contact Person
REFRESH: l_it_vendor_contact[].
CLEAR l_wa_vendor_contact.
l_wa_vendors-header-object_instance-lifnr = l_wa_contact-lifnr.
l_wa_vendors-header-object_task = 'U'. "i_object_task.
l_wa_vendor_contact-task = i_object_task.
has context menu
Set the Address for Contact person
l_wa_vendor_contact-address_type_1-task = 'U'."i_object_task.
l_wa_vendor_contact-address_type_1-postal-data-city = l_wa_contact-city.
l_wa_vendor_contact-address_type_1-postal-data-street = l_wa_contact-street.
l_wa_vendor_contact-address_type_1-postal-data-country = l_wa_contact-country.
l_wa_vendor_contact-address_type_1-postal-data-postl_cod1 = l_wa_contact-post_code1.
l_wa_vendor_contact-address_type_1-postal-data-region = l_wa_contact-region.
l_wa_vendor_contact-address_type_1-postal-datax-city = abap_true.
l_wa_vendor_contact-address_type_1-postal-datax-street = abap_true.
l_wa_vendor_contact-address_type_1-postal-datax-country = abap_true.
l_wa_vendor_contact-address_type_1-postal-datax-postl_cod1 = abap_true.
l_wa_vendor_contact-address_type_1-postal-datax-region = abap_true.
"APPEND l_wa_vendor_contact TO l_it_vendor_contact.
l_wa_comm_contact_smtp-contact-task = i_object_task.
l_wa_comm_contact_smtp-contact-data-e_mail = l_wa_contact-email.
l_wa_comm_contact_smtp-contact-datax-e_mail = abap_true.
APPEND l_wa_comm_contact_smtp TO l_wa_vendor_contact-address_type_2-communication-smtp-smtp.
APPEND l_wa_comm_contact_smtp TO l_wa_vendor_contact-address_type_3-communication-smtp-smtp.
l_wa_comm_contact-contact-task = i_object_task.
l_wa_comm_contact-contact-data-telephone = l_wa_contact-telf1.
l_wa_comm_contact-contact-datax-telephone = abap_true.
APPEND l_wa_comm_contact TO l_wa_vendor_contact-address_type_2-communication-phone-phone.
APPEND l_wa_comm_contact TO l_wa_vendor_contact-address_type_3-communication-phone-phone.
APPEND l_wa_vendor_contact TO l_it_vendor_contact.
ENDLOOP.
* Set the Contact Person details for the Vendor
l_wa_vendors-central_data-contact-contacts = l_it_vendor_contact[].
APPEND l_wa_vendors TO l_it_vendors.
l_it_vendor_data-vendors = l_it_vendors[].
ENDIF.
CALL METHOD lo_vmd_ei_api->maintain_bapi
EXPORTING
is_master_data = l_it_vendor_data
iv_collect_messages = abap_true
IMPORTING
es_master_data_correct = lv_es_master_data_correct
es_message_correct = lv_es_message_correct
es_master_data_defective = lv_es_master_data_defective
es_message_defective = e_error.
IF lv_es_message_defective-is_error IS INITIAL AND
e_error-messages[] IS INITIAL.
COMMIT WORK AND WAIT.
ELSE.
ROLLBACK WORK.
ENDIF.
ENDIF.
I have tried with address_type_1 and address_type_2 are not working to update vendor contact details, only telephone is getting updated.
Sample Code.
LOOP AT i_contact_det INTO l_wa_contact.
* Set Contact Person
REFRESH: l_it_vendor_contact[].
CLEAR l_wa_vendor_contact.
DATA: l_it_company TYPE vmds_ei_company_t,<br> l_it_vendor_contact TYPE vmds_ei_contacts_t,<br> l_it_vendors TYPE vmds_ei_extern_t,<br> l_it_contract TYPE vmds_ei_contacts_t,<br> l_it_bank_det TYPE cvis_ei_bankdetail_t,<br> lo_vmd_ei_api TYPE REF TO vmd_ei_api,<br> l_it_email TYPE cvis_ei_smtp_t,<br> l_it_phone TYPE cvis_ei_phone_t,<br> l_it_return TYPE bapiret2,<br> l_it_vendor_data TYPE vmds_ei_main,<br> *-----------------------------------------------------------------------*<br>* Declaration Work Area *<br>*-----------------------------------------------------------------------*<br>DATA: l_wa_contact TYPE /sbde03/m_contact_det,<br> l_wa_bank_det TYPE cvis_ei_cvi_bankdetail,<br> l_wa_remitt_adr TYPE /sbde03/m_remitt_adr,<br> l_wa_vendor_contact TYPE vmds_ei_contacts,<br> l_wa_address TYPE cvis_ei_address1,<br> l_wa_email TYPE cvis_ei_smtp_str,<br> l_wa_phone TYPE cvis_ei_phone_str,<br> l_wa_company TYPE vmds_ei_company,<br> l_wa_communication TYPE cvis_ei_cvi_communication,<br> l_wa_company_data TYPE vmds_ei_vmd_company,<br> l_wa_vendors TYPE vmds_ei_extern,<br> l_wa_contact_person TYPE cmds_ei_contacts,<br> l_wa_comm_contact TYPE cvis_ei_phone_str,<br> l_wa_comm_contact_smtp TYPE cvis_ei_smtp_str,<br> l_wa_vmds_ei_extern TYPE vmds_ei_extern,<br> l_wa_bank_addr TYPE bapi1011_address,<br> l_wa_bank_upd TYPE bapi1011_addressx,<br> l_wa_error TYPE cvis_message,
l_wa_vendors-header-object_instance-lifnr = l_wa_contact-lifnr.
l_wa_vendors-header-object_task = 'U'. "i_object_task.has context menu
Set the Address for Contact person
l_wa_vendor_contact-address_type_1-task = 'U'."i_object_task.
l_wa_vendor_contact-address_type_1-postal-data-city = l_wa_contact-city.
l_wa_vendor_contact-address_type_1-postal-data-street = l_wa_contact-street.
l_wa_vendor_contact-address_type_1-postal-data-country = l_wa_contact-country.
l_wa_vendor_contact-address_type_1-postal-data-postl_cod1 = l_wa_contact-post_code1.
l_wa_vendor_contact-address_type_1-postal-data-region = l_wa_contact-region.
l_wa_vendor_contact-address_type_1-postal-datax-city = abap_true.
l_wa_vendor_contact-address_type_1-postal-datax-street = abap_true.
l_wa_vendor_contact-address_type_1-postal-datax-country = abap_true.
l_wa_vendor_contact-address_type_1-postal-datax-postl_cod1 = abap_true.
l_wa_vendor_contact-address_type_1-postal-datax-region = abap_true.
"APPEND l_wa_vendor_contact TO l_it_vendor_contact.
l_wa_comm_contact_smtp-contact-task = i_object_task.
l_wa_comm_contact_smtp-contact-data-e_mail = l_wa_contact-email.
l_wa_comm_contact_smtp-contact-datax-e_mail = abap_true.
APPEND l_wa_comm_contact_smtp TO l_wa_vendor_contact-address_type_2-communication-smtp-smtp.
APPEND l_wa_comm_contact_smtp TO l_wa_vendor_contact-address_type_3-communication-smtp-smtp.
l_wa_comm_contact-contact-task = i_object_task.
l_wa_comm_contact-contact-data-telephone = l_wa_contact-telf1.
l_wa_comm_contact-contact-datax-telephone = abap_true.
APPEND l_wa_comm_contact TO l_wa_vendor_contact-address_type_2-communication-phone-phone.
APPEND l_wa_comm_contact TO l_wa_vendor_contact-address_type_3-communication-phone-phone.
APPEND l_wa_vendor_contact TO l_it_vendor_contact.
ENDLOOP.
* Set the Contact Person details for the Vendor
l_wa_vendors-central_data-contact-contacts = l_it_vendor_contact[].
APPEND l_wa_vendors TO l_it_vendors.
l_it_vendor_data-vendors = l_it_vendors[].
ENDIF.
CALL METHOD lo_vmd_ei_api->maintain_bapi
EXPORTING
is_master_data = l_it_vendor_data
iv_collect_messages = abap_true
IMPORTING
es_master_data_correct = lv_es_master_data_correct
es_message_correct = lv_es_message_correct
es_master_data_defective = lv_es_master_data_defective
es_message_defective = e_error.
IF lv_es_message_defective-is_error IS INITIAL AND
e_error-messages[] IS INITIAL.
COMMIT WORK AND WAIT.
ELSE.
ROLLBACK WORK.
ENDIF.
ENDIF.
LOOP AT i_contact_det INTO l_wa_contact.
* Set Contact Person
REFRESH: l_it_vendor_contact[].
CLEAR l_wa_vendor_contact.
l_wa_vendors-header-object_instance-lifnr = l_wa_contact-lifnr.
l_wa_vendors-header-object_task = 'U'. "i_object_task.
l_wa_vendor_contact-task = i_object_task.
has context menu
Set the Address for Contact person
l_wa_vendor_contact-address_type_1-task = 'U'."i_object_task.
l_wa_vendor_contact-address_type_1-postal-data-city = l_wa_contact-city.
l_wa_vendor_contact-address_type_1-postal-data-street = l_wa_contact-street.
l_wa_vendor_contact-address_type_1-postal-data-country = l_wa_contact-country.
l_wa_vendor_contact-address_type_1-postal-data-postl_cod1 = l_wa_contact-post_code1.
l_wa_vendor_contact-address_type_1-postal-data-region = l_wa_contact-region.
l_wa_vendor_contact-address_type_1-postal-datax-city = abap_true.
l_wa_vendor_contact-address_type_1-postal-datax-street = abap_true.
l_wa_vendor_contact-address_type_1-postal-datax-country = abap_true.
l_wa_vendor_contact-address_type_1-postal-datax-postl_cod1 = abap_true.
l_wa_vendor_contact-address_type_1-postal-datax-region = abap_true.
"APPEND l_wa_vendor_contact TO l_it_vendor_contact.
l_wa_comm_contact_smtp-contact-task = i_object_task.
l_wa_comm_contact_smtp-contact-data-e_mail = l_wa_contact-email.
l_wa_comm_contact_smtp-contact-datax-e_mail = abap_true.
APPEND l_wa_comm_contact_smtp TO l_wa_vendor_contact-address_type_2-communication-smtp-smtp.
APPEND l_wa_comm_contact_smtp TO l_wa_vendor_contact-address_type_3-communication-smtp-smtp.
l_wa_comm_contact-contact-task = i_object_task.
l_wa_comm_contact-contact-data-telephone = l_wa_contact-telf1.
l_wa_comm_contact-contact-datax-telephone = abap_true.
APPEND l_wa_comm_contact TO l_wa_vendor_contact-address_type_2-communication-phone-phone.
APPEND l_wa_comm_contact TO l_wa_vendor_contact-address_type_3-communication-phone-phone.
APPEND l_wa_vendor_contact TO l_it_vendor_contact.
ENDLOOP.
* Set the Contact Person details for the Vendor
l_wa_vendors-central_data-contact-contacts = l_it_vendor_contact[].
APPEND l_wa_vendors TO l_it_vendors.
l_it_vendor_data-vendors = l_it_vendors[].
ENDIF.
CALL METHOD lo_vmd_ei_api->maintain_bapi
EXPORTING
is_master_data = l_it_vendor_data
iv_collect_messages = abap_true
IMPORTING
es_master_data_correct = lv_es_master_data_correct
es_message_correct = lv_es_message_correct
es_master_data_defective = lv_es_master_data_defective
es_message_defective = e_error.
IF lv_es_message_defective-is_error IS INITIAL AND
e_error-messages[] IS INITIAL.
COMMIT WORK AND WAIT.
ELSE.
ROLLBACK WORK.
ENDIF.
ENDIF.
2022 Sep 29 8:45 PM
Thank you for visiting SAP Community to get answers to your questions. Since you're asking a question here for the first time, I recommend that you familiarize yourself with: https://community.sap.com/resources/questions-and-answers, as it provides tips for preparing questions that draw responses from our members.
For example, you can:
- outline what steps you took to find answers (and why they weren't helpful)
- share screenshots of what you've seen/done
- make sure you've applied the appropriate tags
- use a more descriptive subject line
The more details you provide, the more likely it is that members will be able to respond. Feel free to also take our Q&A tutorial at: https://developers.sap.com/tutorials/community-qa.html
Should you wish, you can revise your question by selecting Actions, then Edit.
By adding a picture to your profile you encourage readers to respond: https://developers.sap.com/tutorials/community-profile.html
| User | Count |
|---|---|
| 4 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |