温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何使用BAPISDORDER_GETDETAILEDLIST创建S/4HANA的Outbound Delivery

发布时间:2021-11-30 17:20:57 来源:亿速云 阅读:222 作者:小新 栏目:编程语言

这篇文章将为大家详细讲解有关如何使用BAPISDORDER_GETDETAILEDLIST创建S/4HANA的Outbound Delivery,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

要在S/4HANA里创建Outbound Delivery,首先要具有一个销售订单,ID为376,通过事务码VA03查看。

如何使用BAPISDORDER_GETDETAILEDLIST创建S/4HANA的Outbound Delivery

只用61行代码就能实现基于这个Sales Order去创建对应的outbound delivery:

如何使用BAPISDORDER_GETDETAILEDLIST创建S/4HANA的Outbound Delivery

REPORT zcreate_dn. DATA:lv_ship_point        TYPE          bapidlvcreateheader-ship_point VALUE '0001',      lv_due_date          TYPE datum VALUE '20181205',      lv_delivery          TYPE          bapishpdelivnumb-deliv_numb,      lt_so_items          LIKE TABLE OF bapidlvreftosalesorder,      ls_so_items          LIKE LINE OF lt_so_items,      lt_return            TYPE TABLE OF bapiret2,      ls_read              TYPE order_view,      lt_item              TYPE TABLE OF bapisdit,      lt_order_headers_out TYPE TABLE OF bapisdhd,      lt_header            TYPE TABLE OF sales_key,      lt_bapisdtehd        TYPE TABLE OF bapisdtehd,      lt_bapitextli        TYPE TABLE OF bapitextli,      lt_bapiret2          LIKE bapiret2   OCCURS 0 WITH HEADER LINE. APPEND INITIAL LINE TO lt_header ASSIGNING FIELD-SYMBOL(<header>). ls_read-item = 'X'. <header>-vbeln = '0000000376'. CALL FUNCTION 'BAPISDORDER_GETDETAILEDLIST'   EXPORTING     i_bapi_view     = ls_read   TABLES     sales_documents = lt_header     order_items_out = lt_item. LOOP AT lt_item ASSIGNING FIELD-SYMBOL(<item>).   APPEND INITIAL LINE TO lt_so_items ASSIGNING FIELD-SYMBOL(<fill>).   <fill>-ref_doc = <item>-doc_number.   <fill>-ref_item = <item>-itm_number.   <fill>-dlv_qty = <item>-req_qty.   <fill>-sales_unit = 'EA'. ENDLOOP. CALL FUNCTION 'BAPI_OUTB_DELIVERY_CREATE_SLS'   EXPORTING     ship_point        = lv_ship_point     due_date          = lv_due_date   IMPORTING     delivery          = lv_delivery   TABLES     sales_order_items = lt_so_items    return            = lt_return. LOOP AT lt_return ASSIGNING FIELD-SYMBOL(<return>).   WRITE:/ | Type: { <return>-type }: { <return>-message } | COLOR COL_NEGATIVE. ENDLOOP. CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'   EXPORTING    wait   = 'X'   IMPORTING    return = lt_bapiret2. LOOP AT lt_bapiret2 ASSIGNING <return>.   WRITE:/ 'Message:', <return>-message COLOR COL_POSITIVE. ENDLOOP.

思路就是首先用函数BAPISDORDER_GETDETAILEDLIST把销售订单的行项目明细读取出来,然后用BAPI_OUTB_DELIVERY_CREATE_SLS进行outbound delivery的创建。

执行report,显示Outbound Delivery 80000205成功创建:

如何使用BAPISDORDER_GETDETAILEDLIST创建S/4HANA的Outbound Delivery

使用事务码VL03N查看:

如何使用BAPISDORDER_GETDETAILEDLIST创建S/4HANA的Outbound Delivery

关于“如何使用BAPISDORDER_GETDETAILEDLIST创建S/4HANA的Outbound Delivery”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI