始终在显示验证PO项目tcode ME22N时的错误状态

2020-08-19 07:12发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好大师, 我正在使用IF_...

         点击此处--->   EasySAP.com群内免费提供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。