BAPI_PO_CREATE1 创建PO ch_memory_complete = ‘x',导致hold on 解决方案,
Posted Rainystuday
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BAPI_PO_CREATE1 创建PO ch_memory_complete = ‘x',导致hold on 解决方案,相关的知识,希望对你有一定的参考价值。
1.尝试注释标准逻辑,看会不会有什么问题,
ZME_BAPI_PO_CUST
IF_EX_ME_BAPI_PO_CREATE_02~INBOUND 里面有个控制很费解 我给注释了
2.改用 BAPI_PO_CREATE,
3.用 BAPI_PO_CREATE1 后, and status on hold.
再使用 BAPI_PO_CHANGE 将状态改回来,
3.
Hello Jürgen,
Thanks for your reply~
According to NOTE 354771:
MEMORY_UNCOMPLETE:
You can use this parameter to define whether an INCORRECT or incomplete purchase order is to be held.
If the value of the parameter is \'X\', then the purchase order is held.
If the value of the parameter is \' \', then the purchase order NOT is created.
Seems possible to hold an incorrect or incomplete purchase order.
But in our situtaion, both of the parameters MEMORY_COMPLETE and MEMORY_UNCOMPLETE are set to \' \'.
That means:
If purchase order is incomplete.
it will NOT be created since the parameter MEMORY_UNCOMPLETE is set to \' \';
Else.
it will BE saved not held since the parameter MEMORY_COMPLETE is set to \' \'.
ENDIF.
Actually, the MEMORY_COMPLETE is set to \'X\' by a BADI:
INCLUDE \'L2012F47\', found a BADI: CL_EXM_IM_ME_BAPI_PO_CUST
Example Implementation for BAdI ME_BAPI_PO_CUST.
IF NOT ch_poheader-vendor IS INITIAL.
* hold PO without error
ch_memory_complete = cl_mmpur_constants=>yes.
* do not perform application authority check
ch_no_authority = cl_mmpur_constants=>yes.
ENDIF.
Could it be other parameters to control the hold status? Please kindly to correct me if i am not right above.
Best regards,
Eason
Thanks for your reply~
According to NOTE 354771:
MEMORY_UNCOMPLETE:
You can use this parameter to define whether an INCORRECT or incomplete purchase order is to be held.
If the value of the parameter is \'X\', then the purchase order is held.
If the value of the parameter is \' \', then the purchase order NOT is created.
Seems possible to hold an incorrect or incomplete purchase order.
But in our situtaion, both of the parameters MEMORY_COMPLETE and MEMORY_UNCOMPLETE are set to \' \'.
That means:
If purchase order is incomplete.
it will NOT be created since the parameter MEMORY_UNCOMPLETE is set to \' \';
Else.
it will BE saved not held since the parameter MEMORY_COMPLETE is set to \' \'.
ENDIF.
Actually, the MEMORY_COMPLETE is set to \'X\' by a BADI:
INCLUDE \'L2012F47\', found a BADI: CL_EXM_IM_ME_BAPI_PO_CUST
Example Implementation for BAdI ME_BAPI_PO_CUST.
IF NOT ch_poheader-vendor IS INITIAL.
* hold PO without error
ch_memory_complete = cl_mmpur_constants=>yes.
* do not perform application authority check
ch_no_authority = cl_mmpur_constants=>yes.
ENDIF.
Could it be other parameters to control the hold status? Please kindly to correct me if i am not right above.
Best regards,
Eason
以上是关于BAPI_PO_CREATE1 创建PO ch_memory_complete = ‘x',导致hold on 解决方案,的主要内容,如果未能解决你的问题,请参考以下文章
PHP - 如何使用带有.po文件的gettext()创建一个简单的多语言应用程序