点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
背景:
我们已经定义了业务类型为'MAT2'的MDG-M的更改请求(Z_MAT02),并对于'并行更改请求处理'声明为"有效"。
场景:
物料号:7000012345
提到的材料已锁定在2个CR中,以便在不同的工厂中扩展。
喜欢
CR1:工厂'P1'的扩展名
CR2:工厂'P2'的扩展名
CR1和CR2处于活动状态,并且类型相同= Z_MAT02。
问题:
在代码中,我们想使用
来获取CR特定数据呼叫方法io_model-> read_entity_data_all(
导出
i_fieldname ='MATERIAL'
if_active = abap_false
i_crequest = l_crequest_id
IMPORTING
et_data_entity = li_data_entity)。
在LI_DATA_ENTITY中,即使我们在I_CREQUEST_ID中传递了CR1或CR2,我们也同时获得了植物(P1和P2)。
查询:如何在代码中获取CR特定数据,即,如果我们将CR1作为请求ID传递,则应该仅在LI_DATA_ENTITY中填充P1。
挑战/原因:在CR1的用户界面上,我们收到了P2的验证错误,因为该错误在该CR中不存在。
谢谢。
Saurabh
大家好,
我找到了一种解决上述情况的方法:
数据:l_lo_changelist类型参考if_usmd_cr_changelist。
l_lo_changelist = cl_usmd_cr_changelist => get_instance(iv_crequest_id = cr_number
iv_model ='MM')。
上面的接口具有方法" is_entity_assigned",该方法将确认CR中锁定的Entity的值。
l_lo_changelist-> is_entity_assigned(iv_entity_type ='MARCBASIC'
is_entity_key =)= LV_FLAG。
其中是MARCBASIC实体的工作区。
如果LV_FLAG ='X'。 ->实体出现在变更请求中。
如果LV_FLAG =''->变更请求中不存在实体。
类似地,我们也可以检查实体的其余部分。
感谢
Saurabh
嗨,Saurabh,
要读取并行更改请求,请使用方法read_char_value。
谢谢!
Logan.D
一周热门 更多>