成功输出消息后的采购订单不能取消审核
2016-07-18 09:14
197 查看
症状:当PO已经使用ME9F输出后,无法取消订单的审核。 系统提示:
ME175 凭证已输出(功能不可用).
应管理要求,系统后台已设定PO在审核后不能进行更改,即“可更改”设为值1-不能更改.
依照网上搜的资料,实施了两个NOTE:
Note
994269 - ME28 - release reset for already outputted POs
Note
1133900 - ME28 - Release reset for already output purchasing message
实施后发现问题依然存在。
根据用户反馈,这种已审核的订单,有的打印了可以反审核,有的不行。后来依据网上资料的线索及对有差异的订单对比发现,SAP是通过比较在PO中的MESSAGE的状态来判断能否撤消.如果PO中存在MESSAGE,并且全部正常输出,即状态全部为1,则PO不可撤消审核。如果其中一条MESSAGE的状态不是1,则可以撤消审核。
正经方法是:
使用事务ME9F,选择输出状态为
1-成功输出 ,点击执行,这里系统会列出所有成功输出过的消息,勾中任何一个,再点击消息细节.现在看到了类似于采购订单中的消息列表,选中任意一个后,点重复输出,系统会复制一个,并且看起来是黄色的,保存退出.这里,由于存在一个没有成功输出的消息,你可以使用ME28撤消这张PO了.
非正经渠道解决方法有两种,且要求你有相当高的权限:
1、PO输出的MESSAGE放置在表NAST中,字段VSTAT即存放的MESSAGE状态的值。使用SE16N查看表,并在命令栏中输入&sap_edit,使得你可以直接修改表内容,在字段OBJKY中输入PO号,在结果中,将任一vstat字段值改成0。这时,你可以使用ME28撤消审核了。
SE16N查看并修改表:
搜索结果,同时修改值:
方法二:直接在DEBUG中更改变量值,绕过程序。
使用SE38,在程序FM06LFFR_FRG_RESET中设置断点
**********************************************************************
CLEAR GEDRUCKT. "此外断点
IF FEKKO-FRGDR EQ '1'.
GEDRUCKT = 'X'.
ENDIF.
CALL FUNCTION 'ME_REL_RESET'
EXPORTING
I_TITLE = ' '
***********************************************************************
同样,使用事务ME28进行订单的撤消审核。程序运行时会自动弹出DEBUG窗口,强制将FEKKO-FRGDR的值改为0,继续往下执行即可完成订单的撤消审核。 原理不清楚。
如果你的配置场景与我们不一样,比如,你的采购订单在审核后是可以修改的,则可以按上边提到的原理,在PO的MESSAGE中,新增一个MESSAGE,不要输出,再使用ME28进行撤消审核。
ME175 凭证已输出(功能不可用).
应管理要求,系统后台已设定PO在审核后不能进行更改,即“可更改”设为值1-不能更改.
依照网上搜的资料,实施了两个NOTE:
Note
994269 - ME28 - release reset for already outputted POs
Note
1133900 - ME28 - Release reset for already output purchasing message
实施后发现问题依然存在。
根据用户反馈,这种已审核的订单,有的打印了可以反审核,有的不行。后来依据网上资料的线索及对有差异的订单对比发现,SAP是通过比较在PO中的MESSAGE的状态来判断能否撤消.如果PO中存在MESSAGE,并且全部正常输出,即状态全部为1,则PO不可撤消审核。如果其中一条MESSAGE的状态不是1,则可以撤消审核。
正经方法是:
使用事务ME9F,选择输出状态为
1-成功输出 ,点击执行,这里系统会列出所有成功输出过的消息,勾中任何一个,再点击消息细节.现在看到了类似于采购订单中的消息列表,选中任意一个后,点重复输出,系统会复制一个,并且看起来是黄色的,保存退出.这里,由于存在一个没有成功输出的消息,你可以使用ME28撤消这张PO了.
非正经渠道解决方法有两种,且要求你有相当高的权限:
1、PO输出的MESSAGE放置在表NAST中,字段VSTAT即存放的MESSAGE状态的值。使用SE16N查看表,并在命令栏中输入&sap_edit,使得你可以直接修改表内容,在字段OBJKY中输入PO号,在结果中,将任一vstat字段值改成0。这时,你可以使用ME28撤消审核了。
SE16N查看并修改表:
搜索结果,同时修改值:
方法二:直接在DEBUG中更改变量值,绕过程序。
使用SE38,在程序FM06LFFR_FRG_RESET中设置断点
**********************************************************************
CLEAR GEDRUCKT. "此外断点
IF FEKKO-FRGDR EQ '1'.
GEDRUCKT = 'X'.
ENDIF.
CALL FUNCTION 'ME_REL_RESET'
EXPORTING
I_TITLE = ' '
***********************************************************************
同样,使用事务ME28进行订单的撤消审核。程序运行时会自动弹出DEBUG窗口,强制将FEKKO-FRGDR的值改为0,继续往下执行即可完成订单的撤消审核。 原理不清楚。
如果你的配置场景与我们不一样,比如,你的采购订单在审核后是可以修改的,则可以按上边提到的原理,在PO的MESSAGE中,新增一个MESSAGE,不要输出,再使用ME28进行撤消审核。
相关文章推荐
- Android:LinearLayout布局中Layout_weight的深刻理解
- [学习笔记]javascript的语法和关键字
- 生产订单收货数量与物料凭证计算总数量不一致
- 搜索引擎研究---网络蜘蛛程序算法相关资料 Part II (共5部分)
- Android模版化编程系列(二)
- oracle之order by
- 【安卓面试题】简述一下Android系统的架构?
- svg
- 一步步开发自己的博客 .NET版(11、Web.config文件的读取和修改)
- POI实现超大数据的Excel的读写操作,支持Excel最大行数。
- ContextLoaderListener理解
- 一句代码,更加优雅的调用KVO和通知
- python读取oracle函数返回值
- 搜索引擎研究---网络蜘蛛程序算法相关资料 Part I (共5部分)
- mvp架构解析
- H5学习笔记
- google guava使用介绍
- 服务器推技术comet的pushlet实现
- Linux C编程实战——第六章 文件操作
- Javascript对象继承