Sapforum.Biz
Инструменты => ABAP - Инструментальные средства => SE37 - Построитель функций => Тема начата: Паганель от Октябрь 04, 2009, 01:45:54 pm
-
Выдрал с LCOKO1F81, позволяет создавать партии, можно использовать в БАДишках, например MB_DOCUMENT_BADI - MB_DOCUMENT_BEFORE_UPDATE http://sapforum.biz/index.php/topic,826.new.html (http://sapforum.biz/index.php/topic,826.new.html), до конца не раскопал, думаю если раскопаю, то вопрос по сылке выше решится. А пока небольшой примерчик, кусок кода который вызывается в MB_DOCUMENT_BADI - MB_DOCUMENT_BEFORE_UPDATE и меняет входящую табличку wa_xmseg:
SELECT SINGLE * INTO ls_mcha FROM mcha WHERE charg = wa_xmseg-charg AND
matnr = wa_xmseg-matnr AND werks = wa_xmseg-werks.
IF sy-subrc = 0. " Найдено
clear ls_mcha-charg.
CLEAR ls_mcha-bwtar. " не знаю вроде бы так или наоборот ... clear valuation type in case of single batch valuation
CALL FUNCTION 'VB_CREATE_BATCH'
EXPORTING
ymcha = ls_mcha
new_lgort = wa_xmseg-lgort
bypass_lock = space
x_bncom = xbncom
kzcla = 'X' "ls_tco43-kzcla - возможность классификации, упростил см LCOKO1F81 там выбор по транзакции и профилю производства
xkcfc = space " ls_tco43-xkcfc
no_change_of_bwtar = space " yx
IMPORTING
ymcha = ls_mcha
TABLES
new_batch = gt_mcha
new_batch_stoloc = gt_mchb
EXCEPTIONS
OTHERS = 01.
wa_xmseg-charg = ls_mcha-charg.
wa_xmseg-bwtar = ls_mcha-bwtar.
Параметры:
ymcha - партия для товара (может ошибаюсь)
new_lgort - склад для партии
bypass_lock - рабочие поля для списков (выбор и вывод на экран) ???
x_bncom -Нумерация партий: блок связи (диалог) ???
KZCLA - Возможность классификации партий
XKCFC - Расширенная классификация посредством CFC (Программы пользователя)
no_change_of_bwtar - не менять Вид оценки
CLASS - судя по всему, класс, т.е. можно задать сразу код класса
По коду LCOKO1F81, можно найти более подробный пример, который как бы решает мой вопрос, правда еще надо разбирается, как только разберу - отпишусь
-
Чуть поодправлю пример, так как нашли ошибку .... я то выдрал кусок кода, убрал считываение настроечных данных ls_tco43-kzcla, ls_tco43-xkcfc и добавил параметр class.
http://sapforum.biz/index.php/topic,782.msg5214.html#msg5214 (http://sapforum.biz/index.php/topic,782.msg5214.html#msg5214)
clear ls_mcha-charg.
CLEAR ls_mcha-bwtar. " не знаю вроде бы так или наоборот ... clear valuation type in case of single batch valuation
ls_mcha-matnr = wa_xmseg-matnr.
ls_mcha-werks = wa_xmseg-werks.
ls_mcha-ERSDA = sy-datum.
CALL FUNCTION 'VB_CREATE_BATCH'
EXPORTING
ymcha = ls_mcha
new_lgort = wa_xmseg-lgort
bypass_lock = space
x_bncom = xbncom
kzcla = '1' "ls_tco43-kzcla - возможность класификации, упростил см LCOKO1F81 там выбор по транзакции и профилю производству
xkcfc = 'X' "space " ls_tco43-xkcfc
CLASS = 'BATCH'
no_change_of_bwtar = space "space " yx'X'
IMPORTING
ymcha = ls_mcha
TABLES
new_batch = gt_mcha
new_batch_stoloc = gt_mchb
EXCEPTIONS
OTHERS = 01.
wa_xmseg-charg = ls_mcha-charg.
wa_xmseg-bwtar = ls_mcha-bwtar.
-
Нашел ту FM для изменения/создания видов оценки партии VB_CHANGE_BATCH_VALUATION, будет время - оформлю пример
-
Обнаружил странное поведение данной FM, даже если не задавать исходный материал и партию,
ref_matnr = space
ref_charg = space
при перемещении 311 ВД, дата изготовления партии mcha-hsdat, подставляется, из перемещаемой партии, классификация, кстати кажется тоже ???
-
Обнаружил странное поведение данной FM, даже если не задавать исходный материал и партию,
ref_matnr = space
ref_charg = space
при перемещении 311 ВД, дата изготовления партии mcha-hsdat, подставляется, из перемещаемой партии, классификация, кстати кажется тоже ???
Ну как тебе сказать... ну как бы это правильно вообще-то... что подставляется.
-
Согласен, логично, это же не новый материал, который производится, ну тогда при 309 ВД, по идее должна проставляться, ..... ну короче сейчас проверю.
-
Согласен, логично, это же не новый материал, который производится, ну тогда при 309 ВД, по идее должна проставляться, ..... ну короче сейчас проверю.
При 309 тоже не должно.. так как это материал материал а не производство...