SAPфорум.RU
https://sapboard.ru/forum/

Создание ТО через LT03. Пакетник, BAPI. Надо частичное ТО. Создается на все количество.
https://sapboard.ru/forum/viewtopic.php?f=13&t=95785
Страница 1 из 1

Автор:  simka_3375 [ Чт, ноя 23 2017, 16:45 ]
Заголовок сообщения:  Создание ТО через LT03. Пакетник, BAPI. Надо частичное ТО. Создается на все количество.

Добрый день!
Подскажите в чем ошибка?
В пакетник передается real_qty = 2. В результате перемещается 3 шт. В потоке документов ТО не видно.
Если запускать пакетник в видимом режиме, то все правильно отрабатывает.
Через BAPI частичное ТО создать не получилось? Может у кого-то есть готовый код программы? Поделитесь плз.

perform dynpro using:
'X' 'SAPML03T' '0151',
' ' 'LTAK-LGNUM' gs_pos-lgnum,
' ' 'VBLKP-WERKS' gs_pos-werks,
' ' 'VBLKK-VBELN' gs_pos-vbeln,
' ' 'RL03T-ALAKT' 'X',

'X' 'SAPML03T' '0105',
' ' 'BDC_OKCODE' '=TAH2'.

* Если на все количество
if gv_qty = gv_remain.
perform dynpro using:
'X' 'SAPML03T' '0102',
' ' 'RL03T-ANFME' real_qty,
' ' 'RL03T-SQUIT' lv_quit,
' ' 'LTAP-VLENR' gv_su.

perform dynpro using:
'X' 'SAPML03T' '0105',
' ' 'BDC_OKCODE' '=BU'.

* Если частичное ТО
else.

perform dynpro using:
'X' 'SAPML03T' '0102',
' ' 'RL03T-ANFME' real_qty,
' ' 'RL03T-SQUIT' lv_quit,
' ' 'LTAP-VLENR' gv_su.

perform dynpro using:
'X' 'SAPML03T' '0102',
' ' 'BDC_OKCODE' '/EESC'.

perform dynpro using:
'X' 'SAPML03T' '0105',
' ' 'BDC_OKCODE' '=BU'.

endif.

call transaction 'LT03' using bdcdata
mode lv_mode
update lv_update
messages into msgtab.
read table msgtab assigning <fs_msgtab> with key msgtyp = 'S'.

if sy-subrc = 0.

clear: lt_ltap_conf, ls_ltap_conf.
lv_tanum = <fs_msgtab>-msgv1.
move lv_tanum to ls_ltap_conf-tanum.
move 1 to ls_ltap_conf-tapos.
move 'X' to ls_ltap_conf-squit.
append ls_ltap_conf to lt_ltap_conf.

call function 'L_TO_CONFIRM'
exporting
i_lgnum = gs_pos-lgnum
i_tanum = lv_tanum
tables
t_ltap_conf = lt_ltap_conf.

Автор:  Besa [ Чт, ноя 23 2017, 17:51 ]
Заголовок сообщения:  Re: Создание ТО через LT03. Пакетник, BAPI. Надо частичное ТО. Создается на все количество.

Если руками создается то и пакетником должно создаваться.

Попробуйте запустить с дополнением options-racommit

Автор:  simka_3375 [ Пт, ноя 24 2017, 09:52 ]
Заголовок сообщения:  Re: Создание ТО через LT03. Пакетник, BAPI. Надо частичное ТО. Создается на все количество.

Похоже ФМ L_TO_CONFIRM отрабатывает на все количество.
Может количество обязательно надо указывать в параметре: tables t_ltap_conf = lt_ltap_conf ?

Автор:  Besa [ Пт, ноя 24 2017, 11:47 ]
Заголовок сообщения:  Re: Создание ТО через LT03. Пакетник, BAPI. Надо частичное ТО. Создается на все количество.

simka_3375 написал(а):
Похоже ФМ L_TO_CONFIRM отрабатывает на все количество.
Может количество обязательно надо указывать в параметре: tables t_ltap_conf = lt_ltap_conf ?

Не понятно в чем Ваша проблема. В использовании тр Lt03 через инструмент пакетного ввода с ожидаемым результатом "как при ручном вводе". Или же проблема в доп шаге ФМ L_TO_CONFIRM...

По ФМ L_TO_CONFIRM не скажу, воспользуйтесь поиском.

Автор:  DED_MOROZ [ Пн, ноя 27 2017, 09:18 ]
Заголовок сообщения:  Re: Создание ТО через LT03. Пакетник, BAPI. Надо частичное ТО. Создается на все количество.

У вас после выполнения пакетника транспортный заказ корректно обновлен?
Сравните данные в таблицах на примере 2 ТЗ, один обработает вручную через LT02, второй через пакетник.
Если да, то проблема в ФМ L_TO_CONFIRM.
Возможно, туда тоже нужно передавать количества.

Автор:  simka_3375 [ Пн, ноя 27 2017, 15:22 ]
Заголовок сообщения:  Re: Создание ТО через LT03. Пакетник, BAPI. Надо частичное ТО. Создается на все количество.

Проделала ручками: LT03 Create TO на 1шт. -> LT12 Confirmation по номеру ТО. На стоке переместилось 10 шт.
В Storage type definition есть галочка Full stk rmvl reqmt act.
Я так понимаю, что дальше программно пытаться сделать Partial TO не имеет смысла. А с точки зрения функционала какие варианты?

Автор:  Besa [ Пн, ноя 27 2017, 17:18 ]
Заголовок сообщения:  Re: Создание ТО через LT03. Пакетник, BAPI. Надо частичное ТО. Создается на все количество.

simka_3375 написал(а):
Проделала ручками: LT03 Create TO на 1шт. -> LT12 Confirmation по номеру ТО. На стоке переместилось 10 шт.
В Storage type definition есть галочка Full stk rmvl reqmt act.
Я так понимаю, что дальше программно пытаться сделать Partial TO не имеет смысла. А с точки зрения функционала какие варианты?

Судя по всему у Вас проблемы с бизнес процессом, либо Вы не знаете либо система не настроена для ввода данной цепочки.
Напоминаю, Вы в ветке программирования. Возможно имеет смысл спросить в функциональных ветках.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/