激活badi:ME_PROCESS_REQ_CUST
在badi:IF_EX_ME_PROCESS_REQ_CUST~PROCESS_ITEM中修改zfield字段
method IF_EX_ME_PROCESS_REQ_CUST~PROCESS_ITEM.
data:lr_werks type range of t001w-werks.
lr_werks = VALUE #( sign = 'I' option = 'EQ' ( low = '1010' )
( low = '1910' )
( low = '1810' ) ).
data(lr_header) = im_item->get_requisition( ).
data(ls_header) = lr_header->get_data( ). " 抬头
data(ls_item) = im_item->get_data( ). " 行项目
data(lt_mmpur_accounting_list) = im_item->if_acct_container_mm~get_items( )." ebkn
if ls_item-werks in lr_werks.
if ls_item-zxx01 NE '' .
ls_item-zfield = '4'."
elseif ls_item-zxx02 NE ''
ls_item-zfield = '2'." 代产
endif.
read table lt_mmpur_accounting_list into data(ls_mmpur_accounting_list) index 1.
data(ls_exkn) = ls_mmpur_accounting_list-model->get_exkn( ).
select single ccpjb
from zxxtable
into @data(lv_ccpjb)
where matnr = @ls_item-matnr
and werks = @ls_item-reswk
and pspid = @ls_exkn-ps_psp_pnr
and ccpjb = '一级'.
IF sy-subrc eq 0.
ls_item-zfield = '1'.
else.
ls_item-zfield = '2'.
ENDIF.
endif.
call method im_item->set_datax
exporting
im_datax = value mereq_itemx( zfield = 'X') .
call method im_item->set_data
exporting
im_data = ls_item.
endif.
endmethod.