ME21N 中的 PROCESS_ITEM 方法 set_data 后 EKPO 字段未更新 [英] EKPO fields not updated after PROCESS_ITEM method set_data in ME21N

查看:39
本文介绍了ME21N 中的 PROCESS_ITEM 方法 set_data 后 EKPO 字段未更新的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试通过 BADI me_process_po_cust 方法 PROCESS_ITEM 更改 ME21n 中的字段 WEORA 和 BSTAE.我已成功更改屏幕中的值,但是当我保存 PO 时,表 EKPO 未使用新值更新.我错过了什么吗?我需要提交吗?

I'm trying to change field WEORA and BSTAE in ME21n through BADI me_process_po_cust, method PROCESS_ITEM. I have successfully changed the value in the screen, BUT when I saved the PO, table EKPO is not updated with the new value. Am I missing something? Do I need to commit?

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.

推荐答案

我遇到了同样的错误,我能够使用之前在 IF_EX_ME_PROCESS_PO_CUST->PROCESS_ITEM 中显示的相同代码解决它.

I had the same mistake and I was able to resolve it by using the same code shown before in IF_EX_ME_PROCESS_PO_CUST->PROCESS_ITEM.

我不得不调用 im_item->get_data( ) 来从位置获取数据并且 set 方法完美运行.

I had to call im_item->get_data( ) to get the data from the position and the set method work perfectly.

这篇关于ME21N 中的 PROCESS_ITEM 方法 set_data 后 EKPO 字段未更新的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆