Текущее время: Пт, июл 18 2025, 11:46

Часовой пояс: UTC + 3 часа


Правила форума


Вопросы по ППМ (MRP) - сюда.
Вопросы по классификации - сюда.
Вопросы по входящим поставкам - сюда.



Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
 Заголовок сообщения: BAPI Создание движения материала с объектом учета результатов.  Тема решена
СообщениеДобавлено: Пн, сен 22 2014, 12:25 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Ср, май 23 2012, 14:38
Сообщения: 30
Пол: Мужской
Возникла необходимость указывать вид фактуры в ОУР при создании движения ФМ-ом BAPI_GOODSMVT_CREATE.
В интернете описание решения нашел только на англоязычных сайтах и без примера. Может кому-то понадобится.
Для того чтобы вручную заполнить все поля ОУР нужно его создать ФМ-ом COPA_PROFITABILITY_SEGMENT, а потом передать его ID (E_COBL-PAOBJNR) в ФМ BAPI_GOODSMVT_CREATE в поле GOODSMVT_ITEM-PROFIT_SEGM_NO.
И обязательно нужно заполнять год в I_COBL, иначе ФМ выдаст непонятную ошибку "Учет результатов не активиен!", хотя учет активен.

Пример кода:


Code:
* данные для BAPI
  data GOODSMVT_HEADER LIKE  BAPI2017_GM_HEAD_01.
  data GOODSMVT_CODE LIKE  BAPI2017_GM_CODE.
  data TESTRUN LIKE  BAPI2017_GM_GEN-TESTRUN.
  data GOODSMVT_ITEM type table of  BAPI2017_GM_ITEM_CREATE.
  data w_GOODSMVT_ITEM type BAPI2017_GM_ITEM_CREATE.

  data GOODSMVT_HEADRET LIKE  BAPI2017_GM_HEAD_RET.
  data MATERIALDOCUMENT TYPE BAPI2017_GM_HEAD_RET-MAT_DOC.
  data MATDOCUMENTYEAR TYPE BAPI2017_GM_HEAD_RET-DOC_YEAR.
  data RETURN type table of BAPIRET2.
 

* создаем объект ОУР и передаем его в goodsmvt_item

  DATA l_vbrk like VBRK.
  SELECT SINGLE *
                INTO l_vbrk
                FROM vbrk
                WHERE VBELN = goodsmvt_header-REF_DOC_NO.

  DATA l_vbrp like VBRP.
  SELECT SINGLE *
                INTO l_vbrp
                FROM vbrp
                WHERE VBELN = goodsmvt_header-REF_DOC_NO.


  DATA: l_cobl_i like cobl,
        l_cobl_e like cobl.

  l_cobl_i-KUNNR = l_vbrk-kunrg.               "клнт
  l_cobl_i-matnr = w_goodsmvt_item-material.   "материал
  l_cobl_i-fkart = l_vbrk-fkart.               "вид фактуры
  l_cobl_i-kdauf = w_goodsmvt_item-SALES_ORD.  "заказ клиента
  l_cobl_i-kdpos = w_goodsmvt_item-S_ORD_ITEM. "позЗаказКлиента
  l_cobl_i-bukrs = l_vbrk-bukrs.               "БЕ
  l_cobl_i-gjahr = fkdat(4).            "год
  l_cobl_i-werks = w_goodsmvt_item-PLANT.      "Завод
  l_cobl_i-gsber = l_vbrp-gsber.               "Бизнес-сфера
  l_cobl_i-vkorg = l_vbrk-vkorg.               "сбытовая организация
  l_cobl_i-vtweg = l_vbrk-vtweg.               "канал сбыта
  l_cobl_i-spart = l_vbrk-spart.               "сектор


  CALL FUNCTION 'COPA_PROFITABILITY_SEGMENT'
    EXPORTING
      DIALOG                    = ' '                 "без диалога
      I_COBL                    = l_cobl_i
    IMPORTING
      E_COBL                    = l_cobl_e
   EXCEPTIONS
     ABNORMAL_LEAVE            = 1
     BTRANS_NOT_RELEVANT       = 2
     ERROR_COPA                = 3
     OTHERS                    = 4
            .
  IF SY-SUBRC <> 0.
     MESSAGE ID SY-MSGID
             TYPE SY-MSGTY
             NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.

  w_goodsmvt_item-PROFIT_SEGM_NO = l_cobl_e-paobjnr.

  INSERT w_goodsmvt_item INTO TABLE goodsmvt_item.

* движение
  CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
    EXPORTING
      goodsmvt_header             = goodsmvt_header
      goodsmvt_code               = code_mb1a
*   TESTRUN                     = ' '
   IMPORTING
     goodsmvt_headret            = goodsmvt_headret
     materialdocument            = materialdocument
     matdocumentyear             = matdocumentyear
    TABLES
      goodsmvt_item               = goodsmvt_item
*   GOODSMVT_SERIALNUMBER       =
      return                      = return
            .



Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB