abap - 在 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.
解决方案
我有同样的错误,我能够通过使用前面显示的相同代码来解决它IF_EX_ME_PROCESS_PO_CUST->PROCESS_ITEM
。
我不得不打电话im_item->get_data( )
来从位置获取数据,并且 set 方法可以完美地工作。
推荐阅读
- javascript - WebGL 着色器在移动设备上的工作方式不同
- r - 基于 df 的闪亮仪表板复选框输入
- docker - 如何在 gitlab 注册表中包含来自另一个存储库的代码?
- linux - 如何在 bash 脚本中引用变量
- python - 在程序运行时查找列表中输入的元素是重复的还是唯一的
- c++ - 是否可以将 SSL_set_fd() 与管道一起使用?
- android - 带有 SDK API v22 的 Android Studio Android 手机“Android 版本”9.0?
- c# - 我编写了一个提交按钮以将用户重定向到另一个页面,但它说找不到本地主机
- automation - 如何在 Gitlab 或 App Center 中自动增加 React Native Apps 版本
- swiftui - 为所有设备设置动态框架的最佳方法