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

Часовой пояс: 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 часа


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

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


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

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