首页 > 代码库 > BAPI_PO_CREATE1 创建PO ch_memory_complete = ‘x',导致hold on 解决方案,
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 解决方案,
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。