<?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: bapi for sales order in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-for-sales-order/m-p/2072276#M429341</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the newer versions of SAP, BAPI_SALESORDER_CREATEFROMDAT1 is obsolete.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Use BAPI_SALESORDER_CREATEFROMDAT2 instead of 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Tamá&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 28 Mar 2007 12:58:46 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-03-28T12:58:46Z</dc:date>
    <item>
      <title>bapi for sales order</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-for-sales-order/m-p/2072275#M429340</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi to all,&lt;/P&gt;&lt;P&gt;i had used the bapi BAPI_SALESORDER_CREATEFROMDAT1 for sales order creation.&lt;/P&gt;&lt;P&gt;but iam getting a message the document type does not exit.&lt;/P&gt;&lt;P&gt;I had executed in debugging mode but what  i found is the table ORDER_HEADER_IN  is initial even though the pass the data thru an intenal table.&lt;/P&gt;&lt;P&gt;could any one help me out.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks &amp;amp; Regards,&lt;/P&gt;&lt;P&gt;satish&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 28 Mar 2007 12:42:35 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-for-sales-order/m-p/2072275#M429340</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-03-28T12:42:35Z</dc:date>
    </item>
    <item>
      <title>Re: bapi for sales order</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-for-sales-order/m-p/2072276#M429341</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the newer versions of SAP, BAPI_SALESORDER_CREATEFROMDAT1 is obsolete.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Use BAPI_SALESORDER_CREATEFROMDAT2 instead of 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Tamá&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 28 Mar 2007 12:58:46 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-for-sales-order/m-p/2072276#M429341</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-03-28T12:58:46Z</dc:date>
    </item>
    <item>
      <title>Re: bapi for sales order</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-for-sales-order/m-p/2072277#M429342</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;i think you are passing only the header to that function module, seee the below example program and pass the fields accordingly&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;*&amp;amp;---------------------------------------------------------------------* 
*&amp;amp; Report  ZMMC2_CREATE_ORDER                                          * 
*&amp;amp;                                                                     * 
*&amp;amp;---------------------------------------------------------------------* 
*&amp;amp;                                                                     * 
*&amp;amp;    This report will execute the actual ZMMC2 sales order creations. * 
*&amp;amp;    It will create a ZORI order with blocked code 99.                * 
*&amp;amp;    It can be called from ZMMC2 or ran in background.                * 
*&amp;amp;                                                                     * 
*&amp;amp;    The original report was written in release 4.0B, but now, in 4.7 * 
*&amp;amp;    as much batch input code as possible is replaced by BAPI's.      * 
*&amp;amp;                                                                     * 
*&amp;amp;                                                                     * 
*&amp;amp;---------------------------------------------------------------------* 

REPORT  zmmc2_create_order LINE-SIZE 132. 


**********DATA DECLARATION*************** 

TABLES: zrt01, 
        zrt03, 
        zrtmsg, 
        vbap, 
        mvke,                                               " 
        mast.                          " routing allocation 


DATA: BEGIN OF sel_zrt01 OCCURS 0. 
        INCLUDE STRUCTURE zrt01. 
DATA: END OF sel_zrt01. 

DATA: BEGIN OF sel_zrt02 OCCURS 0. 
        INCLUDE STRUCTURE zrt02. 
DATA: END OF sel_zrt02. 

DATA: BEGIN OF msg OCCURS 0. 
        INCLUDE STRUCTURE bdcmsgcoll. 
DATA: END OF msg. 

data: i_header type BAPISDHEAD, 
      i_partner type BAPIPARTNR occurs 0 with header line, 
      i_items type BAPIITEMIN occurs 0 with header line, 
      result type BAPIRETURN1, 
      sales_doc like BAPIVBELN-VBELN. 

DATA: BEGIN OF message_log OCCURS 0, 
        tcode  LIKE sy-tcode, 
        msgtyp, 
        msgid(20), 
        msgnr(3), 
        var1(50), 
        var2(50), 
        var3(50), 
        var4(50), 
      END OF message_log. 


DATA: wrkcnt TYPE i. 

DATA: BEGIN OF BDCDATA OCCURS 0. 
        INCLUDE STRUCTURE BDCDATA. 
DATA: END OF BDCDATA. 

**************SELECTION SCREEN****************** 

SELECTION-SCREEN BEGIN OF BLOCK sel1 WITH FRAME. 
  SELECT-OPTIONS slimtnbr FOR zrt03-imtnbr. 
*  PARAMETER wrk_mode TYPE c DEFAULT 'N'. 
  PARAMETER pchkonly AS CHECKBOX DEFAULT ' '. 
  PARAMETER plistcre AS CHECKBOX DEFAULT ' '. 
  PARAMETER pmaxcnt TYPE i DEFAULT 2. 
SELECTION-SCREEN END OF BLOCK sel1. 


************************************************ 
START-OF-SELECTION. 
************************************************ 

  wrkcnt = 0. 


*Get Material Master* 

  PERFORM read_orders_to_create. 

  IF wrkcnt &amp;gt; 0. 
    PERFORM process_orders_to_create. 
  ENDIF. 

*********************************************** 
END-OF-SELECTION. 
*********************************************** 
SET PF-STATUS '100'. 

AT USER-COMMAND. 
  IF SY-UCOMM = 'SUBMIT'. 
    SUBMIT ZMMCD_CREATE_ORDER 
      WITH SLIMTNBR IN SLIMTNBR 
      WITH PCHKONLY = ' ' 
      WITH PLISTCRE = PLISTCRE 
      WITH PMAXCNT = PMAXCNT 
      AND RETURN. 
  ENDIF. 



*&amp;amp;---------------------------------------------------------------------* 
*&amp;amp;      Form  READ_ORDERS_TO_CREATE 
*&amp;amp;---------------------------------------------------------------------* 
*       text 
*----------------------------------------------------------------------* 
*  --&amp;gt;  p1        text 
*  &amp;lt;--  p2        text 
*----------------------------------------------------------------------* 
FORM read_orders_to_create . 

  DATA: wrk_matnr LIKE mvke-matnr. 

  FREE sel_zrt01. 
  CLEAR sel_zrt01. 

*************Select BOM's to create************* 
  SELECT * FROM zrt01 WHERE imtnbr IN slimtnbr 
                      AND expcrea = 'X'. 

    wrk_matnr = zrt01-imtnbr. 

    SELECT SINGLE * FROM mvke WHERE matnr = wrk_matnr 
                               AND  vkorg = zrt01-expvkorg 
                               AND  vtweg = zrt01-expvtweg. 
    CHECK sy-subrc = 0. 

    MOVE-CORRESPONDING zrt01 TO sel_zrt01. 
    APPEND sel_zrt01. 
    wrkcnt = wrkcnt + 1. 
    IF wrkcnt &amp;gt;= pmaxcnt. 
      EXIT. 
    ENDIF. 

  ENDSELECT. 

  IF pchkonly = 'X' OR plistcre = 'X'. 
    SKIP. 
    WRITE: /  'Number of Orders to create:' , wrkcnt. 
    SKIP. 

  ENDIF. 

ENDFORM.                    " READ_ORDERS_TO_CREATE 
*&amp;amp;---------------------------------------------------------------------* 
*&amp;amp;      Form  PROCESS_ORDERS_TO_CREATE 
*&amp;amp;---------------------------------------------------------------------* 
*       text 
*----------------------------------------------------------------------* 
*  --&amp;gt;  p1        text 
*  &amp;lt;--  p2        text 
*----------------------------------------------------------------------* 
FORM process_orders_to_create . 

  LOOP AT sel_zrt01. 
    IF PCHKONLY &amp;lt;&amp;gt; 'X'. 
      MOVE-CORRESPONDING SEL_ZRT01 TO ZRT01. 
* 
      PERFORM INSERT_ORDER_IN_FILE. 
* 
      SELECT SINGLE *  FROM VBAP 
                       WHERE MATNR = SEL_ZRT01-IMTNBR. 
* 
      IF SY-SUBRC = 0. 
        MOVE 'Y' TO ZRT01-EXPCREA. 
        UPDATE ZRT01. 
      ELSE. 
        MOVE 'E' TO ZRT01-EXPCREA. 
        UPDATE ZRT01. 
      ENDIF. 
* 
    ENDIF. 
* 
    IF PLISTCRE = 'X' OR PCHKONLY = 'X'. 
      WRITE: /  SEL_ZRT01-IMTNBR, 
                SEL_ZRT01-EXPVKORG, 
                SEL_ZRT01-EXPVTWEG, 
                SEL_ZRT01-CUST, 
                SEL_ZRT01-NAMECUST, 
                SEL_ZRT01-PONBR, 
                SEL_ZRT01-EXPQTY, 
                SEL_ZRT01-EXPUNI, 
                'Order:', 
                VBAP-VBELN. 
    ENDIF. 
  ENDLOOP. 

ENDFORM.                    " PROCESS_ORDERS_TO_CREATE 
*&amp;amp;---------------------------------------------------------------------* 
*&amp;amp;      Form  INSERT_ORDER_IN_FILE 
*&amp;amp;---------------------------------------------------------------------* 
*       text 
*----------------------------------------------------------------------* 
*  --&amp;gt;  p1        text 
*  &amp;lt;--  p2        text 
*----------------------------------------------------------------------* 
form INSERT_ORDER_IN_FILE . 

  data: WRK_EXPPRICE(10) type c. 
  clear i_header. 

  clear: i_partner, i_items. 
  free: i_partner, i_items. 

  IF ZRT01-AUART IS INITIAL. 
    i_header-doc_type = 'ZORI'. 
  ELSE. 
    i_header-doc_type = zrt01-auart. 
  ENDIF. 

  i_header-sales_org = ZRT01-EXPVKORG. 
  i_header-distr_chan = ZRT01-EXPVTWEG. 
  i_header-division = 'AL'. 

  i_header-purch_no = ZRT01-PONBR. 

*Customer data********* 
  i_partner-partn_numb = ZRT01-CUST. 
  i_partner-partn_role = 'AG'. 
* 
  IF NOT ZRT01-EXPDLDT IS INITIAL. 
    i_header-req_date_h = zrt01-expdldt. 
  ENDIF. 

  i_header-dlv_block = 99. 

*Items***************** 
  i_items-material = zrt01-imtnbr. 
  i_items-req_qty = ZRT01-EXPQTY * 1000. 
  i_items-target_qu = ZRT01-EXPUNI. 
  i_items-sales_unit = ZRT01-EXPUNI. 
  i_items-plant = ZRT01-ZZPLNWERKS. 
  i_items-cond_type = 'ZPR0'. 
  i_items-cond_value = ZRT01-EXPPRICE. 


  append: i_partner, i_items. 

  CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT1' 
        EXPORTING 
          order_header_in           = i_header 
*         WITHOUT_COMMIT            = ' ' 
*         CONVERT_PARVW_AUART       = ' ' 
       IMPORTING 
          SALESDOCUMENT             = sales_doc 
*         SOLD_TO_PARTY             = 
*         SHIP_TO_PARTY             = 
*         BILLING_PARTY             = 
         RETURN                    = result 
        tables 
          order_items_in            = i_items 
          order_partners            = i_partner 
*         ORDER_ITEMS_OUT           = 
*         ORDER_CFGS_REF            = i_conf_data 
*         ORDER_CFGS_INST           = 
*         ORDER_CFGS_PART_OF        = 
*         ORDER_CFGS_VALUE          = i_config 
*         ORDER_CCARD               = 
*         ORDER_CFGS_BLOB           = 
*         ORDER_SCHEDULE_EX         = 
                  . 
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'. 

write: / sales_doc. 
PERFORM savmsg. 

*First screen to enter sales document number 
perform BDC_FILL using 'SAPMV45A' '0102' 'X'. 
perform bdc_fill using 'VBAK-VBELN' sales_doc ' '. 
perform bdc_fill using 'BDC_OKCODE' '/00' ' '. 

*Second screen to select material and go to config and back. 
perform bdc_fill using 'SAPMV45A' '4001' 'X'. 

perform bdc_fill using 'RV45A-VBAP_SELKZ(01)' 'X' ' '. 
perform bdc_fill using 'BDC_OKCODE' '=POCO' ' '. 
*This is where it goes wrong. This okcode is suppose to let the 
*prog jump to the config screen but it doesnt do it and when i 
*execute the batchinput part seperatly it works fine. I 
*think it has something to do with the bapi call before the batch input 

*Go to config 
perform bdc_fill using 'SAPLCEI0' '0109' 'X'. 
perform bdc_fill using 'BDC_OKCODE' '=BACK' ' '. 

*Go back 
perform bdc_fill using 'SAPMV45A' '4001' 'X'. 
perform bdc_fill using 'BDC_OKCODE' '=SICH' ' '. 

CALL TRANSACTION 'VA02'  USING  BDCDATA 
                           MODE 'A' 
                           UPDATE 'A'. 
*                           MESSAGES INTO MSG. 

endform.                    " INSERT_ORDER_IN_FILE 
*&amp;amp;---------------------------------------------------------------------* 
*&amp;amp;      Form  savmsg 
*&amp;amp;---------------------------------------------------------------------* 
*       text 
*----------------------------------------------------------------------* 
*  --&amp;gt;  p1        text 
*  &amp;lt;--  p2        text 
*----------------------------------------------------------------------* 
form savmsg . 

DATA: text(150). 

if result-type = 'E'. 
  move: result-type to message_log-msgtyp, 
        result-id to message_log-msgid, 
        result-number to message_log-msgnr, 
        result-message_v1 to message_log-var1, 
        result-message_v2 to message_log-var2, 
        result-message_v3 to message_log-var3. 
  message_log-tcode = 'VA01'. 
  APPEND message_log. 

  CLEAR text. 
    CALL FUNCTION 'MESSAGE_TEXT_BUILD' 
      EXPORTING 
        msgid               = message_log-msgid 
        msgnr               = message_log-msgnr 
        msgv1               = message_log-var1 
        msgv2               = message_log-var2 
        msgv3               = message_log-var3 
        msgv4               = message_log-var4 
      IMPORTING 
        message_text_output = text. 

   MOVE: zrt01-imtnbr TO zrtmsg-imtnbr, 
          sy-uname     TO zrtmsg-userid, 
          sy-datum     TO zrtmsg-creadat, 
          sy-uzeit     TO zrtmsg-creatim. 
    zrtmsg-counter = zrtmsg-counter + 1. 
    MOVE-CORRESPONDING message_log TO zrtmsg. 

    MOVE: zrt01-imtnbr TO zrtmsg-matnr, 
          ZRT01-ZZPLNWERKS TO zrtmsg-werks, 
          ZRT01-EXPVKORG  TO zrtmsg-vkorg, 
          ZRT01-EXPVTWEG TO zrtmsg-vtweg, 
          text         TO zrtmsg-text. 
    INSERT  zrtmsg . 

    CLEAR: message_log, result. 
    FREE:  message_log. 

endif. 

endform.                    " savmsg 
*&amp;amp;---------------------------------------------------------------------* 
*&amp;amp;      Form  BDC_FILL 
*&amp;amp;---------------------------------------------------------------------* 
*       text 
*----------------------------------------------------------------------* 
*      --&amp;gt;P_0504   text 
*      --&amp;gt;P_0505   text 
*      --&amp;gt;P_0506   text 
*----------------------------------------------------------------------* 
form BDC_FILL  using VALUE_A VALUE_B CHECK. 
clear bdcdata. 
if check = 'X'. 
  bdcdata-program = value_a. 
  bdcdata-dynpro = value_b. 
  bdcdata-dynbegin = 'X'. 
else. 
  bdcdata-fnam = value_a. 
  bdcdata-fval = value_b. 
endif. 
append bdcdata. 
endform.                    " BDC_FILL &lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt; Sudheer&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 28 Mar 2007 13:03:46 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-for-sales-order/m-p/2072277#M429342</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-03-28T13:03:46Z</dc:date>
    </item>
    <item>
      <title>Re: bapi for sales order</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-for-sales-order/m-p/2072278#M429343</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi Sudheer,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I had written the following code could you check.  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS:P_FPATH LIKE RLGRAP-FILENAME.&lt;/P&gt;&lt;P&gt;PARAMETERS:B  AS CHECKBOX  .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*internal table to hold header data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF IT_VA01 occurs 0,&lt;/P&gt;&lt;P&gt;      AUART(4),&lt;/P&gt;&lt;P&gt;      KUNNR(10),&lt;/P&gt;&lt;P&gt;      BSTKD(35),&lt;/P&gt;&lt;P&gt;      BSTDK(10),&lt;/P&gt;&lt;P&gt;      TEXT(100),&lt;/P&gt;&lt;P&gt;      END OF IT_VA01.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*internal table to hold line items data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:BEGIN OF IT_ITEM  OCCURS 0,&lt;/P&gt;&lt;P&gt;     POSNR LIKE VBAP-POSNR,&lt;/P&gt;&lt;P&gt;     MATNR LIKE VBAP-MATNR,&lt;/P&gt;&lt;P&gt;     KWMENG(15),&lt;/P&gt;&lt;P&gt;     WERKS LIKE VBAP-WERKS,&lt;/P&gt;&lt;P&gt;     KBETR(11) ,&lt;/P&gt;&lt;P&gt;     END OF IT_ITEM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*internal table to hold error messages.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF it_error OCCURS 100,&lt;/P&gt;&lt;P&gt;      msg LIKE BAPIRET2-message,       "Error message&lt;/P&gt;&lt;P&gt;      END OF it_error.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:V_VKORG(4) VALUE '5031'.&lt;/P&gt;&lt;P&gt;DATA:V_VTWEG(2) VALUE '50'.&lt;/P&gt;&lt;P&gt;DATA:V_SPART(2) VALUE '73'.&lt;/P&gt;&lt;P&gt;data:v_date LIKE SY-DATUM.&lt;/P&gt;&lt;P&gt;data:v_prole(2) value 'SP'.&lt;/P&gt;&lt;P&gt;data:v_sonum like BAPIVBELN-VBELN.&lt;/P&gt;&lt;P&gt;data:msg(255) TYPE c.&lt;/P&gt;&lt;P&gt;DATA:V_COND_TYPE(4)  VALUE 'ZPR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data:it_header like bapisdhead occurs 0 with header line.&lt;/P&gt;&lt;P&gt;data:it_BAPIITEMIN like  BAPIITEMIN occurs 0 with header line.&lt;/P&gt;&lt;P&gt;data:it_BAPIPARTNR like BAPIPARNR occurs 0 with header line.&lt;/P&gt;&lt;P&gt;data:it_return like standard table of BAPIRETURN1 with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;  clear v_date.&lt;/P&gt;&lt;P&gt;  v_date = sy-datum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FPATH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'F4_FILENAME'&lt;/P&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;P&gt;     PROGRAM_NAME        = SYST-CPROG&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DYNPRO_NUMBER       = SYST-DYNNR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     FIELD_NAME          = 'P_FPATH'&lt;/P&gt;&lt;P&gt;   IMPORTING&lt;/P&gt;&lt;P&gt;     FILE_NAME           = P_FPATH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  clear it_return.&lt;/P&gt;&lt;P&gt;  PERFORM GET_DATA.&lt;/P&gt;&lt;P&gt;  perform upload.&lt;/P&gt;&lt;P&gt;&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  GET_DATA&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;      text&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; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&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 GET_DATA .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'WS_UPLOAD'&lt;/P&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CODEPAGE                      = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     FILENAME                      = p_fpath&lt;/P&gt;&lt;P&gt;     FILETYPE                      = 'DAT'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  HEADLEN                       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  LINE_EXIT                     = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  TRUNCLEN                      = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  USER_FORM                     = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  USER_PROG                     = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DAT_D_FORMAT                  = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FILELENGTH                    =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      DATA_TAB                      = it_va01.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CONVERSION_ERROR              = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FILE_OPEN_ERROR               = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FILE_READ_ERROR               = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  INVALID_TYPE                  = 4&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NO_BATCH                      = 5&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  UNKNOWN_ERROR                 = 6&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  INVALID_TABLE_WIDTH           = 7&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  GUI_REFUSE_FILETRANSFER       = 8&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CUSTOMER_ERROR                = 9&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NO_AUTHORITY                  = 10&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OTHERS                        = 11&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_DATA&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  upload&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;      text&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; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&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 upload .&lt;/P&gt;&lt;P&gt;  LOOP AT IT_VA01.&lt;/P&gt;&lt;P&gt;    SPLIT IT_VA01-TEXT AT ',' INTO   IT_item-posnr IT_item-MATNR&lt;/P&gt;&lt;P&gt;    IT_item-KWMENG IT_item-WERKS IT_item-KBETR.&lt;/P&gt;&lt;P&gt;    APPEND it_item.&lt;/P&gt;&lt;P&gt;    CLEAR it_item.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*SD_ORDER_HEADER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT IT_VA01.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL FUNCTION 'CONVERSION_EXIT_AUART_INPUT'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     INPUT         = IT_VA01-AUART&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    OUTPUT        = IT_VA01-AUART.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    it_header-DOC_TYPE = IT_VA01-AUART.&lt;/P&gt;&lt;P&gt;    it_header-SALES_ORG = V_VKORG.&lt;/P&gt;&lt;P&gt;    it_header-DISTR_CHAN = V_VTWEG.&lt;/P&gt;&lt;P&gt;    it_header-DIVISION = V_SPART.&lt;/P&gt;&lt;P&gt;    it_header-PURCH_NO = IT_VA01-BSTKD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'CONVERSION_EXIT_IDATE_INPUT'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        INPUT  = IT_VA01-BSTDK&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        OUTPUT = IT_VA01-BSTDK.&lt;/P&gt;&lt;P&gt;    it_header-PURCH_DATE = IT_VA01-BSTDK.&lt;/P&gt;&lt;P&gt;    it_header-REQ_DATE_H = v_date.&lt;/P&gt;&lt;P&gt;    append it_header.&lt;/P&gt;&lt;P&gt;    clear it_header.&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;SD_ORDER_ITEMS_IN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT IT_ITEM.&lt;/P&gt;&lt;P&gt;    it_BAPIITEMIN-ITM_NUMBER = IT_item-posnr.&lt;/P&gt;&lt;P&gt;    it_BAPIITEMIN-MATERIAL = IT_item-MATNR.&lt;/P&gt;&lt;P&gt;    it_BAPIITEMIN-PLANT = IT_item-WERKS.&lt;/P&gt;&lt;P&gt;    it_BAPIITEMIN-req_QTY = IT_item-KWMENG.&lt;/P&gt;&lt;P&gt;    it_BAPIITEMIN-COND_TYPE = V_COND_TYPE.&lt;/P&gt;&lt;P&gt;    it_BAPIITEMIN-COND_VALUE = IT_item-KBETR.&lt;/P&gt;&lt;P&gt;    append it_BAPIITEMIN.&lt;/P&gt;&lt;P&gt;    clear it_BAPIITEMIN.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*SD_ORDER_PARTNERS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at it_va01.&lt;/P&gt;&lt;P&gt;    it_BAPIPARTNR-PARTN_ROLE = V_PROLE.&lt;/P&gt;&lt;P&gt;    it_BAPIPARTNR-PARTN_NUMB = it_va01-kunnr.&lt;/P&gt;&lt;P&gt;    append it_BAPIPARTNR.&lt;/P&gt;&lt;P&gt;    clear it_BAPIPARTNR.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF B = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR V_SONUM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CREATE_ORDER&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    clear it_return.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT1'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        ORDER_HEADER_IN           = it_header&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  WITHOUT_COMMIT            = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CONVERT_PARVW_AUART       = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     IMPORTING&lt;/P&gt;&lt;P&gt;       SALESDOCUMENT             = v_sonum&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  SOLD_TO_PARTY             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  SHIP_TO_PARTY             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  BILLING_PARTY             =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   RETURN                    = it_return&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        ORDER_ITEMS_IN            = it_BAPIITEMIN&lt;/P&gt;&lt;P&gt;        ORDER_PARTNERS            = it_BAPIPARTNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT it_return  WHERE type EQ 'E' OR type EQ 'A'.&lt;/P&gt;&lt;P&gt;      IF it_return-type EQ 'E'.&lt;/P&gt;&lt;P&gt;        it_error-msg = it_return-message.&lt;/P&gt;&lt;P&gt;        APPEND it_error.&lt;/P&gt;&lt;P&gt;        CLEAR it_error.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK' .&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&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;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      WRITE:/ v_sonum , '* PROCESSED OK *'.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      loop at it_error.&lt;/P&gt;&lt;P&gt;        write:/ it_error-msg.&lt;/P&gt;&lt;P&gt;      endloop.&lt;/P&gt;&lt;P&gt;&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;&lt;/P&gt;&lt;P&gt;thanks &amp;amp; Regards,&lt;/P&gt;&lt;P&gt;satish&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 28 Mar 2007 13:15:30 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-for-sales-order/m-p/2072278#M429343</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-03-28T13:15:30Z</dc:date>
    </item>
  </channel>
</rss>

