BAPI_SALESORDER_CHANGE删除拒绝原因

2020-08-15 20:52发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好大师, 我的情况如下: ...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好大师,

我的情况如下:

1。 我有一个包含3个项目的销售订单,所有订单都有拒绝的原因。 基本上,如果我们有拒绝的理由,我们将无法在MD04(要求)中看到此项目。

2。 我有一个使用BAPI_SALESORDER_CHANGE删除拒绝原因的程序。 我的结构字段如下:

SALESDOCUMENT =现有销售订单编号

ORDER_HEADER_INX-UPDATEFLAG = U

ORDER_ITEM_IN-ITM_NUMBER = 000010

ORDER_ITEM_IN-REASON_REJ =''

ORDER_ITEM_IN-ITM_NUMBER = 000020

ORDER_ITEM_IN-REASON_REJ =''

ORDER_ITEM_IN-ITM_NUMBER = 000030

ORDER_ITEM_IN-REASON_REJ =''

ORDER_ITEM_INX-ITM_NUMBER = 000010

ORDER_ITEM_INX-UPDATEFLAG ='U'

ORDER_ITEM_INX-REASON_REJ ='X'

ORDER_ITEM_INX-ITM_NUMBER = 000020

ORDER_ITEM_INX-UPDATEFLAG ='U'

ORDER_ITEM_INX-REASON_REJ ='X'

ORDER_ITEM_INX-ITM_NUMBER = 000020

ORDER_ITEM_INX-UPDATEFLAG ='U'

ORDER_ITEM_INX-REASON_REJ ='X'

3。 执行此程序后,拒绝原因已从销售订单项目中删除,但仅项目000010

在MD04中可以看到

。 销售订单的更改日志如下:

000010拒绝报价和销售订单的原因已更改

000020项目已创建

000030项目已创建

4。 但是,如果我对所有项目使用ORDER_ITEM_INX-UPDATEFLAG ='I'我可以在MD04中看到所有项目,并且日志如下所示

000010拒绝报价和销售订单的原因已更改

000020拒绝报价和销售订单的原因已更改

000030拒绝报价的原因和销售订单已更改

正如我从BAPI文档中了解到的,如果要更改现有销售订单的值,我们必须在UPDATEFLAG字段中使用" U"。 但是为什么我的场景上面有一些不一致之处。 如果我使用" I"作为UPDATEFLAG,我只能得到正确的行为吗?

感谢和问候,

安德烈

7条回答
绿领巾童鞋
2020-08-15 21:29

亲爱的安德烈,

您的代码应具有以下结构:

将它放在IT_ZVCONTRACT_SUSP_SAVE放入WA_ZVCONTRACT_SUSP_SAVE中。

< p>清除:ORDER_HEADER_IN,ORDER_HEADER_INX。

刷新:ORDER_ITEM_IN [],ORDER_ITEM_INX。

**将值分配给更新字段

SALESDOCUMENT = WA_ZVCONTRACT_SUSP_SAVE- VBELN。

ORDER_HEADER_IN-SALES_ORG = WA_ZVCONTRACT_SUSP_SAVE-VKORG。

ORDER_HEADER_IN-PURCH_DATE ='00000000'。

ORDER_HEADER_INX-SALES_ORG ='X'。

ORDER_HEADER_INX-PURCH_DATE ='X'。

ORDER_HEADER_INX-UPDATEFLAG ='U'。

WA_ORDER_ITEM_IN-ITM_NUMBER = WA_ZVCONTRACT_SUSP_SAVE-POSNR。

WA_INDER_ITE -REASON_REJ =``。

将WA_ORDER_ITEM_IN追加到ORDER_ITEM_IN。

WA_ORDER_ITEM_INX-ITM_NUMBER = WA_ZVCONTRACT_SUSP_SAVE-POSNR。

WA_ORDER_ITEM_INX-UPDATEFLAG =' p>

WA_ORDER_ITEM_INX-REASON_REJ ='X'。

APPEND WA_ORDER_ITEM_INX TO O RDER_ITEM_INX。

刷新返回[]。

*更新原因代码的合同

通话功能'BAPI_SALESORDER_CHANGE'

导出

SALESDOCUMENT = SALESDOCUMENT

ORDER_HEADER_IN = ORDER_HEADER_IN

ORDER_HEADER_INX = ORDER_HEADER_INX

桌子

返回=返回

< p> ORDER_ITEM_IN = ORDER_ITEM_IN

ORDER_ITEM_INX = ORDER_ITEM_INX。

追加返回行到IT_LOGS。

调用函数'BAPI_TRANSACTION_COMMIT'

导出

WAIT ='X'。

ENDLOOP。

希望这对您有所帮助。

关于

< p> Nikhil

一周热门 更多>