点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
我需要在事务ME52N的sypply选项卡的源中更新发行存储位置RESLO。
步骤如下:
1-将商品类别类型PSTYP更改为U:库存转储
2-填充现场供应工厂RESWK
3-当点击" ENTER"时,我们应该使用MARC-lgfsb更新发行存储位置字段" RESLO"
我在Badi CL_IM_ME_PROCESS_REQ_CUST(方法process_item)中进行了更改,但该字段未更新。 这是我添加的代码
数据:lv_lgfsb类型lgfsb。
呼叫方法im_item-> get_data
接收
re_data = wa_item。
呼叫方法im_item-> get_datax
接收
re_datax = wa_itemx。
如果im_count = 1。
如果wa_item-pstyp ='7'并且
wa_item-reslo是INITIAL AND
wa_item-reswk不是初始的。
清除lv_lgfsb。
选择单个lgfsb进入lv_lgfsb
从marc WHERE matnr = wa_item-matnr
AND werks = wa_item-werks。
如果sy-subrc = 0。
wa_item-reslo = lv_lgfsb。
wa_itemx-reslo ='X'。
ENDIF。
呼叫方法im_item-> set_datax
导出
im_datax = wa_itemx。
呼叫方法im_item-> set_data
导出
im_data = wa_item。
ENDIF。
ENDIF。
谢谢
找到解决方案,
我们需要在Process_item方法中添加这部分代码
如果im_count =1。" in_count设置为1以删除无限循环
"获取项目行数据
呼叫方法im_item-> get_data
接收
re_data = wa_item。
如果wa_item-pstyp ='7'并且"为库存调拨U设置了项目类别类型
wa_item-reslo是INITIAL并且"未设置发布存储位置
wa_item-reswk不是初始的。 "发行工厂已满
"从MARC表中获取默认存储位置
清除lv_lgfsb。
选择单个lgfsb进入lv_lgfsb
从marc WHERE matnr = wa_item-matnr
AND werks = wa_item-werks。
如果sy-subrc = 0。
lv_obj?= im_item。
将" MY_STATE-> ITEM-RESLO"移动到lv_attr。
ASSIGN lv_obj->(lv_attr)至。
将lv_lgfsb移动到。
ENDIF。
ENDIF。
ENDIF。
ENDIF。
1789626-无法更新发布字段的存储位置(RESLO)。
如果需要更新RESLO,则应该扩展结构MEREQ_ITEM_S_CUST_ALLOWED。
一周热门 更多>