{"id":141,"date":"2023-12-06T07:52:51","date_gmt":"2023-12-06T07:52:51","guid":{"rendered":"https:\/\/sapabap.dwimansolution.com\/?p=141"},"modified":"2023-12-06T07:54:56","modified_gmt":"2023-12-06T07:54:56","slug":"sap-abap-create-transfer-order-to-by-multiple-delivery-orders-do","status":"publish","type":"post","link":"https:\/\/sapabap.dwimansolution.com\/index.php\/2023\/12\/06\/sap-abap-create-transfer-order-to-by-multiple-delivery-orders-do\/","title":{"rendered":"SAP ABAP &#8211; Create Transfer Order (TO) by Multiple Delivery Orders (DO)"},"content":{"rendered":"\n<p>Modules: ABAP \/ SD \/ WM<\/p>\n\n\n\n<p>Hi Guys, sometimes clients need to build a program to create a TO by multiple DOs. Yes, there is a standard program. We can group the deliveries by <strong>VG01 <\/strong>and create the TO using <strong>LT0S<\/strong>. And how we achieve it automated by the program. Check it out!<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">A FEW CONFIGURATIONS<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><br>Set Delay Update<\/h3>\n\n\n\n<p>go to SPRO and find the path like below. Or you can read the documentation here <a rel=\"noreferrer noopener\" href=\"https:\/\/help.sap.com\/docs\/SAP_S4HANA_ON-PREMISE\/b2dee5e83e2446149294f9860a7c08f0\/ef8dc95360267214e10000000a174cb4.html\" target=\"_blank\">https:\/\/help.sap.com\/docs\/SAP_S4HANA_ON-PREMISE\/b2dee5e83e2446149294f9860a7c08f0\/ef8dc95360267214e10000000a174cb4.html<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"813\" src=\"https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/12\/image-2-1024x813.png\" alt=\"\" class=\"wp-image-143\" srcset=\"https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/12\/image-2-1024x813.png 1024w, https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/12\/image-2-300x238.png 300w, https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/12\/image-2-768x610.png 768w, https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/12\/image-2-850x675.png 850w, https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/12\/image-2.png 1197w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Just simply add &#8216;1&#8217; to the column like the picture below on the warehouse that you need implement.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"732\" height=\"288\" src=\"https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/12\/image-3.png\" alt=\"\" class=\"wp-image-144\" srcset=\"https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/12\/image-3.png 732w, https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/12\/image-3-300x118.png 300w\" sizes=\"(max-width: 732px) 100vw, 732px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">OMLV<\/h3>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"520\" height=\"558\" src=\"https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/12\/image-4.png\" alt=\"\" class=\"wp-image-145\" srcset=\"https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/12\/image-4.png 520w, https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/12\/image-4-280x300.png 280w, https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/12\/image-4-300x322.png 300w\" sizes=\"(max-width: 520px) 100vw, 520px\" \/><\/figure>\n\n\n\n<p>Make sure you config it the right way based on warehouse number.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"669\" height=\"190\" src=\"https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/12\/image-5.png\" alt=\"\" class=\"wp-image-146\" srcset=\"https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/12\/image-5.png 669w, https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/12\/image-5-300x85.png 300w\" sizes=\"(max-width: 669px) 100vw, 669px\" \/><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">ABAP<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Grouping Orders<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>      \n  DATA: t_worktab    TYPE TABLE OF lipov,\n        i_refnum_add TYPE c,\n        i_lgnum      LIKE likp-lgnum,\n        i_vtext      LIKE vbsk-vtext,\n        i_smart      LIKE vbsk-smart,\n        i_cdsto      LIKE t311-cdsto,\n        e_vbsk       TYPE vbsk,\n        ls_worktab   TYPE lipov.\n        \n\n    LOOP AT t_data INTO DATA(ls_data).\n      ls_worktab-vbeln = ls_data-vbeln.\n      ls_worktab-posnr = ls_data-posnr.\n      APPEND ls_worktab TO t_worktab.\n    ENDLOOP.\n    \n\n    i_refnum_add = 'X'.\n    i_lgnum = warehouse_number.\n    i_vtext = 'Collective TO'.\n    i_smart = 'K'.\n    i_cdsto = 'X'.\n    CALL FUNCTION 'WS_LM_GROUP_CREATE'\n      EXPORTING\n        if_refnum_add            = i_refnum_add\n        if_lgnum                 = i_lgnum\n        if_vtext                 = i_vtext\n        if_smart                 = i_smart\n        if_cdsto                 = i_cdsto\n      IMPORTING\n        es_vbsk                  = e_vbsk\n      TABLES\n        ct_worktab               = t_worktab\n      EXCEPTIONS\n        no_pick_wave_permission  = 1\n        no_pick_wave_possible    = 2\n        refnum_assigned          = 3\n        refnum_assigned_all      = 4\n        locking_error            = 5\n        no_pick_wave_created     = 6\n        no_group_number_assigned = 7\n        group_already_existing   = 8\n        no_wm_group_created      = 9\n        no_group_posted          = 10\n        no_output_found          = 11\n        no_output_posted         = 12\n        wrong_group_type         = 13\n        warehouse_number_missing = 14\n        no_deliveries_selected   = 15\n        wrong_warehouse_number   = 16\n        wrong_document_type      = 17\n        later_not_aktive         = 18\n        no_spanning_to_possible  = 19\n        OTHERS                   = 20.\n\n    IF sy-subrc = 0.\n      result_group_number = e_vbsk-sammg.\n    ENDIF.<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Create TO by Group<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>    DATA: t_vbeln      TYPE TABLE OF vbeln_tab.\n\n    i_refnr&nbsp;=&nbsp;result_group_number.&nbsp;\" Group&nbsp;Code\n&nbsp;&nbsp;&nbsp;&nbsp;i_teilk&nbsp;=&nbsp;'X'.\n\n    DELETE ADJACENT DUPLICATES FROM t_data COMPARING vbeln.\n    LOOP AT t_data INTO ls_data.\n      ls_vbeln-vbeln = ls_data-vbeln.\n      APPEND ls_vbeln TO t_vbeln.\n    ENDLOOP.\n\n&nbsp;&nbsp;&nbsp;&nbsp;i_lgnum&nbsp;=&nbsp;ls_data-lgnum.\n\n&nbsp;&nbsp;&nbsp;&nbsp;CALL&nbsp;FUNCTION&nbsp;'L_TO_CREATE_DN_MULTIPLE'\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EXPORTING\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i_lgnum&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;i_lgnum\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i_refnr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;i_refnr\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i_teilk&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;i_teilk\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TABLES\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;it_vbeln&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;t_vbeln \" you can choose which deliveries that you want to proceed here\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;et_ltak&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;et_ltak\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;et_ltap&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;et_ltap\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;et_wmgrp_msg&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;et_msg\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EXCEPTIONS\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreign_lock&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;1\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xfeld_wrong&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;2\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ldest_wrong&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;3\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;drukz_wrong&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;4\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delivery_not_found&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;5\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;no_to_created&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;6\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;teilk_wronk&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;7\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;update_without_commit&nbsp;=&nbsp;8\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;no_authority&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;9\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;input_wrong&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;10\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;later_not_active&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;11\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OTHERS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;12.\n\n&nbsp;&nbsp;&nbsp;&nbsp;IF&nbsp;sy-subrc&nbsp;=&nbsp;0.\n&nbsp;&nbsp;&nbsp;&nbsp;    TO_Number&nbsp;=&nbsp;ls_ltak-tanum.\n    ENDIF.<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Modules: ABAP \/ SD \/ WM Hi Guys, sometimes clients need to build a program to create a TO by multiple DOs. Yes, there is a standard program. We can group the deliveries by VG01 and create the TO using LT0S. And how we achieve it automated by the program. Check it out! A FEW&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/sapabap.dwimansolution.com\/index.php\/wp-json\/wp\/v2\/posts\/141"}],"collection":[{"href":"https:\/\/sapabap.dwimansolution.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sapabap.dwimansolution.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sapabap.dwimansolution.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sapabap.dwimansolution.com\/index.php\/wp-json\/wp\/v2\/comments?post=141"}],"version-history":[{"count":8,"href":"https:\/\/sapabap.dwimansolution.com\/index.php\/wp-json\/wp\/v2\/posts\/141\/revisions"}],"predecessor-version":[{"id":153,"href":"https:\/\/sapabap.dwimansolution.com\/index.php\/wp-json\/wp\/v2\/posts\/141\/revisions\/153"}],"wp:attachment":[{"href":"https:\/\/sapabap.dwimansolution.com\/index.php\/wp-json\/wp\/v2\/media?parent=141"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sapabap.dwimansolution.com\/index.php\/wp-json\/wp\/v2\/categories?post=141"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sapabap.dwimansolution.com\/index.php\/wp-json\/wp\/v2\/tags?post=141"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}