BAPI_SALESORDER_CHANGE具有缓冲顺序

2020-08-16 11:18发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)此BAPI是否与缓冲的销售订单一...

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

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


此BAPI是否与缓冲的销售订单一起使用,即刚刚使用BAPI_SALESORDER_CREATEFROMDAT2创建的销售订单,但是未发出COMMIT?

就我而言,它根本找不到销售订单,因为它似乎仅搜索数据库,而不是缓冲区。

在我的情况下,关键要求是:
1)物品编号应自动生成,就像VA01一样;
2)要添加特定于物品的条件。

BAPI_SALESORDER_CREATEFROMDAT2正在调用SD_SALESDOCUMENT_CREATE,该文件在其文档中指定您不能同时执行以下操作:

使用表ORDER_ITEMS_IN指定项目数据。
您可以通过填写相应的字段来手动进行项目编号分配,或者系统会根据"自定义"设置自动执行 如果您将相应字段保留为首字母 如果您决定使用mySAP ERP进行项目编号分配,则无法指定计划行或条件,因为它们与项目之间没有可识别的关联。

因此,我考虑过使用BAPI_SALESORDER_CREATEFROMDAT2在没有任何条件的情况下生成销售单据,然后使用BAPI_SALESORDER_CHANGE添加条件。 为了将所有内容保存在一个LUW中,我不想在两者之间进行提交。

P.S。 有一些替代方法:

1)项目编号配置存储在表TVAK中。 所以我可以直接选择它。

2)还有另一个BAPI可以为我返回编号,而不创建销售订单:BAPI_SALESORDER_SIMULATE。 因此,我可以从其输出中复制数字。 效果很好,但是此技巧可能对即将进行的更多更改不起作用。 我希望能够在缓冲区中创建订单,更改订单,最后只更改COMMIT。

谢谢您的任何建议!

4条回答
nice_wp
2020-08-16 11:46

嗨,

请尝试通过BAPI本身指定行项目,并使用增量数字进行计算,并回答第二个问题

< pre> DATA:带标题行的order_bapicond类型占位0。

assign

 order_bapicond-itm_number = tab-itm_number。
         order_bapicond-cond_count = 1。
         order_bapicond-cond_type = tab-d_cond_type。
         order_bapicond-cond_value = tab-d_cond_rate/10。

调用相同的命令来订购BAPI

谢谢。

一周热门 更多>