<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: sales order creation using BAPI in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/sales-order-creation-using-bapi/m-p/1508139#M234551</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Makam,&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;If I understand correctly, you are trying to create order which is of type 'OR'.&lt;/P&gt;&lt;P&gt;I can see one of the statement in code as:&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;lw_hd1-doc_type = 'SP'.&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Instead , for Standard order i.e. doc type OR , it should be:&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;lw_hd1-doc_type = 'TA'.&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regds,&lt;/P&gt;&lt;P&gt;Akshay Bhagwat&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 28 Aug 2006 10:38:28 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2006-08-28T10:38:28Z</dc:date>
    <item>
      <title>sales order creation using BAPI</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/sales-order-creation-using-bapi/m-p/1508138#M234550</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;look at the following code. when i hardcode and pass values values to the bapi, it is saying that sales doument type OR not defined. but if i test the BAPI in se37 with the same values given below it is creating a sales document,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;kindly tell me the mistake if any.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: lw_hd1 LIKE bapisdhd1.&lt;/P&gt;&lt;P&gt;DATA: lw_hd1x LIKE bapisdhd1x.&lt;/P&gt;&lt;P&gt;DATA: lw_vbeln LIKE bapivbeln-vbeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: lt_itm LIKE bapisditm OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: lt_itmx LIKE bapisditmx OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: lt_pr LIKE bapiparnr OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: lt_ret LIKE bapiret2 OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;lw_hd1-doc_type = 'SP'.&lt;/P&gt;&lt;P&gt;lw_hd1-sales_org = '1000'.&lt;/P&gt;&lt;P&gt;lw_hd1-distr_chan = '10'.&lt;/P&gt;&lt;P&gt;lw_hd1-division = '00'.&lt;/P&gt;&lt;P&gt;lw_hd1-purch_no_c = '1111'.&lt;/P&gt;&lt;P&gt;lw_hd1-incoterms1 = 'FH'.&lt;/P&gt;&lt;P&gt;lw_hd1-incoterms2 = 'NEWYARK'.&lt;/P&gt;&lt;P&gt;lw_hd1-pmnttrms = '0002'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;lw_hd1x-updateflag = 'I'.&lt;/P&gt;&lt;P&gt;lw_hd1x-doc_type = 'X'.&lt;/P&gt;&lt;P&gt;lw_hd1x-sales_org = 'X'.&lt;/P&gt;&lt;P&gt;lw_hd1x-distr_chan = 'X'.&lt;/P&gt;&lt;P&gt;lw_hd1x-division = 'X'.&lt;/P&gt;&lt;P&gt;lw_hd1x-purch_no_c = 'X'.&lt;/P&gt;&lt;P&gt;lw_hd1x-incoterms1 = 'X'.&lt;/P&gt;&lt;P&gt;lw_hd1x-incoterms2 = 'X'.&lt;/P&gt;&lt;P&gt;lw_hd1x-pmnttrms = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;lt_itm-material = '100-500'.&lt;/P&gt;&lt;P&gt;lt_itm-plant = '1000'.&lt;/P&gt;&lt;P&gt;lt_itm-target_qty = '1.000'.&lt;/P&gt;&lt;P&gt;APPEND lt_itm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;lt_itmx-updateflag = 'I'.&lt;/P&gt;&lt;P&gt;lt_itmx-material = 'X'.&lt;/P&gt;&lt;P&gt;lt_itmx-plant = 'X'.&lt;/P&gt;&lt;P&gt;lt_itmx-target_qty = 'X'.&lt;/P&gt;&lt;P&gt;APPEND lt_itmx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;lt_pr-partn_role = 'AG'.&lt;/P&gt;&lt;P&gt;lt_pr-partn_numb = '2401'.&lt;/P&gt;&lt;P&gt;APPEND lt_pr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    salesdocumentin               = ' '&lt;/P&gt;&lt;P&gt;    order_header_in               = lw_hd1&lt;/P&gt;&lt;P&gt;    order_header_inx              = lw_hd1x&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   SENDER                        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  BINARY_RELATIONSHIPTYPE       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  INT_NUMBER_ASSIGNMENT         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  BEHAVE_WHEN_ERROR             = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  LOGIC_SWITCH                  = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  TESTRUN                       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONVERT                       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; IMPORTING&lt;/P&gt;&lt;P&gt;   salesdocument                 = lw_vbeln&lt;/P&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;   return                        = lt_ret[]&lt;/P&gt;&lt;P&gt;    order_items_in                = lt_itm[]&lt;/P&gt;&lt;P&gt;   order_items_inx               = lt_itmx[]&lt;/P&gt;&lt;P&gt;    order_partners                = lt_pr[]&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ORDER_SCHEDULES_IN            =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ORDER_SCHEDULES_INX           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ORDER_CONDITIONS_IN           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ORDER_CONDITIONS_INX          =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ORDER_CFGS_REF                =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ORDER_CFGS_INST               =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ORDER_CFGS_PART_OF            =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ORDER_CFGS_VALUE              =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ORDER_CFGS_BLOB               =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ORDER_CFGS_VK                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ORDER_CFGS_REFINST            =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ORDER_CCARD                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ORDER_TEXT                    =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ORDER_KEYS                    =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  EXTENSIONIN                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PARTNERADDRESSES              =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF lw_vbeln IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      wait = 'X'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT lt_ret.&lt;/P&gt;&lt;P&gt;  WRITE:/ lt_ret-message.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 28 Aug 2006 10:18:43 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/sales-order-creation-using-bapi/m-p/1508138#M234550</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-08-28T10:18:43Z</dc:date>
    </item>
    <item>
      <title>Re: sales order creation using BAPI</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/sales-order-creation-using-bapi/m-p/1508139#M234551</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Makam,&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;If I understand correctly, you are trying to create order which is of type 'OR'.&lt;/P&gt;&lt;P&gt;I can see one of the statement in code as:&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;lw_hd1-doc_type = 'SP'.&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Instead , for Standard order i.e. doc type OR , it should be:&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;lw_hd1-doc_type = 'TA'.&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regds,&lt;/P&gt;&lt;P&gt;Akshay Bhagwat&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 28 Aug 2006 10:38:28 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/sales-order-creation-using-bapi/m-p/1508139#M234551</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-08-28T10:38:28Z</dc:date>
    </item>
    <item>
      <title>Re: sales order creation using BAPI</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/sales-order-creation-using-bapi/m-p/1508140#M234552</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi akshay, if u use document type 'TA'. is that BAPI returns the slaes document?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 28 Aug 2006 10:51:49 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/sales-order-creation-using-bapi/m-p/1508140#M234552</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-08-28T10:51:49Z</dc:date>
    </item>
    <item>
      <title>Re: sales order creation using BAPI</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/sales-order-creation-using-bapi/m-p/1508141#M234553</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi &lt;/P&gt;&lt;P&gt;check with this code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  sub_create_sales_order&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; This subroutine creates the sales order from the file data using the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; BAPI function module BAPI_SALESORDER_CREATEFROMDAT2 and sends&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; notification to the user for incomplete and unprocessed sales order.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Paramters: None&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM sub_create_sales_order .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;local data declaration.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Internal table for return messages from BAPI FM.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    l_t_return TYPE STANDARD TABLE OF bapiret2 INITIAL SIZE 0,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Internal table for Sales and Distribution Document Item.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    l_t_sd_item TYPE STANDARD TABLE OF bapisditm INITIAL SIZE 0,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Internal table for Sales and Distribution Document Item Data&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Checkbox.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    l_t_sd_item_x TYPE STANDARD TABLE OF bapisditmx INITIAL SIZE 0,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Internal table for SD Document Partner.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    l_t_sd_partner TYPE STANDARD TABLE OF bapiparnr INITIAL SIZE 0,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Internal table for SD Doc. Schedule Lines.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    l_t_sd_schedules TYPE STANDARD TABLE OF bapischdl INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Structure for Sales and Distribution Document Header.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    l_x_sd_header TYPE bapisdhd1,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Structure for Sales and Distribution Document Header Check List.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    l_x_sd_header_x TYPE bapisdhd1x,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Work area for internal table l_t_sd_item.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    l_w_sd_item TYPE bapisditm,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Work area for internal table l_t_sd_item_x.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    l_w_sd_item_x TYPE bapisditmx,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Work area for internal table l_t_sd_partner.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    l_w_sd_partner TYPE bapiparnr,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Work area for internal table t_infile.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    l_w_infile TYPE ty_infile,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Work area for internal table l_t_sd_schedules.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    l_w_sd_schedules TYPE bapischdl,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Valiable for created sales order number.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    l_vbeln   TYPE vbeln_va,             "Sales order number&lt;/P&gt;&lt;P&gt;    l_index   TYPE sytabix.              "Index of current record&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate the SD header data.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  l_x_sd_header-sales_org   = p_vkorg.   "Sales organization&lt;/P&gt;&lt;P&gt;  l_x_sd_header-distr_chan  = p_vtweg.   "Distribution channel&lt;/P&gt;&lt;P&gt;  l_x_sd_header-division    = p_spart.   "Sales division&lt;/P&gt;&lt;P&gt;  l_x_sd_header-created_by  = c_author.  "'MMLS'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate the SD header data check list.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  l_x_sd_header_x-doc_type   = c_checked.&lt;/P&gt;&lt;P&gt;  l_x_sd_header_x-sales_org  = c_checked.&lt;/P&gt;&lt;P&gt;  l_x_sd_header_x-distr_chan = c_checked.&lt;/P&gt;&lt;P&gt;  l_x_sd_header_x-division   = c_checked.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate SD item data check list.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  l_w_sd_item_x-itm_number = c_checked.&lt;/P&gt;&lt;P&gt;  l_w_sd_item_x-material   = c_checked.&lt;/P&gt;&lt;P&gt;  l_w_sd_item_x-batch      = c_checked.&lt;/P&gt;&lt;P&gt;  l_w_sd_item_x-store_loc  = c_checked.&lt;/P&gt;&lt;P&gt;  l_w_sd_item_x-plant      = c_checked.&lt;/P&gt;&lt;P&gt;  APPEND l_w_sd_item_x TO l_t_sd_item_x.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For each record populate the BAPI FM parameters and call the BAPI&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;function module BAPI_SALESORDER_CREATEFROMDAT2 to create the sales&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;order and send notification to user for incomplete and unprocessed&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;sales order.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT t_infile INTO l_w_infile.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    l_index = sy-tabix.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Populate SD header data.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF l_w_infile-dirid EQ c_r1.                 "R1&lt;/P&gt;&lt;P&gt;      l_x_sd_header-doc_type    = c_zkb.         "ZKB (Order type)&lt;/P&gt;&lt;P&gt;    ELSEIF l_w_infile-dirid EQ c_r2.             "R2&lt;/P&gt;&lt;P&gt;      l_x_sd_header-doc_type    = c_ka.          "KA  (Order type)&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Populate SD partner data.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM sub_populate_partner USING    l_w_infile-dicus&lt;/P&gt;&lt;P&gt;                                 CHANGING l_w_sd_partner-partn_numb.&lt;/P&gt;&lt;P&gt;    l_w_sd_partner-partn_role = c_sold_to_party. "AG&lt;/P&gt;&lt;P&gt;    APPEND l_w_sd_partner TO l_t_sd_partner.&lt;/P&gt;&lt;P&gt;    CLEAR l_w_sd_partner.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM sub_populate_partner USING    l_w_infile-dienp&lt;/P&gt;&lt;P&gt;                                 CHANGING l_w_sd_partner-partn_numb.&lt;/P&gt;&lt;P&gt;    l_w_sd_partner-partn_role = c_sp_stock_partner."SB&lt;/P&gt;&lt;P&gt;    APPEND l_w_sd_partner TO l_t_sd_partner.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Populate SD item data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    l_w_sd_item_x-itm_number = 10.                    "Item number&lt;/P&gt;&lt;P&gt;    l_w_sd_item-material     = l_w_infile-dimdel.     "Material Number&lt;/P&gt;&lt;P&gt;    l_w_sd_item-batch        = l_w_infile-disal+0(10)."Batch number&lt;/P&gt;&lt;P&gt;    l_w_sd_item-store_loc    = l_w_infile-dimcu.      "Storage location&lt;/P&gt;&lt;P&gt;    l_w_sd_item-plant        = c_werks.               "Plant(MMLS)'1115'&lt;/P&gt;&lt;P&gt;    l_w_sd_item-created_by   = c_author.              "Created by&lt;/P&gt;&lt;P&gt;    APPEND l_w_sd_item TO l_t_sd_item.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Populating the sales order schedule line item data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    l_w_sd_schedules-itm_number = 10 .              "Item number&lt;/P&gt;&lt;P&gt;    l_w_sd_schedules-req_qty    = l_w_infile-diqty. "Quantity&lt;/P&gt;&lt;P&gt;    APPEND l_w_sd_schedules TO l_t_sd_schedules.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Call the BAPI function module for sales order creation.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        order_header_in    = l_x_sd_header&lt;/P&gt;&lt;P&gt;        order_header_inx   = l_x_sd_header_x&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        salesdocument      = l_vbeln&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        return             = l_t_return&lt;/P&gt;&lt;P&gt;        order_items_in     = l_t_sd_item&lt;/P&gt;&lt;P&gt;        order_items_inx    = l_t_sd_item_x&lt;/P&gt;&lt;P&gt;        order_partners     = l_t_sd_partner&lt;/P&gt;&lt;P&gt;        order_schedules_in = l_t_sd_schedules.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Check the status of sales order creation and in case of error built&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  error log.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM sub_chk_sales_order_status TABLES l_t_return&lt;/P&gt;&lt;P&gt;                                       USING  l_index&lt;/P&gt;&lt;P&gt;                                              l_vbeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  If sales order is created successfully then add serial number for&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  the item to the sales order created.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF l_vbeln IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;      PERFORM sub_add_sernr_to_sales_order USING  l_vbeln&lt;/P&gt;&lt;P&gt;                                                  l_w_sd_item-batch&lt;/P&gt;&lt;P&gt;                                                  l_index.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Clear all work areas.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CLEAR:   l_w_sd_item,l_w_infile,l_vbeln,l_w_sd_schedules.&lt;/P&gt;&lt;P&gt;    REFRESH: l_t_sd_item, l_t_sd_partner, l_t_sd_schedules.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If any error occurred during sales order creation then send user a&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;mail with the record information for notification.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CHECK t_error_log[] IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;  PERFORM sub_notify_user.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Release the memory occupied by global internal tables.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  FREE:&lt;/P&gt;&lt;P&gt;  t_infile,&lt;/P&gt;&lt;P&gt;  t_bdcdata,&lt;/P&gt;&lt;P&gt;  t_mail_body.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " sub_create_sales_order&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  sub_populate_partner&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; This subroutine call the conversion exit routine&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CONVERSION_EXIT_ALPHA_INPUT to convert external customer to internal&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; customer&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Parameters:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             --&amp;gt;  L_EXTN_KUNNR  Customer number from file&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            &amp;lt;--&amp;gt;  L_PARTN_NUMB  Customer number in internal format&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM sub_populate_partner  USING    l_extn_kunnr     TYPE c&lt;/P&gt;&lt;P&gt;                           CHANGING l_partn_numb     TYPE kunnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Conversion exit ALPHA, external-&amp;gt;internal&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      input  = l_extn_kunnr&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      output = l_partn_numb.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                                 "sub_populate_partner&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  sub_chk_sales_order_status&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; This subroutine checks for the sales order creation status: if no&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; error found the commit will be executed otherwise record will be&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; marked as record in error.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Parameters:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              --&amp;gt; L_T_RETURN[]    Return messages from BAPI&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              --&amp;gt; L_INDEX         Index of record in dataset&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              --&amp;gt; L_VBELN         Sales order number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM sub_chk_sales_order_status TABLES l_t_return STRUCTURE bapiret2&lt;/P&gt;&lt;P&gt;                                USING  l_index TYPE sytabix&lt;/P&gt;&lt;P&gt;                                       l_vbeln TYPE vbeln_va.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local data declaration.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   Internal table for BAPI return message.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     l_t_temp_return TYPE STANDARD TABLE OF bapiret2 INITIAL SIZE 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_t_temp_return[] = l_t_return[].&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check for success of sales order creation.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DELETE l_t_temp_return WHERE type EQ c_success OR&lt;/P&gt;&lt;P&gt;                               type EQ c_information.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If no data is left then sales order successfully created.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF l_t_temp_return[] IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Commit work and exit from the subroutine.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        wait = c_checked.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Populate the report log internal table with the record.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM sub_built_log_report TABLES l_t_return&lt;/P&gt;&lt;P&gt;                                 USING  l_index&lt;/P&gt;&lt;P&gt;                                        c_success&lt;/P&gt;&lt;P&gt;                                        l_vbeln.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Now check for incomplete sales order.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    REFRESH l_t_temp_return.&lt;/P&gt;&lt;P&gt;    l_t_temp_return[] = l_t_return[].&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Remove all success and warning messages.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    DELETE l_t_temp_return WHERE type EQ c_success OR&lt;/P&gt;&lt;P&gt;                                 type EQ c_information OR&lt;/P&gt;&lt;P&gt;                                 type EQ c_warning.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  If no data is left then sales order is created but incomplete.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF l_t_temp_return[] IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Commit work and exit from the subroutine.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          wait = c_checked.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Put the record in error log and send notification to the user.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      PERFORM sub_built_log_report TABLES l_t_return&lt;/P&gt;&lt;P&gt;                            USING  l_index&lt;/P&gt;&lt;P&gt;                                   c_warning&lt;/P&gt;&lt;P&gt;                                   l_vbeln.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    If l_t_temp_return has the data after removing all messages&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    other than of type 'E' and 'A' then creation of sales order has&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    failed.Put the record in error log and send notification to the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    user and exit from subroutine without committing.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      PERFORM sub_built_log_report TABLES l_t_temp_return&lt;/P&gt;&lt;P&gt;                                   USING  l_index&lt;/P&gt;&lt;P&gt;                                          c_error&lt;/P&gt;&lt;P&gt;                                          space.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " sub_chk_sales_order_status&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  sub_add_sernr_to_sales_order&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; This subroutine calls the VA02 (Change sales order) to add serial&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; number for the item to sales order created.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Parameters:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              --&amp;gt;  L_VBELN    Sales order number&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              --&amp;gt;  L_SERNR    Serial number to be added&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              --&amp;gt;  L_INDEX         Index of the record being processed&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM sub_add_sernr_to_sales_order USING     l_vbeln     TYPE vbeln_va&lt;/P&gt;&lt;P&gt;                                            l_sernr     TYPE charg_d&lt;/P&gt;&lt;P&gt;                                            l_index     TYPE sytabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local data declaration&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Internal table used for getting the bdc messages during the call&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  transaction to VA02.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    l_t_bdcmsgcoll TYPE STANDARD TABLE OF bdcmsgcoll  INITIAL SIZE 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH t_bdcdata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate the BDC table with the sales order and serial number for the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;transaction VA02.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM sub_populate_bdc_table USING  l_vbeln&lt;/P&gt;&lt;P&gt;                                        l_sernr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call transaction VA02 (change sales order) for adding serial number to&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;the item&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL TRANSACTION c_transaction_code&lt;/P&gt;&lt;P&gt;    USING  t_bdcdata&lt;/P&gt;&lt;P&gt;    MODE   c_display_mode&lt;/P&gt;&lt;P&gt;    UPDATE c_update_mode&lt;/P&gt;&lt;P&gt;    MESSAGES INTO l_t_bdcmsgcoll.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Append the record to error log internal table t_error_log if it has&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;failed to add the serial number to the sales order.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM sub_log_error TABLES    l_t_bdcmsgcoll&lt;/P&gt;&lt;P&gt;                        USING     l_index&lt;/P&gt;&lt;P&gt;                                  l_vbeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                                   "sub_add_sernr_to_sales_order&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  sub_notify_user&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; This subroutine sends the error record information to the user via&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; email.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Parameters: None&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM sub_notify_user .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local data declaration.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;    l_w_content TYPE solisti1.    "Mail body heading.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Prepare the heading of mail subject.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  WRITE text-012 TO l_w_content+2.   "Row ID&lt;/P&gt;&lt;P&gt;  WRITE c_vline  TO l_w_content+9.  "Vertical bar ' | '&lt;/P&gt;&lt;P&gt;  WRITE text-013 TO l_w_content+12.  "Status&lt;/P&gt;&lt;P&gt;  WRITE c_vline  TO l_w_content+19.  "Vertical bar ' | '&lt;/P&gt;&lt;P&gt;  WRITE text-004 TO l_w_content+22.  "Sales order&lt;/P&gt;&lt;P&gt;  WRITE c_vline  TO l_w_content+32.  "Vertical bar ' | '&lt;/P&gt;&lt;P&gt;  WRITE text-006 TO l_w_content+34.  "Message&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;The header of the report to the mail body&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  INSERT l_w_content INTO t_mail_body INDEX 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Function module to send email to the user.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'ZXCAP_SEND_MAIL'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_devid       = c_devid&lt;/P&gt;&lt;P&gt;      i_subject     = text-003&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      t_body        = t_mail_body&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      invalid_id    = 1&lt;/P&gt;&lt;P&gt;      mail_not_sent = 2&lt;/P&gt;&lt;P&gt;      OTHERS        = 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Set the error flag for error in sending mails.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    g_mail_failed = c_checked.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " sub_notify_user&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 28 Aug 2006 10:57:06 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/sales-order-creation-using-bapi/m-p/1508141#M234553</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-08-28T10:57:06Z</dc:date>
    </item>
  </channel>
</rss>

