首页 > 解决方案 > 在 ME21N 中的 PROCESS_ITEM 方法 set_data 之后未更新 EKPO 字段

问题描述

我正在尝试通过 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.

标签: abap

解决方案


我有同样的错误,我能够通过使用前面显示的相同代码来解决它IF_EX_ME_PROCESS_PO_CUST->PROCESS_ITEM

我不得不打电话im_item->get_data( )来从位置获取数据,并且 set 方法可以完美地工作。


推荐阅读