修改采购申请行BADI

激活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.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值