BAPI_SALESORDER_CHANGE与VA02不同的支票

2020-08-24 09:54发布

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

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


你好

我正在尝试使用bapi BAPI_SALESORDER_CHANGE 更新订单价格日期。

 ls_order_inx-updateflag ='U'。
   ls_order_in-price_date = i_datum。
   ls_order_inx-price_date ='X'。

   通话功能'BAPI_SALESORDER_CHANGE'
     出口
       salesdocument = i_vbeln
       order_header_in = ls_order_in
       order_header_inx = ls_order_inx
     桌子
       return = lt_ret。
 

我遇到错误:(函数:SD_SALES_HEADER_MAINTAIN-调用FM之后:DATE_CONVERT_TO_FACTORYDATE)

日期 2020年1月31日是工厂日历 XX 之后的日期。 (V1-086)。

此日期为FVBAKKOM-VDATU(请求的交货日期)。

但是如果我用VA02编辑同一日期,没问题。

如果可能,我想避免批量输入。

您知道为什么要执行此检查吗?

销售组织日历确实结束了。 但是,如果VA02不在乎,为什么BAPI也不做同样的逻辑..

最佳推荐

纪尧姆。

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

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


你好

我正在尝试使用bapi BAPI_SALESORDER_CHANGE 更新订单价格日期。

 ls_order_inx-updateflag ='U'。
   ls_order_in-price_date = i_datum。
   ls_order_inx-price_date ='X'。

   通话功能'BAPI_SALESORDER_CHANGE'
     出口
       salesdocument = i_vbeln
       order_header_in = ls_order_in
       order_header_inx = ls_order_inx
     桌子
       return = lt_ret。
 

我遇到错误:(函数:SD_SALES_HEADER_MAINTAIN-调用FM之后:DATE_CONVERT_TO_FACTORYDATE)

日期 2020年1月31日是工厂日历 XX 之后的日期。 (V1-086)。

此日期为FVBAKKOM-VDATU(请求的交货日期)。

但是如果我用VA02编辑同一日期,没问题。

如果可能,我想避免批量输入。

您知道为什么要执行此检查吗?

销售组织日历确实结束了。 但是,如果VA02不在乎,为什么BAPI也不做同样的逻辑..

最佳推荐

纪尧姆。

付费偷看设置
发送
6条回答
lukcy2020
1楼 · 2020-08-24 10:48.采纳回答

Guillaume ROSATI 屏幕快照中的代码看起来像我的,但是到目前为止我的测试用例还是有些不同。

我的理解是您没有通过BAPI修改请求的交货日期。 在运行测试序列之前是否设置了这个日期? 例如,是否可能是您最初分配了一个工厂日历,该日历被延期到了下一年,然后又更改了自定义?

我问,因为是否尝试将请求的交货日期手动设置为 一个比VA02日历有效期晚的日期,我遇到了之前显示给您的停止消息。 我这样做的唯一方法是更改​​自定义。 在这种情况下,我可以确认BAPI的行为不同于VA02。 只要我不尝试在VA02中修改请求的交货日期,我就不会遇到V1086。

我没有逻辑上的解释为什么VA02的设计有所不同,但是...为什么不扩大工厂 销售组织的日历?

在我看来,这通常是正确的事情。

顺便说一句,BAPI_SALESDOCUMENT_CHANGE不会执行与BAPI_SALESORDER_CHANGE相同的检查, 能够通过它更新定价日期而不会出错。

不过,如果我是你,我会问职能顾问,为什么要将工厂日历保存在过去的日期中,这是什么原因? p>

奄奄一息的小鱼
2楼-- · 2020-08-24 10:38

创建订单时,请求的交货日期已经在销售组织日历之后。

我只是在VA02中检查,如果我只是编辑"定价日期",则系统不会检查请求的交货日期。

对我来说,正确的解决方案也是扩展此日历,但功能人员无法告诉我影响或为何不再维护日历...

BAPI_SALESDOCUMENT_CHANGE似乎能胜任工作!

我取消了更改控制日历的增强点。

派大星 ヾ
3楼-- · 2020-08-24 10:31

实际上,在我的系统中,如果我在VA02中输入的日期晚于工厂日历的最后日期, 我看到V1086为错误消息。 为此,您需要在付款地点保留用于付款方伙伴的工厂日历。

当您说在VA02中没有遇到此错误时,请在BAPI中位-您可以看到-是 此测试是针对同一文档完成的吗? 创建订单时,用于卸载点的信息已从主数据传输到销售订单,但是您也可以在销售订单中自行对其进行修改。 这意味着,如果您对VA02和BAPI使用了不同的销售订单-请检查它们中是否保留了卸载点。

在VA02中没有发布针对V1086的一些更正说明,但这些更正说明是针对 真正的旧版本,例如 4.6C,因此这些可能与您的情况无关。 如果您的系统确实很旧-请使用V1086作为标准来查找它们。

追夢秋陽
4楼-- · 2020-08-24 10:37

无需道歉,您已经为我付出了很多时间。

所以你还有另一种行为..事情总是三分之一

我使用的是ECC6,SAP_APPL 701/12(没有,我们还没有实现此注释),但是我尝试用我顺序中的值填充BAPI中的请求dlvy日期,结果相同:

我遇到了SD_SALES_HEADER_MAINTAIN错误:

我的情况:我的要求日期是在销售组织日历的结尾之后。

定价日期:任何值,在这种情况下都没有关系,但是我输入了sy-datum。

蓋茨
5楼-- · 2020-08-24 10:42

看看OSS注释1145413和1343682

风早神人
6楼-- · 2020-08-24 10:50

感谢您的注意,但不适用于我们的系统,症状与我的不太相同。

一周热门 更多>