我正在尝试通过BADI me_process_po_cust,方法PROCESS_ITEM来更改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.发布于 2018-10-29 16:28:00
请检查是否有可能正在更新字段值的PO的项目增强实施。
致敬,奥马尔·阿卜杜拉
发布于 2020-01-25 05:58:57
我也犯了同样的错误,并且我能够通过使用之前在IF_EX_ME_PROCESS_PO_CUST->PROCESS_ITEM中显示的相同代码来解决它。
我必须调用im_item->get_data( )来从position获取数据,而set方法工作得很好。
https://stackoverflow.com/questions/52921599
复制相似问题