Текущее время: Вс, июл 27 2025, 09:54

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


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


ВНИМАНИЕ!

Вопросы по исходящим поставкам - сюда



Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Авт.создание исх.поставки и упаковка
СообщениеДобавлено: Ср, фев 22 2006, 13:11 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, авг 24 2004, 07:19
Сообщения: 3952
Откуда: ECC 6.0, South Kazakhstan
В общем-то вопрос простой:

Необходимо создать исх.поставку с упаковкой (программно).

Для создания поставки использую BAPI_DELIVERYPROCESSING_EXEC, но вот с упаковкой проблема ...

Сейчас копаюсь, ищу ... может все-таки есть какие-нибудь более-менее нормальные решения с использованием BAPI, ФМ... ?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, апр 07 2006, 11:17 
Специалист
Специалист

Зарегистрирован:
Вт, ноя 01 2005, 13:15
Сообщения: 228
Откуда: Москва
Если вопрос еще актуален. Два решения.
1. В поставке есть галка автоматической упаковки (кажется в виде поставки). Если она стоит, то BAPI сама все упакует на основании упаковочных инструкций (см общ логистику).
2. Предложения по упаковке могут быть созданы еще в заказе клиента. BAPI может все упаковать на основании этого предложения. Кажется это контролируется через условия копирования.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, апр 07 2006, 13:43 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, авг 24 2004, 07:19
Сообщения: 3952
Откуда: ECC 6.0, South Kazakhstan
Спасибо, вопрос уже решен (с использованием BAPI-шек).


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, апр 07 2006, 15:45 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Сб, апр 23 2005, 13:16
Сообщения: 711
Пол: Мужской
Каких именно?
вопрос актуален


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, апр 10 2006, 07:04 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, авг 24 2004, 07:19
Сообщения: 3952
Откуда: ECC 6.0, South Kazakhstan
1. Создание поставки - BAPI_DELIVERYPROCESSING_EXEC
2. Упаковка и отпуск материала - ВAPI_OUTB_DELIVERY_CONFIRM_DEC
3. Возникали некоторые нюансы - решал с использованием:
а) Customer-exit V50B0001 / EXIT_SAPLV50I_004
б) BADI LE_SHP_DELIVERY_PROC


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, апр 17 2006, 09:20 
Специалист
Специалист

Зарегистрирован:
Вт, авг 17 2004, 11:21
Сообщения: 140
Откуда: Челябинск
Очень актуально создание исходящей поставки через ФМ, как я понял есть возможность делать через BAPI_DELIVERYPROCESSING_EXEC, нельзя ли не много поподробнее? Был бы ОЧЕНЬ благодарен если бы привели "кусочек" программки.....
Сразу несколько вопросов: можно ли создавать при помощи этого ФМ поставку по нескольким заказам (позициям), можно ли делать разделение партии поставки?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, апр 17 2006, 12:53 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, авг 24 2004, 07:19
Сообщения: 3952
Откуда: ECC 6.0, South Kazakhstan
У нас эта задача была актуальной для создания поставок к заказу на перемещение (поскольку диалоговых транзакций, по крайней мере в 5.0, нет - и соответственно пакетник сделать проблема).

При создании поставки к заказу на перемещение это выглядит примерно так:

Code:
*&------------------------------------------------------------------------------*
*&  см. mv50awibf01 / form create_ibdlv_from_purord
*&------------------------------------------------------------------------------*
*&
*& BAPI_DELIVERYPROCESSING_EXEC   - создание исх.поставки к заказу на перемещение
*& bapi_OUTB_DELIVERY_CONFIRM_DEC - проводка отпуска материала к исх.поставке
*&

report zpm_x_shp_via_bapi.

* data for bapi_deliveryprocessing_exec
data: gt_request like bapideliciousrequest occurs 0 with header line,
      gt_createditems type bapideliciouscreateditems occurs 0,
      gs_createditems type bapideliciouscreateditems.

* data for bapi_outb_delivery_confirm_dec
data: header_data    like bapiobdlvhdrcon,
      header_control like bapiobdlvhdrctrlcon,
      delivery       like bapiobdlvhdrcon-deliv_numb.

*
data: gt_return type bapiret2 occurs 0 with header line,
      lf_error_occured.


* Parameters
parameters: p_ebeln like ekpo-ebeln,                      " № заказа на поставку
            p_ebelp like ekpo-ebelp,                      " позиция заказа на поставку
            p_lfimg like ekpo-menge,                      " поставляемое кол-во
            p_budat like likp-wadat_ist default sy-datum, " дата
            p_post as checkbox.                           " отпуск материала

start-of-selection.
   

end-of-selection.



*   fill inbound delivery creation interface
  perform fill_shp_cteation_data.

  call function 'BAPI_DELIVERYPROCESSING_EXEC'
    tables
      request      = gt_request
      createditems = gt_createditems
      return       = gt_return.

*   check protocol
  perform check_message changing lf_error_occured.

  if lf_error_occured is initial.

    call function 'BAPI_TRANSACTION_COMMIT'
      exporting
        wait = 'X'.

    read table gt_createditems into gs_createditems index 1.

    if sy-subrc = 0 and p_post = 'x'.

      perform fill_shp_confirmation_data.
     
      call function 'BAPI_OUTB_DELIVERY_CONFIRM_DEC'
        exporting
          header_data    = header_data
          header_control = header_control
          delivery       = delivery
        tables
          return               = gt_return.

      perform check_message changing lf_error_occured.

      if lf_error_occured is initial.

        call function 'BAPI_TRANSACTION_COMMIT'
          exporting
            wait = 'X'.

      endif.
    endif.

  endif.

*&--------------------------------------------------------------------*
*&      form  check_message
*&--------------------------------------------------------------------*
form check_message changing lf_error_occured type c.
  loop at gt_return.
    if gt_return-type = 'E' or
       gt_return-type = 'A'.

      message id gt_return-id
              type gt_return-type
              number gt_return-number.

      lf_error_occured = 'X'.
      exit.

    endif.
  endloop.
endform.                    "check_message

*&---------------------------------------------------------------------*
*&      form  fill_shp_cteation_data
*&---------------------------------------------------------------------*
form fill_shp_cteation_data .

  clear gt_request.
  refresh gt_request.

  gt_request-document_type               = 'B'.      " A - sales order, B - purchase order
  gt_request-document_numb               = p_ebeln.  " order number
  gt_request-document_item               = p_ebelp.  " item number
  gt_request-quantity_sales_uom          = p_lfimg.  " quantity for delivery
  gt_request-plant                       = '8010'.  " Отпускающий завод
  gt_request-stge_loc                    = '8010'.  " Отпускающий склад
  gt_request-delivery_time               = sy-timlo.
  gt_request-trans_cat                   = '0001' .        " likp-traty.
  gt_request-transp_id                   = '82600344'.     " likp-traid.
  gt_request-extdelv_no                  = 'Bla Bla Bla'.  " likp-lifex.
  gt_request-ordcombind                  = 'X'.
  gt_request-delivery_date               = p_budat.
  gt_request-goods_issue_date            = p_budat.
  gt_request-delivery_date               = p_budat.

  append gt_request.

endform.                    " fill_shp_cteation_data

*&---------------------------------------------------------------------*
*&      form  fill_shp_confirmation_data
*&---------------------------------------------------------------------*
form fill_shp_confirmation_data .
  move: gs_createditems-document_numb to header_data-deliv_numb,
        gs_createditems-document_numb to header_control-deliv_numb,
        gs_createditems-document_numb to delivery,
        'X'                           to header_control-post_gi_flg.
endform.                    " fill_shp_confirmation_data


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, апр 25 2008, 18:11 
Ассистент
Ассистент

Зарегистрирован:
Чт, янв 31 2008, 14:01
Сообщения: 31
Откуда: Kiev
Создаю исходящую поставку (для теста использовал ваш пример "один в один")
указываю
gt_request-document_type = 'B'.
gt_request-document_type_delivery = 'LF'.
gt_request-DOCUMENT_CATEGORY_SD = 'J'.

получаю сообщение "Невозможно определить вид поставки" ,
Что я делаю неправильно? Спасибо.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, апр 25 2008, 18:49 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
HGN написал(а):
Создаю исходящую поставку (для теста использовал ваш пример "один в один")
указываю
gt_request-document_type = 'B'.
gt_request-document_type_delivery = 'LF'.
gt_request-DOCUMENT_CATEGORY_SD = 'J'.

получаю сообщение "Невозможно определить вид поставки" ,
Что я делаю неправильно? Спасибо.


IMHO у вас в конфигурации отсутствует связь между данными типами документов.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Сб, апр 26 2008, 11:19 
Ассистент
Ассистент

Зарегистрирован:
Чт, янв 31 2008, 14:01
Сообщения: 31
Откуда: Kiev
Jelena написала:
HGN написал(а):
Создаю исходящую поставку (для теста использовал ваш пример "один в один")
указываю
gt_request-document_type = 'B'.
gt_request-document_type_delivery = 'LF'.
gt_request-DOCUMENT_CATEGORY_SD = 'J'.

получаю сообщение "Невозможно определить вид поставки" ,
Что я делаю неправильно? Спасибо.


IMHO у вас в конфигурации отсутствует связь между данными типами документов.


Расскажите пожалуйста как это делать. Мне нужно gt_request-document_type = 'B' - поставка.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Сб, апр 26 2008, 13:12 
Специалист
Специалист

Зарегистрирован:
Пт, сен 03 2004, 14:49
Сообщения: 219
к чему поставку создаем? видимо ошибка в одном из двух:
либо здесь должно быть gt_request-document_type = 'A'.
либо здесь должно быть gt_request-document_type_delivery = 'NL'.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, апр 28 2008, 10:58 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, авг 24 2004, 07:19
Сообщения: 3952
Откуда: ECC 6.0, South Kazakhstan
K.A.B. абсолютно прав: если используется поставка к заказу (именно к SD заказу), по умолчанию это поставка вида LF, то нужно указывать:

gt_request-document_type = 'A'

хотя опять же, вид поставки можно не указывать поскольку в настройке вида заказа (тр.VOV8) можно указать вид поставки по умолчанию + как минимум, должны быть настроены условия копирования из соответсвующего вида торгового документа(заказа) в поставку


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, май 05 2008, 16:40 
Ассистент
Ассистент

Зарегистрирован:
Чт, янв 31 2008, 14:01
Сообщения: 31
Откуда: Kiev
:!: Доброго дня.

Пытаюь создать поставку.
После отрабатывания бапи, t_return пуст и t_created тоже :(
Вот код:
CHECK p_vbeln IS NOT INITIAL. (заказ)

DATA: BEGIN OF t_vbap OCCURS 0,
vbeln LIKE vbap-vbeln,
posnr LIKE vbap-posnr,
zmeng LIKE vbap-kwmeng,
matnr LIKE vbap-matnr,
werks LIKE vbap-werks,
END OF t_vbap.

DATA: t_request TYPE STANDARD TABLE OF bapideliciousrequest
WITH HEADER LINE.

DATA: t_created TYPE STANDARD TABLE OF bapideliciouscreateditems
WITH HEADER LINE.

DATA: t_return TYPE STANDARD TABLE OF bapiret2 WITH HEADER LINE.

SELECT vbeln posnr zmeng matnr werks
INTO TABLE t_vbap
FROM vbap
WHERE vbeln = p_vbeln.

LOOP AT t_vbap.
t_request-document_numb = t_vbap-vbeln.
t_request-document_item = t_vbap-posnr.
t_request-quantity_sales_uom = t_vbap-zmeng.
t_request-quantity_base__uom = t_vbap-zmeng.
t_request-id = 1.
t_request-document_type = 'A'.
t_request-delivery_date = sy-datum.
t_request-material = t_vbap-matnr.
t_request-plant = t_vbap-werks.
t_request-date = sy-datum.
t_request-goods_issue_date = sy-datum.
t_request-goods_issue_time = sy-uzeit.
APPEND t_request.
ENDLOOP.

CALL FUNCTION 'BAPI_DELIVERYPROCESSING_EXEC'
TABLES
request = t_request
createditems = t_created
return = t_return.


READ TABLE t_return WITH KEY type = 'E'.
IF sy-subrc NE 0.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
ENDIF.

Подскажите плиз, что не так.
Спасибо!


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, май 05 2008, 20:41 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
HGN написал(а):
После отрабатывания бапи, t_return пуст и t_created тоже :(


Это странно... Шальная мысль - а t_vbap у вас часом не пустая? Вроде нигде не проверяется... :? Еще можно попробовать t_request-id = 1
закомментировать, это optional.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, май 06 2008, 11:46 
Ассистент
Ассистент

Зарегистрирован:
Чт, янв 31 2008, 14:01
Сообщения: 31
Откуда: Kiev
Jelena написала:
HGN написал(а):
После отрабатывания бапи, t_return пуст и t_created тоже :(


Это странно... Шальная мысль - а t_vbap у вас часом не пустая? Вроде нигде не проверяется... :? Еще можно попробовать t_request-id = 1
закомментировать, это optional.


Разобрался был некорректный заказ (В заказе ... не содержатся релевантные для поставки позиции) , а бапи не возвращает ошибку. Создание поставки правильное. Всем спасибо!


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу 1, 2  След.

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


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

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


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

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