stimmt. ist es nicht. um so besser. ;)
Code: Alles auswählen.
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*" IMPORTING
*" VALUE(IS_NEW_DEBITOR_DATA) TYPE ZSD_GEHEIM
*" EXPORTING
*" VALUE(EV_OK) TYPE XFELD
*" TABLES
*" ET_RETURN TYPE BAPIRET2_T
*"----------------------------------------------------------------------
DATA: ls_data TYPE cmds_ei_main,
ls_customer LIKE LINE OF ls_data-customers,
ls_error TYPE cvis_message,
ls_contact_phone TYPE cvis_ei_phone,
ls_contact_smtp TYPE cvis_ei_smtp.
CLEAR: ev_ok,
et_return.
ls_customer-header-object_instance-kunnr = is_new_debitor_data-kunnr.
ls_customer-header-object_task = 'M'. " Ändern
*--------------------------------------------------------------------*
* Addressdaten Name1-Name3
*--------------------------------------------------------------------*
ls_customer-central_data-address-task = 'U'.
ls_customer-central_data-address-postal-data = VALUE #( name = is_new_debitor_data-name1
name_2 = is_new_debitor_data-name2
name_3 = is_new_debitor_data-name3
).
ls_customer-central_data-address-postal-datax = VALUE #( name = 'X'
name_2 = 'X'
name_3 = 'X'
).
*--------------------------------------------------------------------*
* Telefonnummer + Extension
*--------------------------------------------------------------------*
ls_customer-central_data-address-communication-phone-current_state = 'X' . " Vollständig ( nur 1 )
ls_contact_phone-task = 'M'.
ls_contact_phone-data = VALUE #( telephone = is_new_debitor_data-tel_number
extension = is_new_debitor_data-tel_extens ).
ls_contact_phone-datax = VALUE #( telephone = 'X'
extension = 'X' ).
APPEND VALUE #( contact = ls_contact_phone ) TO ls_customer-central_data-address-communication-phone-phone.
*--------------------------------------------------------------------*
* E-mail
*--------------------------------------------------------------------*
ls_customer-central_data-address-communication-smtp-current_state = 'X' . " Vollständig ( nur 1 )
ls_contact_smtp-task = 'M'.
ls_contact_smtp-data = VALUE #( e_mail = is_new_debitor_data-smtp_addr ).
ls_contact_smtp-datax = VALUE #( e_mail = 'X' ).
APPEND VALUE #( contact = ls_contact_smtp ) TO ls_customer-central_data-address-communication-smtp-smtp.
APPEND ls_customer TO ls_data-customers.
*--------------------------------------------------------------------*
* Aufruf API
*--------------------------------------------------------------------*
cmd_ei_api=>maintain( EXPORTING
is_master_data = ls_data
IMPORTING
es_error = ls_error ).
IF ls_error-is_error IS INITIAL.
ev_ok = 'X'.
COMMIT WORK.
ELSE.
CLEAR ev_ok.
ROLLBACK WORK.
ENDIF.
et_return[] = ls_error-messages.
Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
qyurryus