如何使用BAPI_OUTB_DELIVERY_CHANGE更新HEADER_DEADLINES参数(更改日期)?

2020-09-23 13:23发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)您好,专家们,我是ABAP的新手...

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

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


您好,专家们,我是ABAP的新手,也是使用BAPI的新手,需要您的帮助。 如果解决方法非常简单并且我犯了愚蠢的错误,请原谅我。

我要解决此问题,因为需要更新LIKP表中WADAT,KODAT,LDDAT和TDDAT字段的值。

我编写了以下代码,只是为了填充一个字段(即WADAT)一些示例值。

数据:bapiobdlvhdrchg的it_header_data类型表,
       wa_header_data TYPE bapiobdlvhdrchg。
 数据:bapiobdlvhdrctrlchg的it_header_control类型表,
       wa_header_control类型bapiobdlvhdrctrlchg。
 数据:it_return bapiret2的类型表,
 数据:it_header_deadlines bapidlvdeadln的类型表,
       wa_header_deadlines TYPE bapidlvdeadln。

 数据:l_delivery TYPE vbeln_vl。
 wa_header_data-deliv_numb ='0180190163'。
 将wa_header_data附加到it_header_data。


 wa_header_control-deliv_numb ='0180190163'。
 wa_header_control-gdsi_date_flg ='X'。

 wa_header_deadlines-deliv_numb ='0180190163'。
 wa_header_deadlines-timetype ='WSHDRWADAT'。
 wa_header_deadlines-timestamp_utc ='20180308'。

 将wa_header_deadlines附加到it_header_deadlines。
 l_delivery ='0180190163'。

 通话功能'BAPI_OUTB_DELIVERY_CHANGE'
   出口
     header_data = wa_header_data
     header_control = wa_header_control
     交付= l_delivery
   桌子
     header_deadlines = it_header_deadlines
     return = it_return。

 调用功能'BAPI_TRANSACTION_COMMIT'。

运行此代码后,表不会针对给定的字段进行更新,最大的问题是表'it_return'未被任何错误消息填充。

我认为在填充 TIMETYPE TIMESTAMP_UTC 字段时犯了一些错误。

我已经阅读了有关此BAPI的文档,但了解不多。

如果需要为更多参数添加值,请告诉我。 使用参数 HEADER_DEADLINES 的代码示例将不胜感激。

请忽略以下事实:代码包含一些未使用的内部表和工作区。

此外,请让我知道是否有更好的方法来更新LIKP表中的字段 WADAT,KODAT,LDDAT和TDDAT。 我知道我们应该避免对标准表使用MODIFY或INSERT语句的事实。