ME21N中的PROCESS_ITEM方法set_data后,EKPO字段未更新

时间:2018-10-22 02:15:52

标签: sap exit abap

我试图通过方法PROCESS_ITEM的BADI me_process_po_cust更改ME21n中的WEORA和BSTAE字段。我已成功更改了屏幕中的值,但是保存PO时,表EKPO并未用新值更新。我想念什么吗?我需要提交吗?

DATA: ls_mepoitem_set TYPE mepoitem.
DATA: cl_po TYPE REF TO cl_po_header_handle_mm.
DATA: ls_mepoitem TYPE mepoitem.
FIELD-SYMBOLS: <fs_item> TYPE mepoitem.

ls_mepoitem = im_item->get_data( ).

ls_mepoitem_set = ls_mepoitem.
ls_mepoitem_set-bstae = '0004'.
ls_mepoitem_set-weora = abap_true.
ASSIGN ls_mepoitem_set TO <fs_item>.
CALL METHOD im_item->set_data( EXPORTING im_data = <fs_item> ).

cl_po ?= lm_poheader.
IF NOT cl_po->my_recheck_queue IS INITIAL.
   CLEAR cl_po->my_recheck_queue.
ENDIF.

2 个答案:

答案 0 :(得分:0)

请检查PO是否有项目增强功能,可能正在更新字段值。

致谢, 乌玛·阿卜杜拉(Umar Abdullha)

答案 1 :(得分:0)

我犯了同样的错误,并且可以使用之前在IF_EX_ME_PROCESS_PO_CUST->PROCESS_ITEM中显示的相同代码来解决它。

我必须调用im_item->get_data( )才能从该位置获取数据,并且set方法可以正常工作。