在me22n中更改标题中的partnet功能时更新所有项目的ever

2020-09-06 00:44发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

每当用户在me22n的标头选项卡中更改伙伴功能时,我都有一个要求,它应该检查ztable并找到合适的ever并更新所有项目,我在badi中写了一些逻辑

ME_PROCESS_PO_CUST〜检查,代码工作正常,我正在创建一个新的po并输入其从ztable中获取evers并在PO中进行更新的伙伴函数,但是执行相同的代码(在调试中检查),但不是 当t代码为me22n时,替换itesm中现有的evers .....我可以在屏幕上看到evers字段的变化,但未触及ekpo表...请查看我的代码,让我知道是否必须这样做 任何更改...这些更改会反映在屏幕上,但不会影响表格。 如果我在me22n中重新打开po,我只会看到现有的Ever,还有什么我需要做的事吗....调用任何其他方法来反映更改,请帮助....

wa_header = im_header-> get_data()。"标题详细信息
lo_po_doc?= im_header。"转换为购买文档的
lt_partners = lo_po_doc-> get_partners()。

将项目循环到项目中。
调用方法item-item-> get_data
接收
re_data = lsitem。


在lt_partners INTO ls_partner中循环。
lv_parvw = ls_partner(2)。 -subrc = 0。
如果ls_zvn_ship_act-parvw eq lv_parvw和ls_zvn_ship_act-act_fun ='X'。
如果lsitem-evers ne ls_zvn_ship_act-evers。
lsitem-evers = ls_zvn_ship。 :lo_po_header_handle_mm类型参考cl_po_header_handle_mm。
lo_po_header_handle_mm?= im_header。
lo_po_header_handle_mm-> my_ibs_firewall_on ='X'。
im_data = lsitem。
lv_temp = lv_temp +1。
ENDIF。
ENDIF。
ENDIF。
ENDLOOP。
ENDLOOP。
IFlv_temp不是INITIAL。< br>数据:lv_id TYPE图标ID。

选择单个ID
FROM图标
INTO lv_idWHERE名称='ICON_MESSAGE_WARNING'。

通话功能'POPUP_TO_INFORM'
导出
TITEL ='警告'
TXT1 = lv_id
TXT2 ='RCA字段T o被更新'
* TXT3 =''
* TXT4 =''

ENDIF。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

每当用户在me22n的标头选项卡中更改伙伴功能时,我都有一个要求,它应该检查ztable并找到合适的ever并更新所有项目,我在badi中写了一些逻辑

ME_PROCESS_PO_CUST〜检查,代码工作正常,我正在创建一个新的po并输入其从ztable中获取evers并在PO中进行更新的伙伴函数,但是执行相同的代码(在调试中检查),但不是 当t代码为me22n时,替换itesm中现有的evers .....我可以在屏幕上看到evers字段的变化,但未触及ekpo表...请查看我的代码,让我知道是否必须这样做 任何更改...这些更改会反映在屏幕上,但不会影响表格。 如果我在me22n中重新打开po,我只会看到现有的Ever,还有什么我需要做的事吗....调用任何其他方法来反映更改,请帮助....

wa_header = im_header-> get_data()。"标题详细信息
lo_po_doc?= im_header。"转换为购买文档的
lt_partners = lo_po_doc-> get_partners()。

将项目循环到项目中。
调用方法item-item-> get_data
接收
re_data = lsitem。


在lt_partners INTO ls_partner中循环。
lv_parvw = ls_partner(2)。 -subrc = 0。
如果ls_zvn_ship_act-parvw eq lv_parvw和ls_zvn_ship_act-act_fun ='X'。
如果lsitem-evers ne ls_zvn_ship_act-evers。
lsitem-evers = ls_zvn_ship。 :lo_po_header_handle_mm类型参考cl_po_header_handle_mm。
lo_po_header_handle_mm?= im_header。
lo_po_header_handle_mm-> my_ibs_firewall_on ='X'。
im_data = lsitem。
lv_temp = lv_temp +1。
ENDIF。
ENDIF。
ENDIF。
ENDLOOP。
ENDLOOP。
IFlv_temp不是INITIAL。< br>数据:lv_id TYPE图标ID。

选择单个ID
FROM图标
INTO lv_idWHERE名称='ICON_MESSAGE_WARNING'。

通话功能'POPUP_TO_INFORM'
导出
TITEL ='警告'
TXT1 = lv_id
TXT2 ='RCA字段T o被更新'
* TXT3 =''
* TXT4 =''

ENDIF。

付费偷看设置
发送
2条回答
Baoming ROSE
1楼-- · 2020-09-06 01:27

您是否忘记粘贴以下语句(如果没有,请将其添加到您的代码中)

 items = im_header-> get_items()。

否则,您是否也可以使用 item->该字段的get_datax和set_datax?

派大星 ヾ
2楼-- · 2020-09-06 01:19

不要将该项目重新分配给PO类,仅在需要时上/下转换(例如,缺少诸如从im_header获取伙伴之类的方法) p>

也从get_items方法的结果中循环查找项目

 items = im_header-> get_items()。
 将项目分配到<项目>。
 -> get_data(接收re_data = wa_item)。
 -> get_datax(接收re_datax = wa_itemx)。
 wa_item-evers ='G1'。
 wa_itemx-evers = abap_true。
 -> set_data(wa_item)。
 -> set_datax(wa_itemx)。

一周热门 更多>