vmd_ei_api => keep_direct_input
* Encabezado del proveedor
ls_vendors-header-object_instance-lifnr = lv_vendor. "Proveedor
ls_vendors-header-object_task = 'M'. "Crear / Cambiar
* Informacion General
ls_vendors-central_data-central-data-stceg = stceg. "Número de registro de IVA
ls_vendors-central_data-central-data-ktokk = '0001'. "Grupo de cuentas
ls_vendors-central_data-central-data-j_1kfrepre = j_1kfrepre. "Nombre representativo
ls_vendors-central_data-central-datax-stceg = 'X'. "Número de registro de IVA
ls_vendors-central_data-central-datax-ktokk = 'X'. "Grupo de cuentas
ls_vendors-central_data-central-datax-j_1kfrepre = 'X'. "Nombre representativo
* Teléfono
ls_phone-contact-data-phone = teléfono.
agregue ls_phone a ls_vendors-central_data-address-communication-phone-phone.
borrar ls_phone.
* Correo electrónico
ls_smtp-contact-data-e_mail = smtp.
agregue ls_smtp a ls_vendors-central_data-address-communication-smtp-smtp.
borrar ls_smtp.
ls_vendors-central_data-address-postal-data-name = nombre. "名称
ls_vendors-central_data-address-postal-data-name_2 = nombre. "名称
ls_vendors-central_data-address-postal-data-sort1 = sort1. "Propiedades (SAP es el elemento de búsqueda 1)
ls_vendors-central_data-address-postal-data-street = street. "Calle / Número de casa
ls_vendors-central_data-address-postal-data-postl_cod1 = postl_cod1. "Código postal
ls_vendors-central_data-address-postal-data-city = city. "城市
ls_vendors-central_data-address-postal-data-country = country. "国家
ls_vendors-central_data-address-postal-data-region = region. "地区
ls_vendors-central_data-address-postal-data-langu = '1'. "语言
ls_vendors-central_data-address-postal-datax-name = 'X'.
ls_vendors-central_data-address-postal-datax-name_2 = 'X'.
ls_vendors-central_data-address-postal-datax-sort1 = 'X'.
ls_vendors-central_data-address-postal-datax-street = 'X'.
ls_vendors-central_data-address-postal-datax-postl_cod1 = 'X'.
ls_vendors-central_data-address-postal-datax-city = 'X'.
ls_vendors-central_data-address-postal-datax-country = 'X'.
ls_vendors-central_data-address-postal-datax-region = 'X'.
ls_vendors-central_data-address-postal-datax-langu = 'X'.
* Datos de la organización de compras
ls_purchasing-task = 'M'.
ls_purchasing-data_key-ekorg = '1000'.
ls_purchasing-data-valores = valores.
ls_purchasing-data-verkf = verkf.
ls_purchasing-data-telf1 = telf1.
ls_purchasing-data-eikto = eikto.
ls_purchasing-data-webre = 'X'.
ls_purchasing-datax-waers = 'X'.
ls_purchasing-datax-verkf = 'X'.
ls_purchasing-datax-telf1 = 'X'.
ls_purchasing-datax-webre = 'X'.
ls_purchasing-datax-eikto = 'X'.
if requesttype = 'CREAR'.
ls_functions-task = 'Yo'.
ls_functions-data_key-parvw = 'BA'.
ls_functions-data-defpa = ''.
ls_functions-data-partner = lv_vendor.
ls_functions-datax-defpa = 'X'.
ls_functions-datax-partner = 'X'.
agregue ls_functions a lt_functions.
ls_functions-data_key-parvw = 'LF'.
ls_functions-data-defpa = ''.
ls_functions-data-partner = lv_vendor.
ls_functions-datax-defpa = 'X'.
ls_functions-datax-partner = 'X'.
agregue ls_functions a lt_functions.
ls_functions-data_key-parvw = 'RS'.
ls_functions-data-defpa = ''.
ls_functions-data-partner = lv_vendor.
ls_functions-datax-defpa = 'X'.
ls_functions-datax-partner = 'X'.
agregue ls_functions a lt_functions.
ls_purchasing-functions-functions = lt_functions.
terminara si.
agregue ls_purchasing a ls_vendors-purchase_data-purchase.
borrar ls_purchasing.
agregue ls_vendors a lt_vendors.
borrar ls_vendors.
ls_main-vendors = lt_vendors.
* Crear o actualizar proveedor
método de llamada vmd_ei_api => keep_direct_input
exportador
is_master_data = ls_main
importador
es_master_data_correct = l1
es_message_correct = l2
es_master_data_defective = l3
es_message_defective = l4.
si l4-is_error = ''.
llamar a la función 'BAPI_TRANSACTION_COMMIT'
exportador
esperar = 'X'.
return_status = 'S'.
if requesttype = 'CREAR'.
return_value = '¡Proveedor creado con éxito! '.
elseif requesttype = 'ACTUALIZAR'.
return_value = '¡Actualización del proveedor con éxito! '.
terminara si.
sapcode = lv_vendor.
demás.
llamar a la función 'BAPI_TRANSACTION_ROLLBACK'.
return_status = 'F'.
borrar ls_message.
leer la tabla l4-messages en ls_message con el tipo de clave = 'E'.
si sy-subrc = 0.
id de mensaje ls_message-id
escriba ls_message-type
número ls_message-number
con ls_message-message_v1
ls_message-message_v2
ls_message-message_v3
ls_message-message_v4
en return_value.
terminara si.
terminara si.