[问题解决]使用mpur_message_forced时,校验消息添加到错误的采购订单行项目上

1,问题描述

在BADI ME_PROCESS_PO_CUST的方法CHECK中增强,增加对采购订单行项目的校验,发现使用宏mpur_message_forced添加错误消息时,这些错误消息只能显示到采购订单的最后一行上,并不能按照行项目归集显示。

增强点:

<img class="alignnone size-full wp-image-6487" src="//pic.ikafan.com/imgp/L3Byb3h5L2h0dHAvd3d3LmJhaWR1c2FwLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxOS0wNi0xNF85LTMyLTUzLmpwZw==.jpg" width="626" height="407" />

错误截图,

点击检查按钮后,下图中,可以看到行00020上的错误显示到PO的最后一个行项目30上了,

<img class="alignnone size-medium wp-image-6488" src="//pic.ikafan.com/imgp/L3Byb3h5L2h0dHAvd3d3LmJhaWR1c2FwLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxOS0wNi0xM18xNy0yMi0xNS03NDB4MzI5LmpwZw==.jpg" width="740" height="329" srcset="http://www.baidusap.com/wp-content/uploads/2019-06-13_17-22-15-740x329.jpg 740w, http://www.baidusap.com/wp-content/uploads/2019-06-13_17-22-15-768x342.jpg 768w, http://www.baidusap.com/wp-content/uploads/2019-06-13_17-22-15-1024x456.jpg 1024w, http://www.baidusap.com/wp-content/uploads/2019-06-13_17-22-15.jpg 1124w" sizes="(max-width: 740px) 100vw, 740px" />

关闭弹出的消息窗口后,红灯标识显示到30行上了。

<img class="alignnone size-medium wp-image-6489" src="//pic.ikafan.com/imgp/L3Byb3h5L2h0dHAvd3d3LmJhaWR1c2FwLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxOS0wNi0xM18xNy0yMy0zMy03NDB4MjcwLmpwZw==.jpg" width="740" height="270" srcset="http://www.baidusap.com/wp-content/uploads/2019-06-13_17-23-33-740x270.jpg 740w, http://www.baidusap.com/wp-content/uploads/2019-06-13_17-23-33-768x280.jpg 768w, http://www.baidusap.com/wp-content/uploads/2019-06-13_17-23-33.jpg 777w" sizes="(max-width: 740px) 100vw, 740px" />

2,问题解决

查看代码发现在宏 mpur_message_forced之前漏掉了一句话,

ABAP

mmpur_business_obj_id ls_item-id.

1

mmpur_business_obj_id ls_item-id.

宏mmpur_business_obj_id就是用来确定错误消息显示到哪个行项目上的。

完整的代码:

DATA:lt_po_item TYPE purchase_order_items,
     ls_po_item LIKE LINE OF lt_po_item,
     ls_item    TYPE mepoitem.

lt_po_item = im_header->get_items( ).

LOOP AT lt_po_item INTO ls_po_item.
  ls_item = ls_po_item-item->get_data( ).
* ....
  IF ls_item-lifnr IS INITIAL.
    mmpur_business_obj_id ls_item-id. "确定错误消息显示到哪个行项目上
    mmpur_message_forced  ‘E‘ ‘ZMM001‘ ‘003‘ lv_message ‘‘ ‘‘ ‘‘. "收集错误消息
    CALL METHOD ls_po_item-item->invalidate( ). "将发生错误的行设置为无效行
    ch_failed = ‘X‘.
  ENDIF.

ENDLOOP.

修改后测试效果:错误消息不在显示在最后一个行项目30上了,改到了20上。

<img class="alignnone size-medium wp-image-6492" src="//pic.ikafan.com/imgp/L3Byb3h5L2h0dHAvd3d3LmJhaWR1c2FwLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxOS0wNi0xM18xNy0yOC00Ny0xLTc0MHgyMzcuanBn.jpg" width="740" height="237" srcset="http://www.baidusap.com/wp-content/uploads/2019-06-13_17-28-47-1-740x237.jpg 740w, http://www.baidusap.com/wp-content/uploads/2019-06-13_17-28-47-1-768x246.jpg 768w, http://www.baidusap.com/wp-content/uploads/2019-06-13_17-28-47-1-1024x328.jpg 1024w, http://www.baidusap.com/wp-content/uploads/2019-06-13_17-28-47-1.jpg 1045w" sizes="(max-width: 740px) 100vw, 740px" />

以上。

原文地址:https://www.cnblogs.com/datie/p/11428404.html

时间: 2024-10-08 02:55:10

[问题解决]使用mpur_message_forced时,校验消息添加到错误的采购订单行项目上的相关文章

PLS-00306: 调用 'SYNCRN' 时参数个数或类型错误

System.Data.OracleClient.OracleException (0x80131938): ORA-00604: 递归 SQL 级别 1 出现错误 ORA-06550: 第 1 行, 第 7 列: PLS-00306: 调用 'SYNCRN' 时参数个数或类型错误 ORA-06550: 第 1 行, 第 7 列: PL/SQL: Statement ignored 在 System.Data.OracleClient.OracleConnection.CheckError 解决

SAP收货时自动创建采购订单(或106 ,自动建立退货采购订单)

在实际业务中,常常出现到货物料没有订单或订单未批准的现象,按照SAP的标准流程,应该拒绝收货.但在实际业务中,这些物料可能是紧急采购的急件,如不及时处理,将会影响生产计划的安排.对于这种特殊情况,其实SAP有很灵活的处理方式,即由收货自动创建订单.需要说明的是,这种操作方式并不是SAP推荐的,不应在实际业务中大量采用. 具体流程如下: 1.移动类型101已在后台设置为自动创建定单.具体方法是:进入IMG后台,物料管理->库存管理和实际库存->收货->自动创建采购订单,双击进入后,将101

百度地图API多个点聚合时,标注添加的标签label地图刷新就丢失的问题解决

当将自定义的Marker(含有Label)通过MarkerClusterer 管理的时候,当地图发生任何移动.缩放 的时候,Marker 的Label 就会自动消失. 这个问题主要是由于百度的点聚合API<script type="text/javascript" src="http://api.map.baidu.com/library/MarkerClusterer/1.2/src/MarkerClusterer_min.js"></scrip

IIS错误:在唯一密钥属性“fileExtension”设置为“.json”时,无法添加类型为“mimeMap”的重复集合项

在用visual studio 打开一个asp.net mvc 项目时,ctrl+f5运行,发现页面无法加载图片.js.json文件. 按F12查看错误,发现500错误.打开报错的js文件,提示: IIS错误:在唯一密钥属性"fileExtension"设置为".mp4"时,无法添加类型为"mimeMap"的重复集合项 参考园内博客的解决方案:在web.config文件中添加: <staticContent> <remove f

编辑时snapping的添加

转自原文 编辑时snapping的添加 注意需要在编辑模式下进行snapping的添加(也即先需要使用IEngineEditor进入编辑状态): IMapControl3 mMap = (IMapControl3)((IToolbarControl)toolHook).Buddy; IEngineEditor m_engineEditor = new EngineEditorClass(); if (m_engineEditor.EditState == esriEngineEditState.

给微信图文消息添加修饰方框更简洁大方

我们在编辑微信公众号的时候,如果篇幅比较长,或者要点比较多,可以用方框分几个小版块,用户浏览更明了,排版美观许多,也不会给人一种长篇大论的感觉,一眼瞄过去就不想往下看,如下图的布局是不是更清爽一些呢? 想要这样的效果?直接复制下面的两小块就行了,文字自行修改.开始复制! 微信号 [微信号:xmyanke](←长按复制) 想知道日常生活中如何护眼吗?…… 如果要更多的样式,可以查看源代码,不懂代码没关系,修改具体的颜色值就够了,类似这种的color: #3e3e3e;,改一下就知道哪些是定义底部颜

vim 编写脚本时自动配置添加版权信息

在编写脚本时,可添加版权信息,以便脚本的最大实用性,也是个人劳动所在 下面是vim 编写脚本时自动配置添加版权信息 在用户的家目录下(一般是root目录)编辑.vimrc(注意是隐藏文件) 编辑以下内容        (若以下内容复制格式有问题,请将附件的vimrc拷贝并改名为.vimrc) map <F4> :call TitleDet()<cr>function AddTitle()    call append(0,"\#!/bin/bash")    

C++ 使用Json时,VS2010添加jsoncpp

一 编译链接 1 在相应官网下载jsoncpp 2 解压得到jsoncpp-src-0.5.0文件 3 打开jsoncpp-src-0.5.0 -> makefiles -> vs71 -> jsoncpp.sln 4 转换项目为VS2010格式 5 选择debug模式 6 在“解决方案资源管理器”中右击 lib_json 选择->仅用于项目 -> 仅生成lib_json 7 再次右击 lib_json 选择->仅用于项目 -> 仅链接lib_json 8 选择r

python出错时提示消息解读

写 Python 代码的时候,当代码中出现错误,会在输出的时候打印 Traceback  错误信息,很多初学者看到那一堆错误信息,往往都会处于懵逼状态,脑中总会冒出一句,这都是些啥玩意.如果你是第一次看到它,也许你不知道它在告诉你什么.虽然 Python 的 Traceback  提示信息看着挺复杂,但是里面丰富的信息,可以帮助你诊断和修复代码中引发异常的原因,以及定位到具体哪个文件的哪行代码出现的错误,所以说学会看懂 Traceback  信息是非常重要的,另外在面试的时候也经常会问到 Pyt