Текущее время: Вт, май 13 2025, 16:20

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


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

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


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

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