Nota
1. El rango de depreciación se mostrará por sí solo, solo presione x para cambiar el campo
código de demostración
función zfm_erp_012.
* "------------------------------------------------ ----------------------
* "*" Interfaz local:
*" MESAS
* "ESTRUCTURA DE T_DATA ZFM_ERP_012_DATA
* "------------------------------------------------ ----------------------
datos:
ls_key tipo bapi1022_key,
ls_general_data tipo bapi1022_feglg001,
ls_general_data_x tipo bapi1022_feglg001x,
ls_postinginformation tipo bapi1022_feglg002,
ls_postinginformationx tipo bapi1022_feglg002x,
ls_time_dependent_data tipo bapi1022_feglg003,
ls_time_dependent_data_x tipo bapi1022_feglg003x,
ls_allocations escriba bapi1022_feglg004,
ls_allocationsx tipo bapi1022_feglg004x,
ls_investacctassignmnt tipo bapi1022_feglg010,
ls_investacctassignmntx tipo bapi1022_feglg010x,
ls_origin tipo bapi1022_feglg009, "源
ls_originx tipo bapi1022_feglg009x.
*** Rango de depreciación
datos:
lt_depreciationareas como tabla de bapi1022_dep_areas,
ls_epreciationareas como line of lt_depreciationareas,
lt_depreciationareasx como tabla de bapi1022_dep_areasx,
ls_depreciationareasx como la línea de lt_depreciationareasx.
"Producción
datos:
ls_return tipo bapiret2,
cadena de tipo lv_message,
lv_assetmaino tipo bapi1022_1-assetmaino.
hazlo 2 veces.
si sy-index = 1.
datos (testrun) = 'X'.
demás.
testrun = ''.
leer la tabla t_data con la clave rtype = 'E'.
si sy-subrc = 0.
regreso.
terminara si.
terminara si.
enddo.
bucle en t_data donde rtype ne 'S'.
t_data-anlkl = | {t_data-anlkl alpha = in} |.
t_data-eaufn = | {t_data-eaufn alpha = in} |.
t_data-kostl = | {t_data-kostl alpha = in} |.
* Campo de palabra clave que se creará
ls_key-companycode = t_data-bukrs. "Código de la empresa
* Grupo de campo lógico 001-Datos generales
ls_general_data-assetclass = t_data-anlkl. "Clase de activo
ls_general_data_x-assetclass = 'X'. "Información actualizada de los campos de datos de usuario relacionados
ls_general_data-descript = t_data-txt50. "Descripción requerida
ls_general_data_x-descript = 'X'.
ls_general_data-descript2 = t_data-txa50. "Descripción de activo adicional opcional: complete el número de fábrica
ls_general_data_x-descript2 = 'X'.
ls_general_data-serial_no = t_data-sernr. "Número de serie
ls_general_data_x-serial_no = 'X'.
ls_general_data-invent_no = t_data-invnr. "Inventario No.
ls_general_data_x-invent_no = 'X'.
ls_general_data-amount = t_data-menge. "数量
ls_general_data_x-amount = 'X'.
ls_general_data-base_uom = t_data-meins. "Unidad básica de medida
ls_general_data_x-base_uom = 'X'.
* Grupo de campo lógico 002-Información contable
ls_postinginformation-cap_date = t_data-aktiv. "Fecha de capitalización
ls_postinginformationx-cap_date = 'X'.
* Datos relacionados con el tiempo del grupo de campos lógicos 003
* ls_time_dependent_data-bus_area = t_data-gsber. "Área de negocio
* ls_time_dependent_data_x-bus_area = 'X'.
ls_time_dependent_data-costcenter = t_data-kostl. "Centro de costos requerido
ls_time_dependent_data_x-costcenter = 'X'.
* Grupo de campo lógico 004-Asignación
ls_allocations-inv_reason = t_data-izwek. "motivo de la inversión
ls_allocationsx-inv_reason = 'X'.
ls_allocations-evalgroup1 = t_data-ord41. "Estado de uso
ls_allocationsx-evalgroup1 = 'X'.
ls_allocations-evalgroup2 = t_data-ord42. "Uso económico
ls_allocationsx-evalgroup2 = 'X'.
* Grupo de campo lógico 010-Asignación de cuenta de inversión
ls_investacctassignmnt-invest_ord = t_data-eaufn. "Orden de inversión
ls_investacctassignmntx-invest_ord = 'X'.
* Rango de depreciación
ls_epreciationareas-area = '01'. "Área de depreciación real
ls_epreciationareas-odep_start_date = t_data-afabg. "Fecha de inicio del cálculo de la depreciación
agregue ls_epreciationareas a lt_depreciationareas.
ls_depreciationareasx-area = '01'.
ls_depreciationareasx-odep_start_date = 'X'.
agregue ls_depreciationareasx a lt_depreciationareasx.
ls_epreciationareas-area = '02'. "Área de depreciación real
ls_epreciationareas-odep_start_date = t_data-afabg. "Fecha de inicio del cálculo de la depreciación
agregue ls_epreciationareas a lt_depreciationareas.
ls_depreciationareasx-area = '02'.
ls_depreciationareasx-odep_start_date = 'X'.
agregue ls_depreciationareasx a lt_depreciationareasx.
ls_epreciationareas-area = '03'. "Área de depreciación real
ls_epreciationareas-odep_start_date = t_data-afabg. "Fecha de inicio del cálculo de la depreciación
agregue ls_epreciationareas a lt_depreciationareas.
ls_depreciationareasx-area = '03'.
ls_depreciationareasx-odep_start_date = 'X'.
agregue ls_depreciationareasx a lt_depreciationareasx.
ls_epreciationareas-area = '04'. "Área de depreciación real
ls_epreciationareas-odep_start_date = t_data-afabg. "Fecha de inicio del cálculo de la depreciación
agregue ls_epreciationareas a lt_depreciationareas.
ls_depreciationareasx-area = '04'.
ls_depreciationareasx-odep_start_date = 'X'.
agregue ls_depreciationareasx a lt_depreciationareasx.
*fuente
ls_origin-vendor = t_data-lifnr. "Nombre del proveedor
ls_originx-vendor = 'X'.
ls_origin-Manufacturer = t_data-herst. "Fabricante de activos
ls_originx-Manufacturer = 'X'.
llamar a la función 'BAPI_FIXEDASSET_CREATE1'
exportador
testrun = testrun
clave = ls_key
origen = ls_origin
originx = ls_originx
generaldata = ls_general_data
generaldatax = ls_general_data_x
postsinformation = ls_postinginformation
postsinformationx = ls_postinginformationx
asignaciones = ls_allocations
asignacionesx = ls_allocationsx
investacctassignmnt = ls_investacctassignmnt
investacctassignmntx = ls_investacctassignmntx
timedependentdata = ls_time_dependent_data
timedependentdatax = ls_time_dependent_data_x
importador
activo = lv_assetmaino
return = ls_return
mesas
depreciationareas = lt_depreciationareas
depreciationareasx = lt_depreciationareasx.
si ls_return-type = 'S'.
si testrun es inicial.
llamar a la función 'BAPI_TRANSACTION_COMMIT'
exportador
esperar = 'X'.
t_data-rtype = 'S'.
t_data-rtmsg = 'Éxito'.
t_data-anln1 = | {lv_assetmaino alpha = out} |.
terminara si.
si ls_return no es inicial.
id de mensaje ls_return-id tipo ls_return-type número ls_return-number
con ls_return-message_v1 ls_return-message_v2 ls_return-message_v3 ls_return-message_v4 en lv_message.
terminara si.
demás.
llamar a la función 'BAPI_TRANSACTION_ROLLBACK'.
si ls_return no es inicial.
id de mensaje ls_return-id tipo ls_return-type número ls_return-number
con ls_return-message_v1 ls_return-message_v2 ls_return-message_v3 ls_return-message_v4 en lv_message.
terminara si.
t_data-rtype = 'E'.
t_data-rtmsg = lv_message.
terminara si.
modificar t_data.
endloop.
función final.