如何使用BAPISDORDER_GETDETAILEDLIST创建S/4HANA的Outbound Delivery
这篇文章将为大家详细讲解有关如何使用BAPISDORDER_GETDETAILEDLIST创建S/4HANA的Outbound Delivery,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
要在S/4HANA里创建Outbound Delivery,首先要具有一个销售订单,ID为376,通过事务码VA03查看。
只用61行代码就能实现基于这个Sales Order去创建对应的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成功创建:
使用事务码VL03N查看:
关于“如何使用BAPISDORDER_GETDETAILEDLIST创建S/4HANA的Outbound Delivery”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341