1, PARK_UNCOMPLETE参数
BAPI BAPI_PO_CREATE1中有个参数PARK_UNCOMPLETE,看帮助文档,当等于‘X'时,PO创建发生错误时会生成暂存订单。
点击右边绿色按钮可以看到参数文档,里面描述了PARK_UNCOMPLETE和MEMORY_UNCOMPLETE配合使用的逻辑
但是很遗憾,此时BAPI还是不能创建的暂存的PO。。。
2, 激活switch MM_SFWS_PH_CORE
经过调查还需要激活一个switch LOG_MM_CI_3,其中的MM_SFWS_PH_CORE 就是影响暂存订单的。
激活过程:
tcode SFW5,查找到 LOG_MM_CI_3
钩上checkbox,然后点击activate changes激活
注意此激活是不可逆的。
转入后台激活
激活后,灯泡图标点亮,右边也有文本提示,will remain activated
在switch Framework Brower中可以查看到 LOG_MM_CI_3下的所有功能被激活,其中包括了影响预制和暂存的MM_SFWS_PH_CORE
3, BADI ME_HOLD_PO
最后还要SE19创建一个BADI实施,badi ME_HOLD_PO中就一个方法is_allowed,用来允许hold和park订单的生成,
代码:
1 2 3 4 |
METHOD if_ex_me_hold_po~is_allowed. ch_allowed = 'X'. ch_park_allowed = 'X'. ENDMETHOD. |
4, 其他
- 生成暂存订单时,也要调用 BAPI_TRANSACTION_COMMIT
- 这个激活没有TR传输,需要在测试系统,生产系统分别激活,激活时需要联系Basis打开激活。
- 生成暂存订单时,bapi BAPI_PO_CREATE1 返回的消息,消息ID MEPO 消息号 013,详细如下:
相关notes :2781794 - BAPI_PO_CREATE1: Unable to park a PO with Budget exceeded error
以上。
发表评论