用户希望创建采购订单时,输入行项目时,能根据采购订单类型,自动带出科目分类类别。
业务顾问看了一下配置,不能实现这个功能,所以用增强实现。
采购订单BADI增强:ME_PROCESS_PO_CUST。SE19创建BADI实现,进入实施类方法: IF_EX_ME_PROCESS_PO_CUST~PROCESS_ITEM ,添加代码。
DATA: ls_item TYPE mepoitem, " 行项目 ls_header TYPE REF TO if_purchase_order_mm, " 抬头 ls_ekko TYPE mepoheader. " 抬头信息 " 获取抬头对象 CALL METHOD im_item->get_header RECEIVING re_header = ls_header.
" 获取采购订单抬头信息 CALL METHOD ls_header->get_data RECEIVING re_data = ls_ekko. IF ls_ekko-bsart = 'ZKF'.
" 获取采购行信息 CALL METHOD im_item->get_data RECEIVING re_data = ls_item. ls_item-knttp = 'F'. " 设置科目分配类别
" 设置采购行数据 CALL METHOD im_item->set_data EXPORTING im_data = ls_item. ENDIF.