AS01 Создание карты основных средств BAPI_FIXEDASSET_CREATE1

Примечание

1. Диапазон амортизации будет выведен сам по себе, просто нажмите x, чтобы изменить поле.

 

демонстрационный код

функция zfm_erp_012.

* "------------------------------------------------ ----------------------

* "*" Локальный интерфейс:

* "ТАБЛИЦЫ

* "СТРУКТУРА T_DATA ZFM_ERP_012_DATA

* "------------------------------------------------ ----------------------

 

  данные:

    ls_key типа bapi1022_key,

    ls_general_data тип bapi1022_feglg001,

    ls_general_data_x типа bapi1022_feglg001x,

    ls_postinginformation type bapi1022_feglg002,

    ls_postinginformationx введите bapi1022_feglg002x,

    ls_time_dependent_data тип bapi1022_feglg003,

    ls_time_dependent_data_x тип bapi1022_feglg003x,

    ls_allocations тип bapi1022_feglg004,

    ls_allocationsx типа bapi1022_feglg004x,

    ls_investacctassignmnt тип bapi1022_feglg010,

    ls_investacctassignmntx типа bapi1022_feglg010x,

    ls_origin типа bapi1022_feglg009, "源

    ls_originx введите bapi1022_feglg009x.

 

*** Диапазон амортизации

  данные:

    lt_depreciationareas как таблица bapi1022_dep_areas,

    ls_epreciationareas как строка lt_depreciationareas,

    lt_depreciationareasx как таблица bapi1022_dep_areasx,

    ls_depreciationareasx как строка lt_depreciationareasx.

 

  "Выход

  данные:

    ls_return типа bapiret2,

    строка типа lv_message,

    lv_assetmaino типа bapi1022_1-assetmaino.

 

  сделать 2 раза.

    если sy-index = 1.

      данные (testrun) = 'X'.

    еще.

      testrun = ''.

      прочитать таблицу t_data с ключом rtype = 'E'.

      если sy-subrc = 0.

        возвращаться.

      endif.

    endif.

  enddo.

  цикл в t_data, где 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} |.

 

* Поле для ключевого слова, которое будет создано

    ls_key-companycode = t_data-bukrs. "Балансовая единица

 

* Группа логических полей 001-Общие данные

    ls_general_data-assetclass = t_data-anlkl. "Класс активов

    ls_general_data_x-assetclass = 'X'. "Обновленная информация о связанных полях пользовательских данных.

    ls_general_data-descript = t_data-txt50. "Требуется описание

    ls_general_data_x-descript = 'X'.

    ls_general_data-descript2 = t_data-txa50. "Необязательное дополнительное описание актива - введите заводской номер

    ls_general_data_x-descript2 = «Х».

    ls_general_data-serial_no = t_data-sernr. "Серийный номер

    ls_general_data_x-serial_no = 'X'.

    ls_general_data-inventory_no = t_data-invnr. "Инвентарный №

    ls_general_data_x-Invent_no = 'X'.

    ls_general_data-amount = t_data-menge. "数量

    ls_general_data_x-quantity = 'X'.

    ls_general_data-base_uom = t_data-meins. "Базовая единица измерения

    ls_general_data_x-base_uom = «Х».

 

* Группа логических полей 002-Учетная информация

    ls_postinginformation-cap_date = t_data-aktiv. "Дата использования заглавных букв

    ls_postinginformationx-cap_date = 'Х'.

 

* Группа логических полей 003-данные, связанные со временем

* ls_time_dependent_data-bus_area = t_data-gsber. "Сфера деятельности

* ls_time_dependent_data_x-bus_area = «Х».

    ls_time_dependent_data-costcenter = t_data-kostl. "Требуемый центр затрат

    ls_time_dependent_data_x-costcenter = 'X'.

 

* Группа логических полей 004-Назначение

    ls_allocations-inv_reason = t_data-izwek. "причина инвестиций

    ls_allocationsx-inv_reason = 'Х'.

    ls_allocations-evalgroup1 = t_data-ord41. "Статус использования

    ls_allocationsx-evalgroup1 = 'X'.

    ls_allocations-evalgroup2 = t_data-ord42. "Экономическое использование

    ls_allocationsx-evalgroup2 = 'X'.

 

* Группа логических полей 010-Присвоение инвестиционного счета

    ls_investacctassignmnt-invest_ord = t_data-eaufn. "Инвестиционный приказ

    ls_investacctassignmntx-invest_ord = 'Х'.

 

* Диапазон амортизации

    ls_epreciationareas-area = '01'. "Фактическая область амортизации

    ls_epreciationareas-odep_start_date = t_data-afabg. "Дата начала расчета амортизации

    добавьте ls_epreciationareas в lt_depreciationareas.

    ls_depreciationareasx-area = '01'.

    ls_depreciationareasx-odep_start_date = 'X'.

    добавьте ls_depreciationareasx к lt_depreciationareasx.

    ls_epreciationareas-area = '02'. "Фактическая область амортизации

    ls_epreciationareas-odep_start_date = t_data-afabg. "Дата начала расчета амортизации

    добавьте ls_epreciationareas в lt_depreciationareas.

    ls_depreciationareasx-area = '02'.

    ls_depreciationareasx-odep_start_date = 'X'.

    добавьте ls_depreciationareasx к lt_depreciationareasx.

    ls_epreciationareas-area = '03'. "Фактическая область амортизации

    ls_epreciationareas-odep_start_date = t_data-afabg. "Дата начала расчета амортизации

    добавьте ls_epreciationareas в lt_depreciationareas.

    ls_depreciationareasx-area = '03'.

    ls_depreciationareasx-odep_start_date = 'X'.

    добавьте ls_depreciationareasx к lt_depreciationareasx.

    ls_epreciationareas-area = '04'. "Фактическая область амортизации

    ls_epreciationareas-odep_start_date = t_data-afabg. "Дата начала расчета амортизации

    добавьте ls_epreciationareas в lt_depreciationareas.

    ls_depreciationareasx-area = '04'.

    ls_depreciationareasx-odep_start_date = 'X'.

    добавьте ls_depreciationareasx к lt_depreciationareasx.

 

*источник

    ls_origin-vendor = t_data-lifnr. "Имя поставщика

    ls_originx-vendor = 'Х'.

    ls_origin-Manufacturer = t_data-herst. "Производитель актива

    ls_originx-Manufacturer = 'X'.

 

    вызвать функцию 'BAPI_FIXEDASSET_CREATE1'

      экспорт

        testrun = testrun

        key = ls_key

        origin = ls_origin

        originx = ls_originx

        generaldata = ls_general_data

        generaldatax = ls_general_data_x

        postinginformation = ls_postinginformation

        postinginformationx = ls_postinginformationx

        выделения = ls_allocations

        выделенияx = ls_allocationsx

        investacctassignmnt = ls_investacctassignmnt

        investacctassignmntx = ls_investacctassignmntx

        timedependentdata = ls_time_dependent_data

        timedependentdatax = ls_time_dependent_data_x

      импорт

        asset = lv_assetmaino

        return = ls_return

      столы

        depreciationareas = lt_depreciationareas

        depreciationareasx = lt_depreciationareasx.

 

    если ls_return-type = 'S'.

      если testrun является начальным.

        вызвать функцию 'BAPI_TRANSACTION_COMMIT'

          экспорт

            ждать = 'X'.

        t_data-rtype = 'S'.

        t_data-rtmsg = «Успех».

        t_data-anln1 = | {lv_assetmaino alpha = out} |.

      endif.

      если ls_return не является начальным.

        идентификатор сообщения ls_return-id тип ls_return-type номер ls_return-number

          с ls_return-message_v1 ls_return-message_v2 ls_return-message_v3 ls_return-message_v4 в lv_message.

      endif.

    еще.

      вызовите функцию 'BAPI_TRANSACTION_ROLLBACK'.

      если ls_return не является начальным.

        идентификатор сообщения ls_return-id тип ls_return-type номер ls_return-number

        с ls_return-message_v1 ls_return-message_v2 ls_return-message_v3 ls_return-message_v4 в lv_message.

      endif.

      t_data-rtype = 'E'.

      t_data-rtmsg = lv_message.

    endif.

    изменить t_data.

  конец петли.

 

 

 

конечная функция.

 

рекомендация

отblog.csdn.net/cylcylcylcylwo/article/details/114077533
рекомендация