Order with BAPI_SALESORDER_CREATEFROMDAT2

Hi.
i am making a sales order with the bapi BAPI_SALESORDER_CREATEFROMDAT2. the order is created but the items haven't any quantity.
i fill the fields  for items:  itm_number, material, target_qty and TARGET_QU.
i don't know if i need to fill any more fields for items.
thanks

Hi,
fill the ORDER_ITEMS_INX. Give item numbers like increments of 10 or so.. and try..
ORDER_ITEMS_IN STRUCTURE BAPISDITM OPTIONAL
ORDER_ITEMS_INX STRUCTURE BAPISDITMX OPTIONAL
These have to be filled to reflect the line items..
Also ensure that you are using BAPI_TRANSACTION_COMMIT.
Edited by: Renjith Michael on Jun 17, 2009 4:35 PM

Similar Messages

  • Query in creating Sales Order with BAPI_SALESORDER_CREATEFROMDAT2?

    Hi,
    I am trying to create a Sales Order with the BAPI and have a contract as a reference. Do I need to explicity mention the line item details in case I need the data from Contract to be copied here. If not how do I acheive this functionality.
    P.S: I am able to create the Sales Order with the reference and I can see the Sales Order in the contracts workflow but not the line items in the Sales Order.
    Any suggestions?
    Regards,
    Karthik

    Hello, Karthik,
    By reading the documentation of BAPI
    BAPI_SALESORDER_CREATEFROMDAT2
    the mandatory data to be supplied to the BAPI, in order to succesfuly create the the Sales Order are:
    "1. ORDER_HEADER_IN :
                    DOC_TYPE Sales document type
                    SALES_ORG Sales organization
                    DISTR_CHAN Distribution channel
                    DIVISION Division
    2. ORDER_PARTNERS..:
                    PARTN_ROLE Partner role, SP sold-to party
                    PARTN_NUMB Customer number
    3. ORDER_ITEMS_IN..: MATERIAL Material number"
    The OSS note 93091 basically re-states the same thing.
    After studying this BAPI's source code, the conclusion seems to be the one the documentation points to: <b>the BAPI can only be used to create a sales order by supplying (manually) all the necessary data.</b>
    BTW: How did you manage to create the empty Sales Order with reference, you mentioned in your mail? Just by providing a reference document number? <b>And nothing more?</b>
    Bye,
    Bogdan

  • Creating sales order with BAPI_SALESORDER_CREATEFROMDAT2

    Hi,
    I´m creating sale orders with the function BAPI_SALESORDER_CREATEFROMDAT2. If you create sales order manually over the transaction, the system will find the right delivery date for you, if you are typing a date too early, for example.
    The same I need to do the BAPI. But if I´m running the BAPI without a date, it is creating a sales order without a BAPI.
    How can I get the date, SAP finds out automatically, when creating sales orders over the transaction?
    Thank you!

    Really no advices to that?

  • Create sales order with BAPI_SALESORDER_CREATEFROMDAT2 example

    Hi, does anyone have a working example of how to create a sales order using BAPI_SALESORDER_CREATEFROMDAT2?
    Thanks

    hi Robert,
    Check this code...try to map.
    one order with total sum of effort
    clear: l_order_header,
    l_salesdocument,
    l_order_partners,
    l_order_items,
    l_order_schdl.
    refresh: it_order_items,
    it_order_partners,
    it_order_schdl,
    it_return.
    ???????? get from material ...
    Order header
    l_order_header-doc_type = 'ZQBV'.
    l_order_header-distr_chan = '10'.
    l_order_header-division = '00'.
    if g_qals-werk eq '1100'.
    l_order_header-sales_org = '1000'.
    else.
    if g_qals-werk eq '3100'.
    l_order_header-sales_org = '3000'.
    else.
    message i001(00) with text-005.
    endif.
    endif.
    l_order_header-purch_no_c = g_qals-prueflos. " <= lot
    Partner data
    l_order_partners-partn_role = 'AG'.
    l_order_partners-partn_numb = g_qals-kunnr.
    append l_order_partners to it_order_partners.
    Order items => only one
    l_order_items-itm_number = 10.
    l_order_items-material = g_qals-matnr.
    l_order_items-target_qty = 1.
    append l_order_items to it_order_items.
    Schedules for quantity
    l_order_schdl-itm_number = 10.
    l_order_schdl-req_qty = 1. " <= only 1 !
    append l_order_schdl to it_order_schdl.
    Conditions for value
    l_order_conditions-itm_number = 10.
    l_order_conditions-cond_type = 'PR00'.
    l_order_conditions-cond_value = g_effort_sum.
    l_order_conditions-currency = g_effort_unit.
    append l_order_conditions to it_order_conditions.
    BAPI to create sales order
    CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
    EXPORTING
    SALESDOCUMENTIN =
    ORDER_HEADER_IN = l_order_header
    ORDER_HEADER_INX =
    SENDER =
    BINARY_RELATIONSHIPTYPE =
    INT_NUMBER_ASSIGNMENT =
    BEHAVE_WHEN_ERROR =
    LOGIC_SWITCH =
    TESTRUN =
    CONVERT = ' '
    IMPORTING
    SALESDOCUMENT = l_salesdocument
    TABLES
    RETURN = it_return
    ORDER_ITEMS_IN = it_order_items
    ORDER_ITEMS_INX =
    ORDER_PARTNERS = it_order_partners
    ORDER_SCHEDULES_IN = it_order_schdl
    ORDER_SCHEDULES_INX =
    ORDER_CONDITIONS_IN = it_order_conditions
    ORDER_CONDITIONS_INX =
    ORDER_CFGS_REF =
    ORDER_CFGS_INST =
    ORDER_CFGS_PART_OF =
    ORDER_CFGS_VALUE =
    ORDER_CFGS_BLOB =
    ORDER_CFGS_VK =
    ORDER_CFGS_REFINST =
    ORDER_CCARD =
    ORDER_TEXT =
    ORDER_KEYS =
    EXTENSIONIN =
    PARTNERADDRESSES =
    if not l_salesdocument is initial.
    order successfully created
    message i001(00) with text-001 l_salesdocument.
    endif.
    endif.
    for more info check the below link also
    Problem with BAPI_SALESORDER_CREATEFROMDAT2
    Regards,
    Naveen

  • Changing PSTYV in sales order with BAPI_SALESORDER_CREATEFROMDAT2

    hi all,
    I'm having this trouble...
    we are creating a Sales Order from PI calling directly the BAPI_SALESORDER_CREATEFROMDAT2...
    but, theres a field than I have to change... the PSTYV must be TANN when the VBAP-NETWR is 0.
    I've used the MV45AFZZ program for the exit... but no in the move_field_to_vbap ('cause it doesn't work form me), I used this one:
    FORM USEREXIT_SAVE_DOCUMENT_PREPARE.
    data: l_tabix type i VALUE 0.
    if xvbak-AUART = 'ZCO'.
      loop at xvbap.
        add 1 to l_tabix.
        if xvbap-netwr EQ 0.
          xvbap-PSTYV = 'TANN'.
          modify xvbap index l_tabix TRANSPORTING pstyv .
        endif.
      endloop.
    endif.
    ENDFORM.
    and with this, when the sales order is created, my PSTYV field if NETWR = 0, now is TANN.... but this is NOT the solution 'cause I can't make an Invoice... I have an incompletion LOG....
    but, if I change the field manually appears a message: New pricing carried out ( Message no. V1209 ).
    and with this... I fix the problem.... but, you can see than I need it automatically....
    so I think, than with my exit, I'm only changing the PSTYV value, but no all the changes than this need...
    thanks in advance...
    Regards..

    Apart from that and also
    ORDER_ITEMS_IN-ITEM_CATEG =  " Value here
    ORDER_ITEMS_INX-ITEM_CATEG =  " Value here

  • Updating Sales order with BAPI_SALESORDER_CREATEFROMDAT2

    Hi All ,
    I am not able to Update two Zfields in vbap using FM BAPI_SALESORDER_CREATEFROMDAT2, In create mode I am able to save values into those fields .
    I have checked the fields in structures
                   ZZVBAP (append structure of VBAP)
                   ZZBAPE_VBAP (append structure of BAPE_VBAP)
                    ZZBAPE_VBAPX (append structure of BAPE_VBAPX)
                  ZZVBAPKOZ (append structure of VBAPKOZ)
                 ZZVBAPKOZX
    what could be the other reason for these zfields not saving in update mode .
    Thanks
    Vinay Kolla

    You can use implicit enhancement to include new fields to be added in BAPI. Because in BAPI, field by field mapping is there. just find FM "sd_salesdocument_create" and then find where ITEM details are to be filled.
    If you still have problem, reply back,,, because I just worked in thsi BAPI for same scenario.

  • Material substitution with BAPI_SALESORDER_CREATEFROMDAT2

    Hi, I'm creating sales orders with BAPI_SALESORDER_CREATEFROMDAT2 in background, I have some materials that have substitutes, but when I use the bapi, the material is does not change. When I create the sales order manually in the VA01, the material is replaced.
    thanks.

    It should behave exactly the same. Usually when you run something online, there are certain fields that get defaulted and you will not notice. But when you call the BAPI, you have to pass those default values as well so that you will see the same result. You will have try it out in a couple of different ways and also debug the code where it decides whether or not substitution allowed and you can trace it back to the value that is missing.

  • Order with referance  to a contract using BAPI_SALESORDER_CREATEFROMDAT2

    Hi All,
      I tried to create an order with reference to a sales contract .
    1) I passed the  contract number to the field REF_DOC at header level , But I got the error message" Document 4000003639 doesn't have document " where 4000003639 was the contract number .  am i missing anything ? Is there any other values that has to be passed ?Can anyone help me on this ?
    2) I also tried passing the contract number at  item level as suggested in earlier posts on this subject , but the sales order was created without any reference to the contract .
    Please help me on this issue .
    Thanks & Regards
    Beena

    Hi Beena,
    You can use this piece of code as reference,
    *Fill the header information for the order.
      wa_order_header_in-doc_type           = Sales Doc type of order to be created.
      wa_order_header_in-sales_org          = sales org.
      wa_order_header_in-distr_chan         = distribution channel.
      wa_order_header_in-division           = division.
      wa_order_header_in-ref_doc            = contract number(This is the contract u refer to).
      wa_order_header_in-refdoc_cat         = 'G' (G stands for contract).
    *Fill the item level information for the order.
        wa_order_items_in-itm_number        = item number.
        wa_order_items_in-material          = material number.
        wa_order_items_in-ref_doc           = contract number(This is the contract u refer to).
        wa_order_items_in-ref_doc_it        = Item number of contract u create.
        wa_order_items_in-ref_doc_ca        = 'G'.
        APPEND wa_order_items_in TO i_order_items_in.
    *Fill the schedule line information for the order.
        wa_order_schedules_in-itm_number    = item number.
        wa_order_schedules_in-sched_line    = 1.
        wa_order_schedules_in-req_qty       = order quantity.
        APPEND  wa_order_schedules_in TO i_order_schedules_in.
        CLEAR: lwa_order_items_in,
               lwa_order_schedules_in.
    *Fill the partner information for the order.
        wa_order_partners-partn_role        = partner function.
        wa_order_partners-partn_numb        = partner number.
        APPEND wa_order_partners TO i_order_partners.
               wa_order_partners.
      CLEAR w_vbeln.
    *Call the order creation BAPI.
      CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
        EXPORTING
      salesdocumentin               =
          order_header_in             = wa_order_header_in
      order_header_inx              = wa_order_header_inx
      sender                        =
      binary_relationshiptype       =
      int_number_assignment         =
      behave_when_error             =
      logic_switch                  = lv_logic_switch
      testrun                       =
      convert                       = ' '
        IMPORTING
          salesdocument               = w_vbeln
        TABLES
          return                      = i_return
          order_items_in              = i_order_items_in
      order_items_inx               =
          order_partners              = i_order_partners
          order_schedules_in          = i_order_schedules_in
      order_schedules_inx           =
      order_conditions_in           =
      order_conditions_inx          =
      order_cfgs_ref                =
      order_cfgs_inst               =
      order_cfgs_part_of            =
      order_cfgs_value              =
      order_cfgs_blob               =
      order_cfgs_vk                 =
      order_cfgs_refinst            =
      order_ccard                   =
      order_text                    =
      order_keys                    =
      extensionin                   =
      partneraddresses              =
      CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    EXPORTING
             wait =
    IMPORTING

  • BAPI_SALESORDER_CREATEFROMDAT2 for creating sales orders with configurable

    Hi All,
    I want to create sales order with a material which in turn triggers a configurable network order.
    I am using the following BAPI : BAPI_SALESORDER_CREATEFROMDAT2.
    After reading the "[Variant Configuration (LO-VC)|http://help.sap.com/printdocu/core/print46c/en/data/pdf/lovc/lovc.pdf]" documentation, I thought I had to populate the
    following tables ORDER_CFGS_REF, ORDER_CFGS_INST and ORDER_CFGS_VALUE.
    The call function return no errors and the sale order is well created. However, I have no values in the network.
    If I created a sale order in VA01, a network is created with value. So the customizing is good.
    Do you have any idea how to populate this tables ? Sample code will be very helpful.
    We found in this forum a lot of sample code about configurable material, with obj_type populate with MARAu2019. But no example with configurable network.
    Actually I complete these tables like this :
    " E1CUCFG
      ls_order_cfgs_ref-posex = '000010'.
    *  ls_order_cfgs_ref-config_id = '000010'.
      ls_order_cfgs_ref-config_id = '000001'.
      ls_order_cfgs_ref-root_id = '00000001'.
      ls_order_cfgs_ref-complete = 'T'.
      ls_order_cfgs_ref-consistent = 'T'.
    *  ls_order_cfgs_ref-cbase_id = '4ECADFC4BE9F03A6E10080000AC4AB76'.
    *  ls_order_cfgs_ref-cbase_id_type = 'G'.
      APPEND ls_order_cfgs_ref TO lt_order_cfgs_ref.
    " E1CUINS
      ls_order_cfgs_inst-config_id = '000001'.
      ls_order_cfgs_inst-inst_id = '00000001'.
      ls_order_cfgs_inst-obj_type = 'PLKONET'. u201C(in replacement of MARA)
      ls_order_cfgs_inst-class_type = '300'. u201C(or 020).
      ls_order_cfgs_inst-obj_key = '01000000801'.
      APPEND ls_order_cfgs_inst TO lt_order_cfgs_inst.
    " E1CUVAL
      ls_order_cfgs_value-config_id = '000001'.
      ls_order_cfgs_value-inst_id = '00000001'.
      ls_order_cfgs_value-charc = 'XXXX'. u201C(corresponding to Flag DTA)
      ls_order_cfgs_value-charc_txt = 'Flag DTA'.
      ls_order_cfgs_value-value = '0'.
      APPEND ls_order_cfgs_value TO lt_order_cfgs_value.
    Thanks,

    Have a look to OSS-Message 567348. There is sample coding for using BAPI_SALESORDER_CHANGE, but the parameters should be the same to yout BAPI
    Best regards
    Torsten Manhardt

  • Regarding sales order creation with "BAPI_SALESORDER_CREATEFROMDAT2"

    Hi Experts,
    I am facing an issue when creating a sales order with FM "BAPI_SALESORDER_CREATEFROMDAT2" it is showing the error
    V1 -761 as " unpermitted combination of BUS 2032 with Sales document category L" .
    In VA01 ,if i provide the fallowing details
    Sales org 1000
    dist        10
    div         10
    item no 10 material-52 plant 1000 shipping point -0001 target qty-1,uOM-EA,weight unit-KG
    billing date 11022011
    pricing date-11022011
    currency - GBP
    shipping party -1
    sold to party -1
    buyer - 1
    bill-to-party -1
    it is creating the sales order.
    what could be the problem with this BAPI..
    Please help.
    Regards
    Vishnu

    Hi Vishnu,
    First try with minimum data for header and item .Check the documentation of that bapi.
    DATA:
    Order partners
    li_order_partners TYPE STANDARD TABLE OF bapiparnr,l_order_partners LIKE bapiparnr,l_order_header_in LIKE bapisdhd1,
    li_order_items_in TYPE STANDARD TABLE OF bapisditm,l_order_items_in LIKE bapisditm,li_order_items_inx TYPE STANDARD TABLE OF bapisditmx,l_order_items_inx LIKE bapisditmx,return TYPE STANDARD TABLE OF bapiret2,l_return TYPE bapiret2,
    l_vbeln LIKE bapivbeln-vbeln,
    CLEAR l_order_partners.
    l_order_partners-partn_role = 'AG'. "Remember German codes !
    l_order_partners-partn_numb = '0000001032'.
    APPEND l_order_partners TO li_order_partners.
    Sales document type
    l_order_header_in-doc_type = 'TA'. "Remember German codes !
    l_order_header_inx-doc_type = 'X'.
    Sales organization
    l_order_header_in-sales_org = '1000'.
    l_order_header_in-distr_chan = '10'.
    l_order_header_in-division = '00'.
    l_order_items_in-itm_number = '10'.
    l_order_items_in-material = 'abcmaterial'.
    l_order_items_in-comp_quant = '1'.
    APPEND l_order_items_in TO li_order_items_in.
    CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
    EXPORTING
    order_header_in = l_order_header_in
    IMPORTING
    salesdocument = l_vbeln
    TABLES
    return = li_return
    order_items_in = li_order_items_in
    order_partners = li_order_part
    WRITE: /  l_vbeln.
    IF l_errflag IS INITIAL.
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
    ENDIF.
    For the above document type , sales organisation,distribution channel,division,customer,material check with you functional consultants and take the exact  combination of data. That combination is very important.Please ask t if you need more help in this.
    Regards,
    Madhu.
    Edited by: madhurao123 on Mar 3, 2011 5:11 AM

  • Creation of sales order with reference to Quotation using BAPI

    Hi All,
    I am using BAPI "BAPI_SALESORDER_CREATEFROMDAT2" for creating sales order. Can you please tell how can I create a sales order with reference to a Quotation.

    Vinit,
    In your header structure, set like this:
      hdr-REF_DOC = i_order-vbeln.  "assign quotation # to sales order
      hdr-REFDOC_CAT = 'B'.         "assign Quotation to VBTYP_N.
    For each line item, set as follows:
    Assigning ref doc to create line item entries in VBFA.
        itm-REF_DOC    = i_order-vbeln.  "quote number
        itm-REF_DOC_IT = i_vbap-posnr.   "quote line item #
        itm-REF_DOC_CA = 'B'.
      data: ret_text type BAPIRET2.
      CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
        EXPORTING
          ORDER_HEADER_IN           = hdr
          convert                   = 'X'
        IMPORTING
          SALESDOCUMENT             = salesdoc
        TABLES
          return                    = ret_tbl
          ORDER_ITEMS_IN            = itm
          ORDER_PARTNERS            = prtnr
          ORDER_ITEMS_inx           = itmx
          ORDER_CONDITIONS_IN       = conds
          ORDER_CONDITIONS_INX      = condsx
          order_schedules_in        = schd_lin.
    Don't forget those points.

  • Creation of Sales order with reference to SOW contracts(VA01 )

    I had created sales order using BAPI_SALESORDER_CREATEFROMDAT2 and now i want to attach the document link for each line item.I could not do it in my program or recording.How can i enter these document type?pls help......

    Dear Machoy,
    In IMG under
    Sales and Distribution -> Sales -> Sales Documents -> Maintain Copy Control for Sales Documents -> Copying Control: Sales Document to Sales Document
    or Transaction VTAA
    http://help.sap.com/erp2005_ehp_02/helpdata/en/70/a7853478616434e10000009b38f83b/frameset.htm
    If you create a sales document with reference to a preceding document, the system copies nearly all the data from the preceding document. The data in the preceding document originally comes from the customer and material master records. Because the data is copied from the preceding documents into the sales document, any changes that have been made to the master data records since the preceding document was created are not included in the sales document. If, when you create with reference, you add another item to the document that was not in the preceding document, the system determines the data for it from the master records, such as the material master or info record.
    You have created an inquiry and a quotation with reference to this inquiry. Before you created the quotation, you changed some data in the material and customer master records.
    You have changed the material description in the material master record. This description is stored in the sales document at item level.
    You have changed the terms of payment in the customer master record from ZB01 to ZB03. These are stored in the sales document at header level.
    When you created the inquiry, the system copies the original material description to the item. If you enter another item in the quotation for the same material, the system displays the new material description for the new item.
    However, the system continues to propose the original term of payment, that is, ZB01, for all items including the new one. This is because it is copied from the header of the preceding document into the header of the quotation, and the change in the customer master record has no affect on the quotation.
    Regards,
    Naveen.

  • Sales order with reference to quotation

    How to use BAPI_SALESORDER_CREATEFROMDAT2 to create a sales order with reference to quotation? what parameters I need to fill in?

    Hi,
    I've also had this problem.
    In the past when faces with this requirement I have used
    BAPI_READ_SALES_DOCUMENT (Note:  I am away from a system today so that may not be the EXACT name of the funciton module but it's close ) to read in the document data from the quote, then transfer that data to the input structures of BAPI_SALESORDER_CREATEFROMDAT2.  Seems to work reasonably well although it doesn't offer much in the way of automatic error handling.
    Hope this helps,
    Regards,
    Brent

  • Create a sales order with reference to another one. (BAPI)

    Hi everybody,
    I'm trying to create a new sales order with reference to another one (That's important because of the documents flow).
    I'm using 'BAPI_SALESORDER_CREATEFROMDAT2' but I couldn´t do it yet. I've read some ideas about this kind of creation in this forum; but I still haven´t found the solution yet.
    Some ideas about the BAPI parameters I nedd to complete?
    Thanks in advance!!

    Hi,
    Go through this one
    *& Report ZSD_R_SALESORDER
    report zsd_r_salesorder1 line-size 132 message-id zmmbapi .
    *& Created By : shailaja
    *& Created on : 13.10.2007
    *& Requested By : vardhman
    *& Description of program :
    Internal table definition *
    data: gt_order_header_in like bapisdhead occurs 0 with header line,
    gt_return like bapireturn1 occurs 0 with header line, " Return Messages
    gt_order_items_in like bapiitemin occurs 0 with header line, " Item Data
    gt_salesdocument like bapivbeln-vbeln , "Number of Generated Document
    gt_order_partners like bapiparnr occurs 0 with header line, "Document Partner
    gt_return1 like bapiret2 occurs 0 with header line.
    Data definition *
    types: begin of ty_gt_ft_sales ,
    partn_numb(10) type n ,"Customer Number 1
    partn_role(2) ,"Partner function
    sales_org(4) , "Sales Organization
    distr_chan(2) , "Distribution Channel
    division(002), "DIVISION
    doc_type(4) , "Sales Document Type
    purch_no(020), "Purchase order
    material(18), "MATERIAL
    targetquantity(020),"Target quantity
    reqqty(020), "Req quantity
    reqdate(010), "req date
    *REQ_DATE_H(010),
    ref_1(012), "Ref
    unload_pt(025),
    *PARTN_ROLE(2) ,"Partner function
    *PARTN_NUMB(10) ,"Customer Number 1
    end of ty_gt_ft_sales,
    begin of ty_header ,
    partn_numb(10) ,"Customer Number 1
    partn_role(2) ,"Partner function
    sales_org(4) , "Sales Organization
    distr_chan(2) , "Distribution Channel
    division(002), "DIVISION
    doc_type(4) , "Sales Document Type
    purch_no(020), "Purchase order
    unload_pt(025),
    req_date_h(010),
    end of ty_header,
    begin of ty_item,
    material(18), "MATERIAL
    targetquantity(020),"Target quantity
    reqqty(020), "Req quantity
    reqdate(010), "req date
    ref_1(012), "Ref
    *UNLOAD(025),
    end of ty_item.
    data : msg(240) type c, " Return Message
    e_rec(8) type c, " Error Records Counter
    rec_no(8) type c, " Records Number Indicator
    s_rec(8) type c, " Successful Records Counter
    t_rec(8) type c, " Total Records Counter
    v_matnr like mara-matnr,
    v_parvw type parvw.
    data : gt_ft_sales type standard table of ty_gt_ft_sales with header line.
    data : wa_gt_ft_sales type ty_gt_ft_sales,
    wa_order_items_in like gt_order_items_in,
    wa_gt_ft_sales1 type ty_gt_ft_sales,
    wa_header type ty_header,
    salesdocument like bapivbeln-vbeln.
    selection block for EXCEL UPLOAD FILE
    selection-screen begin of block b1 with frame title text-000.
    parameters file type ibipparms-path obligatory.
    selection-screen end of block b1.
    *<<<<AT SELECTION-SCREEN ON VALUE-REQUEST FOR FILE .
    at selection-screen on value-request for file .
    perform getname.
    form getname.
    call function 'F4_FILENAME'
    exporting
    program_name = syst-cprog
    dynpro_number = syst-dynnr
    importing
    file_name = file.
    endform.
    *TOP-OF-PAGE.
    top-of-page.
    skip 3.
    format color col_heading inverse on.
    write 40 text-001.
    format color col_heading inverse off.
    skip 1.
    format color col_negative inverse on.
    write :/ text-002, 13 sy-mandt , 104 text-003, 121 sy-uname,
    / text-004, 13 sy-datum , 104 text-005, 121 sy-uzeit.
    format color col_negative inverse off.
    skip 3.
    *START-OF-SELECTION.
    start-of-selection.
    perform get_data.
    perform bapi.
    *end-of-page.
    perform result.
    form result.
    t_rec = e_rec + s_rec.
    skip 3.
    format color col_total inverse on.
    write: /38 text-007, t_rec.
    format color col_total inverse off.
    format color col_negative inverse on.
    write: /38 text-008, e_rec.
    format color col_negative inverse off.
    format color col_total inverse on.
    write: /38 text-009, s_rec.
    format color col_total inverse off.
    endform.
    *& Form get_data
    text
    --> p1 text
    <-- p2 text
    form get_data .
    call function 'WS_UPLOAD' "#EC *
    exporting
    filename = file
    filetype = 'DAT'
    tables
    data_tab = gt_ft_sales
    exceptions
    conversion_error = 1
    file_open_error = 2
    file_read_error = 3
    invalid_type = 4
    no_batch = 5
    unknown_error = 6
    invalid_table_width = 7
    gui_refuse_filetransfer = 8
    customer_error = 9
    no_authority = 10
    others = 11.
    if sy-subrc 0 .
    message e000.
    endif.
    endform. " get_data
    *& Form BAPI
    form bapi .
    loop at gt_ft_sales into wa_gt_ft_sales.
    wa_gt_ft_sales1 = wa_gt_ft_sales.
    at new partn_numb.
    wa_header-doc_type = wa_gt_ft_sales1-doc_type..
    wa_header-sales_org = wa_gt_ft_sales1-sales_org . "'0001'
    wa_header-distr_chan = wa_gt_ft_sales1-distr_chan. "'01'
    wa_header-division = wa_gt_ft_sales1-division. " '01'
    wa_header-purch_no = wa_gt_ft_sales1-purch_no.
    wa_header-req_date_h = wa_gt_ft_sales1-reqdate.
    call function 'CONVERSION_EXIT_PARVW_INPUT'
    exporting
    input = wa_gt_ft_sales1-partn_role
    importing
    output = v_parvw.
    wa_header-partn_role = v_parvw.
    wa_header-partn_numb = wa_gt_ft_sales1-partn_numb.
    wa_header-unload_pt = wa_gt_ft_sales1-unload_pt.
    move-corresponding wa_header to gt_order_partners.
    move-corresponding wa_header to gt_order_header_in.
    append gt_order_header_in.
    append gt_order_partners.
    endat.
    call function 'CONVERSION_EXIT_CCMAT_INPUT'
    exporting
    input = wa_gt_ft_sales1-material
    importing
    output = v_matnr.
    gt_order_items_in-material = v_matnr .
    gt_order_items_in-target_qty = wa_gt_ft_sales1-targetquantity . "'1000'
    gt_order_items_in-req_qty = wa_gt_ft_sales1-reqqty.
    gt_order_items_in-req_date = wa_gt_ft_sales1-reqdate.
    *GT_ORDER_ITEMS_IN-BILL_DATE = wa_GT_FT_SALES1-REQDATE.
    gt_order_items_in-ref_1 = wa_gt_ft_sales1-ref_1.
    append gt_order_items_in.
    clear : wa_gt_ft_sales1,wa_header.
    at end of partn_numb.
    call function 'BAPI_SALESORDER_CREATEFROMDAT1'
    exporting
    order_header_in = gt_order_header_in
    WITHOUT_COMMIT = ' '
    CONVERT_PARVW_AUART = 'X'
    importing
    salesdocument = salesdocument
    SOLD_TO_PARTY =
    SHIP_TO_PARTY =
    BILLING_PARTY =
    return = gt_return
    tables
    order_items_in = gt_order_items_in
    order_partners = gt_order_partners.
    ORDER_ITEMS_OUT =
    ORDER_CFGS_REF =
    ORDER_CFGS_INST =
    ORDER_CFGS_PART_OF =
    ORDER_CFGS_VALUE =
    ORDER_CCARD =
    ORDER_CFGS_BLOB =
    ORDER_SCHEDULE_EX =
    if gt_return-type eq 'E' .
    e_rec = e_rec + 1.
    read table gt_return with key id = 'V1'.
    format color col_negative inverse on.
    rec_no = e_rec + s_rec.
    concatenate text-006 rec_no ':'
    gt_return-message into msg separated by space .
    condense msg.
    write: / msg.
    format color col_negative inverse off.
    elseif gt_return-number = '000'.
    s_rec = s_rec + 1.
    format color col_positive inverse on.
    msg = 'SUCCESS'.
    condense msg.
    write: / msg .
    format color col_positive inverse off.
    write :/ salesdocument, 'Has been created'.
    perform commit_mm.
    endif.
    clear: gt_return[], msg.
    endat.
    endloop.
    endform. " SLALE_UPLOAD_DATA
    *& Form COMMIT_MM
    text
    --> p1 text
    <-- p2 text
    form commit_mm .
    call function 'BAPI_TRANSACTION_COMMIT'
    exporting
    wait = 'X'
    importing
    return = gt_return1.
    clear: gt_order_items_inhttp://].\"GT_ORDER_CONDITIONS_IN[.
    endform. " COMMIT_MM
    inthis pass re_doc field in header...
    Edited by: Naresh kumar

  • Create a Sales order with reference to another sales order  using BAPI

    Dear All,
    Can any one tell me what are all the parameters required to create a Sales order with reference to another sales order using BAPI_SALESORDER_CREATEFROMDAT2....
    Thanks in advance

    Hi Madhan
    Thanks a lot for your reply.
    However, I would like to know which parameters need to passed in this BAPI in case of SO creation with reference. I beleive there are only a few parameters that need to passed in ORDER_HEADER_IN, ORDER_ITEMS_IN, etc.
    Need to know exactly which are these parameters.
    Regards
    Mihir Shah.

Maybe you are looking for