Добрый день всем!
Подскажите, плз, как заставить работать ФМ CSAP_MAT_BOM_MAINTAIN.
Задача: в заданной альтернативе изменить компоненты.
Что делаю:
1. Считываю альтернативу через CSAP_MAT_BOM_READ
2. Подменяю в stpo компоненты.
3. вызываю
1) CSAP_MAT_BOM_MAINTAIN,
или последовательно
2)CSAP_MAT_BOM_OPEN, CSAP_BOM_ITEM_MAINTAIN, CSAP_MAT_BOM_CLOSE
В обоих случаях при первом же вызове (CSAP_MAT_BOM_MAINTAIN или CSAP_MAT_BOM_OPEN) sy-subrc = 1.
Что ему не нравится - непонятно.
Если не сложно, выложите, плз, рабочий код, в котором эти модули что-нибудь меняют.
Мой код
Code:
call function 'CSAP_MAT_BOM_READ'
exporting
material = gs_out-matnr
plant = p_swerk
bom_usage = '1'
alternative = gs_out-stlal_to
tables
t_stpo = gs_out-t_stpo
t_stko = lt_stko
exceptions
error = 1
others = 2
.
loop at gs_out-t_stpo assigning <fs_stpo>
where component = gs_out-idnrk_from.
<fs_stpo>-component = gs_out-idnrk_to.
endloop.
read table lt_stko into gs_out-s_stko index 1.
move-corresponding gs_out-s_stko to l_stko.
loop at gs_out-t_stpo assigning <fs_stpo>.
move-corresponding <fs_stpo> to ls_stpo.
append ls_stpo to lt_stpo.
endloop.
data l_date(10).
write sy-datum to l_date.
Далее либо
Code:
call function 'CSAP_MAT_BOM_OPEN'
exporting
material = gs_out-matnr
plant = p_swerk
bom_usage = '1'
alternative = gs_out-stlal_to
valid_from = l_date
tables
t_stpo = gs_out-t_stpo
exceptions
error = 1
others = 2
.
либо
Code:
call function 'CSAP_MAT_BOM_MAINTAIN'
exporting
material = gs_out-matnr
plant = p_swerk
bom_usage = '1'
alternative = gs_out-stlal_to
valid_from = l_date
i_stko = l_stko
importing
o_stko = gs_out-s_stko
tables
t_stpo = lt_stpo
exceptions
error = 1
others = 2
.
оба варианта отрабатывают с sy-subrc = 1
