在SAP PO 功能,使用BADI 设置Default Value (e.g. Tax Code ) .

虽然可以在 SPRO IMG 中设定一些规则或条件进行设置Default Value ,但一般会放至 PO 的 Condition 中,不易处理特别的要求,而使用 BADI 的方法则可以方面的人工控制对应的要求。


其中主要的关键项有:

BADI : ME_PROCESS_PO_CUST

Method: PROCESS_ITEM

在Method 中使用的主要方法和属性有:

IM_ITEM->GET_HEADER( ).

IM_ITEM->GET_DATA( ).

IM_ITEM->SET_DATA( ).


示例如下:

主要作用是:针对5180 公司的 ZAS / ZAR 两个类型的PO ,则设定其 Tax Code 为 J1. 


method IF_EX_ME_PROCESS_PO_CUST~PROCESS_ITEM.

      data: obj_header type ref to if_purchase_order_mm,
            re_header type mepoheader,
            re_item type mepoitem.

      data: wa_bukrs type mepoheader-bukrs,
            wa_bsart type mepoheader-bsart.

      obj_header = im_item->get_header( ).
      re_header = obj_header->get_data( ).
      re_item = im_item->get_data( ).


*M1 when user enter company code/ with default company code: 5180 for either raw material/ submaterial purchasing order document type ,
*   then any new input purchase order line item needs to default its tax code as “J1”

      wa_bukrs = re_header-bukrs.
      wa_bsart = re_header-bsart.
      if wa_bukrs = '5180' and ( wa_bsart = 'ZAR' or wa_bsart = 'ZAS' ).
        if re_item-mwskz is initial.
          re_item-mwskz = 'J1'.

          CALL METHOD im_item->set_data
            EXPORTING
              im_data = re_item.
        endif.
      endif.

endmethod.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值