Текущее время: Пн, июл 28 2025, 08:24

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


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


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: BAPI_GOODSMVT_CREATE для 311 ВДв
СообщениеДобавлено: Чт, янв 22 2009, 09:10 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Вт, окт 04 2005, 10:21
Сообщения: 972
Откуда: Киев
Пол: Мужской
Здарова Абаперы :)
Тема такая, на склад три раза в сутки попадают материалы, затем их надо оттуда перемещеать на другой склад, 311 ВДв. Делать это вручную в MIGO для пользователя неудобно.
Знаю что есть BAPI_GOODSMVT_CREATE, но ему на "вход" надо подавать файл. В моем случае это файл с остатками на отправляющем складе.
Можно ли сделать так, чтобы BAPI "посмотрел" на остатки и переместил их согласно заложеной логики, без отельной подготовки исхордного файла? Думаю что да, подтвердите предположение.
Спасибо!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BAPI_GOODSMVT_CREATE для 311 ВДв
СообщениеДобавлено: Чт, янв 22 2009, 09:27 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1912
Откуда: КраснАдар
Пол: Мужской
Что за файл? У Вас видимо lsmw-шка записана на основе этого ФМ...
Для простого перемещения файла не нужно. Вот пример:
Code:
  CONSTANTS: cs_code TYPE bapi2017_gm_code VALUE '04'.

  DATA:
        header TYPE bapi2017_gm_head_01,
        items TYPE TABLE OF bapi2017_gm_item_create,
        item TYPE bapi2017_gm_item_create,
        return TYPE TABLE OF bapiret2.
  DATA: l_sobkz TYPE sobkz.

* Fill header
  header-pstng_date = sy-datum.
  header-doc_date   = sy-datum.
  header-pr_uname   = sy-uname.
  header-header_txt = i_likp-vbeln.

* Fill items
  LOOP AT i_lips INTO lips.
    item-move_type   = '311'.
    item-mvt_ind     = ' '.
    item-spec_stock  = l_sobkz.
    item-material    = lips-matnr.
    item-entry_qnt   = lips-lfimg.
    item-entry_uom   = lips-meins.
    item-batch       = lips-charg.
    item-plant       = lips-werks.
    item-stge_loc    = lips-lgort.  " Склад отдающий
    item-move_stloc  = 'VSHP'.   " Склад принимающий
    item-reserv_no   = lips-rsnum.
    item-res_item    = lips-rspos.
    item-res_type    = lips-rsart.

    CASE l_sobkz.           " Это излишества моего ТЗ
      WHEN space.
        item-move_batch = lips-charg.
      WHEN 'E'  .
        item-move_batch = lips-charg.
        item-sales_ord  = item-val_sales_ord = lips-vgbel.
        item-s_ord_item = item-val_s_ord_item = lips-vgpos.

      WHEN 'Q'.
        item-move_batch = lips-charg.
        item-val_wbs_elem = lips-ps_psp_pnr.
        item-wbs_elem = lips-ps_psp_pnr.
    ENDCASE.
    APPEND item TO items.

  ENDLOOP.

  IF items IS INITIAL.
    MESSAGE s019(zsda).
    RAISE transfer_not_create.
  ENDIF.

* Create movement
  CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
    EXPORTING
      goodsmvt_header  = header
      goodsmvt_code    = cs_code
      testrun          = 'X'
    IMPORTING
      goodsmvt_headret = goodsmt
      materialdocument = material
    TABLES
      goodsmvt_item    = items
      return           = return.
  READ TABLE return WITH KEY type = 'E'
    TRANSPORTING NO FIELDS.
  IF sy-subrc IS INITIAL.
    CALL FUNCTION 'C14ALD_BAPIRET2_SHOW'
      TABLES
        i_bapiret2_tab = return.

    RAISE transfer_not_create.
  ELSE.
    CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
      EXPORTING
        goodsmvt_header  = header
        goodsmvt_code    = cs_code
      IMPORTING
        goodsmvt_headret = goodsmt
        materialdocument = material
      TABLES
        goodsmvt_item    = items
        return           = return.
ENDIF.
  CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.



Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BAPI_GOODSMVT_CREATE для 311 ВДв
СообщениеДобавлено: Чт, янв 22 2009, 10:41 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Вт, окт 04 2005, 10:21
Сообщения: 972
Откуда: Киев
Пол: Мужской
Спасибо, за ответ!
У вас на "вход" судя по всему подаются данные из поставки SD. В моем случае наверное надо использовать данные из MCHB и може еще откуда то. Вроде как отдельный файл не нужно.
А запускать BAPI думаю отдельной транзакцией, как думаете, нормальный подход?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BAPI_GOODSMVT_CREATE для 311 ВДв
СообщениеДобавлено: Чт, янв 22 2009, 11:01 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1912
Откуда: КраснАдар
Пол: Мужской
rosomann написал:
У вас на "вход" судя по всему подаются данные из поставки SD.
Точно.
rosomann написал:
А запускать BAPI думаю отдельной транзакцией, как думаете, нормальный подход?
Нормальный подход, имхо.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BAPI_GOODSMVT_CREATE для 311 ВДв
СообщениеДобавлено: Вт, апр 26 2011, 14:10 
Специалист
Специалист

Зарегистрирован:
Пн, июл 12 2010, 11:43
Сообщения: 186
Добрый день.
Не стала открывать тему, т.к у меня вопрос по ФМ BAPI_GOODSMVT_CREATE.
Программно создаю документ перемещения по 311 ВДв с помощбю ФМ BAPI_GOODSMVT_CREATE.
Не могу победить ошибку: M7300 - Позиции не перенесены.
Будем благодарны за подсказку:

Code:
gmhead-pstng_date = zw_move_stock-dtrack."'20110111'.
  gmhead-doc_date   = zw_move_stock-dtrack."'20110111'.
  gmhead-header_txt = 'n1'.
  gmhead-pr_uname   = sy-uname.                  "полльзователь
  gmcode-gm_code     = '04'.

  itab-material      = zw_move_stock-matnr.             "материал
  itab-entry_qnt    = zw_move_stock-ttrack.             "количество
  itab-plant           = '0010'.                                      "завод
  itab-stge_loc      = zw_move_stock-lgort.                "Склад
  itab-move_stloc  = zw_move_stock-umlgo.             "Склад получ
  itab-entry_uom   = 'TO'.                                        " Единица измерения ввода ('TO')
  itab-move_type   = '311'.                                       "в/о
  itab-move_mat    = zw_move_stock-matnr.             "материал
  itab-move_plant   = '0010'.                                    "завод

  CALL FUNCTION 'BAPI_GOODSMVT_CREATE'                         " Вызов ФМ по загрузке поступления материалов на склад
     EXPORTING
       goodsmvt_header             = gmhead
       goodsmvt_code               = gmcode
     IMPORTING
       materialdocument =  document
       matdocumentyear  =  documentyear
     TABLES
       goodsmvt_item               = itab
       return                      = errmsg .


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BAPI_GOODSMVT_CREATE для 311 ВДв
СообщениеДобавлено: Вт, апр 26 2011, 14:55 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, авг 28 2006, 11:24
Сообщения: 292
Пол: Мужской
Вы заполнили структуру itab, а фм требует заполненную таблицу itab.
не хватает где-нибудь
Code:
append itab.

ЗЫ. вот почему не стоит использовать таблицы с header line.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BAPI_GOODSMVT_CREATE для 311 ВДв
СообщениеДобавлено: Вт, апр 26 2011, 15:24 
Специалист
Специалист

Зарегистрирован:
Пн, июл 12 2010, 11:43
Сообщения: 186
Благодарю за подсказку.
Сама удивляюсь как я могла пропустить APPEND :shock:


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

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


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

Сейчас этот форум просматривают: Yandex [Bot]


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

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