如何利用BAPISD_SALESDOCUMENT_CHANGE修改SalesOrder的字段

假设我想修改S/4HANA里Sales Order抬头的Service Date字段SERV_DATE:

网站建设哪家好,找创新互联公司!专注于网页设计、网站建设、微信开发、微信小程序定制开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了盘锦免费建站欢迎大家使用!

首先从数据库表VBKD里查找到SERV_DATE修改之前的值为2020年1月1日

如何利用BAPI SD_SALESDOCUMENT_CHANGE修改Sales Order的字段

使用如下代码,将这个字段的值改成2020年1月2日。

REPORT zchange_so1.
DATA: lv_num        TYPE bapivbeln-vbeln,
      ls_doc_header TYPE bapisdhd1,
      lt_vbap       TYPE STANDARD  TABLE OF vbap.
lv_num = '0000000268'.
CALL FUNCTION 'SD_VBAP_READ_WITH_VBELN'
  EXPORTING
    i_vbeln          = lv_num
  TABLES
    et_vbap          = lt_vbap
  EXCEPTIONS
    record_not_found = 1
    OTHERS           = 2.
BREAK-POINT.
DATA: i_order_header_in  LIKE bapisdhd1 .
DATA: i_order_header_inx LIKE bapisdhd1x,
      lt_bapiret2        LIKE bapiret2   OCCURS 0 WITH HEADER LINE.
i_order_header_inx-updateflag = 'U'.
i_order_header_in-serv_date = '20200102' .
i_order_header_inx-serv_date = 'X'.
CALL FUNCTION 'SD_SALESDOCUMENT_CHANGE'
  EXPORTING
    salesdocument    = lv_num
    order_header_in  = i_order_header_in
    order_header_inx = i_order_header_inx
  TABLES    return           = lt_bapiret2.
clear: lt_bapiret2.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
  IMPORTING
     RETURN = lt_bapiret2.
BREAK-POINT.

执行之后,从输出参数lt_bapiret2里查看到这个Sales Order已经成功被更新了。

如何利用BAPI SD_SALESDOCUMENT_CHANGE修改Sales Order的字段

从后台数据库表VBKD里查看到这个字段的值也已经成功更新了:

如何利用BAPI SD_SALESDOCUMENT_CHANGE修改Sales Order的字段

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

如何利用BAPI SD_SALESDOCUMENT_CHANGE修改Sales Order的字段

分享题目:如何利用BAPISD_SALESDOCUMENT_CHANGE修改SalesOrder的字段
本文URL:https://www.cdcxhl.com/article40/ihidho.html

成都网站建设公司_创新互联,为您提供软件开发网站维护定制开发网站制作网站排名虚拟主机

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都seo排名网站优化