点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
你好大师,
我正在使用IF_EX_ME_PROCESS_PO_CUST〜CHECK方法来验证订单项。
我说有20个订单项,而第5个订单项验证时出错。
我能够使用正确的订单项编号显示正确的错误消息,
但是,在状态列中,红色块仅显示在最后一项中,而不显示在第五行中。
请建议如何在错误的订单项中获得此红色的块状错误指示。
我已经搜索了论坛,但没有任何相关的解决方案。
下面是我的代码示例。
LS_HEADER = IM_HEADER-> GET_DATA()。
LS_ITEM = IM_HEADER-> GET_ITEMS()。
将LS_ITEM循环到LINE_ITEM。
PO_ITEM = LINE_ITEM-ITEM-> GET_DATA()。
从EKPO选择单个NETPR进入L_NETPR
WHERE EBELN = LS_HEADER-EBELN
AND EBELP = PO_ITEM-EBELP。
如果L_NETPR <> PO_ITEM-NETPR。
L_EBELP = PO_ITEM-EBELP。
从EKBE中选择*到表I_EKBE1的对应字段中
WHERE EBELN = LS_HEADER-EBELN
AND EBELP = L_EBELP
AND BWART ='101'。
描述表I_EKBE1的LIN1行。
从EKBE中选择*到表I_EKBE2的对应字段中
WHERE EBELN = LS_HEADER-EBELN
AND EBELP = L_EBELP
AND BWART ='102'。
描述表I_EKBE2的LIN2行。
如果LIN1> LIN2。
CONCATENATE'由于PO的GRN不存在,价格无法更改'LS_HEADER-EBELN'AND项目'L_EBELP到g_msg,按空格分隔。
消息g_msg类型'E'。
CH_FAILED ='X'。
ENDIF。
ENDIF。
ENDLOOP。
你好
IF_EX_ME_PROCESS_PO_CUST〜CHECK适用于整个文档,并且您为写入的逻辑获取了正确的项目,但没有导出参数可返回错误项目编号。
我建议在方法IF_EX_ME_PROCESS_PO_CUST〜PROCESS_ITEM中写逻辑
此处引发错误消息和调用方法
之后。
希望它将解决问题。
谢谢
Krish
Hello Krish,
调用方法消息不起作用。 存在相同的错误。
但是我在IF_EX_ME_PROCESS_PO_CUST〜PROCESS_ITEM中尝试了相同的操作,并获得了预期的结果。
非常感谢您的回复,它解决了我的问题。
嗨,
我已经在IF_EX_ME_PROCESS_PO_CUST〜CHECK中尝试了此方法,但是问题仍然存在。 下面是我的代码的一部分
CONCATENATE'由于PO的GRN不存在,价格无法更改'LS_HEADER-EBELN'AND项目'L_EBELP到g_msg,按空格分隔。
消息g_msg类型'E'。
CH_FAILED ='X'。
LINE_ITEM-ITEM-> INVALIDATE()。
我仍在使用上述方法,但仍然遇到相同的问题。
调用方法cl_message_mm => create
导出
im_msgid ='ME'"消息ID
im_msgty ='E'"消息类别(E,I,W,...)
im_msgno ='151'"消息号
。
如果sy-subrc <>0。
ENDIF。
调用METHOD WA_RE_ITEMS-ITEM-> invalidate()。
一周热门 更多>