AS01 Crear tarjeta de activo fijo BAPI_FIXEDASSET_CREATE1

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.

 

Supongo que te gusta

Origin blog.csdn.net/cylcylcylcylwo/article/details/114077533
Recomendado
Clasificación