SAP BAPI修改交货单计划日期、交货日期等日期字段

发布时间:2023年12月30日

1、业务描述

根据业务需要,交货单中的计划发货日期要根据业务自定义填充,但正常交货单的计划交货日期是根据销售订单的计划行带过来的,并且常规交货单创建、修改bapi并不能满足交货单计划日期的修改。
在这里插入图片描述

2、解决方案

本来想着改一个日期用BDC的,但是考虑到交货单保存的时候会根据不同情况有警告弹窗,所以还是老老实实去找BAPI了,最后找到BAPI_OUTB_DELIVERY_CONFIRM_DEC可以用

"修改交货单计划交货日期
        ls_header_data-deliv_numb    = lv_vbeln .
        ls_header_control-deliv_numb = lv_vbeln .

        ls_header_deadlines-deliv_numb = lv_vbeln .
        ls_header_deadlines-timetype   = 'WSHDRWADAT' .
        ls_header_deadlines-timestamp_utc = sy-datum && sy-uzeit .
        APPEND ls_header_deadlines TO lt_header_deadlines .
        clear:ls_header_deadlines .

        CALL FUNCTION 'BAPI_OUTB_DELIVERY_CONFIRM_DEC'
          EXPORTING
            header_data      = ls_header_data
            header_control   = ls_header_control
            delivery         = lv_vbeln
          TABLES
            header_deadlines = lt_header_deadlines
            return           = lt_return.

其中header_deadlines中的timetype为交货单的日期的类型,但这个字段有内外码之分,可以去看看bapi中这和表的文档
在这里插入图片描述

3、注意事项

在这里插入图片描述
用此BAPI修改的交货单,声明仓库字段会自动赋值’C’,这种情况下交货单就不能修改了,不太符合大部分公司的业务要求,所以此处还要加一个BADI增强

增强点:SE18->LE_SHP_DELIVERY_PROC->CHANGE_DELIVERY_HEADER
在这里插入图片描述

文章来源:https://blog.csdn.net/weixin_49689040/article/details/135301766
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。