Creating a sales order in sap via bapi

Hi all,
I need to create a sales order through internet in sap.
What do I need?
I can write programs both with abap and C#(as well as VB) well and had the knowledge a little, introduction level of java.
How can I interact with sap from C#, is there any intermediary packet programs?
And any code sample please?
Thanks.
Deniz.

Hello Denis.
I hope RFC has been always to the rescue in such terms.
I have come across, "Connector"
[SAP HELP Library - Standard Reference - RFC Parameter Mapping to C#|http://help.sap.com/saphelp_nw04/helpdata/en/0c/c59f7cd9648f408fe4943fc9dab264/frameset.htm]
Hope that's usefull.
Good Luck & Regards.
Harsh Dave

Similar Messages

  • Create sales order with reference via BAPI

    Hi all,
    I would like to know if is it possible to create a sales order with reference using BAPI, that is, I want to create an order from a contract, for example, referencing one or more contract itens. If so, what variable or table should I use?
    I think that the most suitable function is
    'BAPI_SALESORDER_CREATEFROMDAT2' or should I use another to do this?
    I am using release SAP ECC 6.0.
    Thanks for any help.
    Paulo

    yes, you are using right BAPI i.e. BAPI_SALESORDER_CREATEFROMDAT2
    You will have to provide ORDER_HEADER_IN in that, Others are optional, even then if you have data for them, Provide it for better performance.
    For any confusion related to chosing BAPI :  You may go to BAPI  transaction and find out the correct BAPI according to ur need. for example sales order relatd BAPI's are
    BAPI_SALESORDER_CHANGE :Change Sales Order
    BAPI_SALESORDER_CREATEFROMDAT2: Create Sales Order
    BAPI_SALESDOCU_CREATEWITHDIA: Create Data Container with Dialog
    BAPI_SALESORDER_GETLIST:List of all Orders for Customer
    and so on.
    Reward if helpful..

  • Upload file and link to sales order in SAP via rfc (C#)

    Hello all,
    In my company we have the possibility to attach files to sales orders, e.g. pdf files with the printing details.
    These files are added by the GUI user, this works fine.
    Now we have an extra order creation stream in which a pdf file has to be added to the SO without user interaction.
    In a previous question I had a little question about the linking, that has been solved, I will post the test program later.
    I now can link front end files (pdf's in this case) to the sales orders and it works fine.
    Now we are developing a frontend in C# (build by a third party) which creates a sales order via a RFC. We also want that RFC to include the PDF file and link it to the created order.
    In the interface of the RFC I included a table with 255 char lines. That is the same as in the example program. the problem is that our partner is yet unable to fill the interface in exact the same way as the example program does, so the linked pdf file is corrupted.
    Does anyone have hints how C# should fill the interface table, or how I can change the interface?
    code snippid table declaration for pdf table:
    IT_PDF     LIKE     ZETEX_TAB_PDF
    and
    structure ZETEX_TAB_PDF consists of
    LINE     CHAR255
    the sample program (see other topic on where I got it)
    REPORT  zzfb_brc LINE-SIZE 260.
    * Report  Z_RMTIWARI_ATTACH_DOC_TO_BO
    * Written By : Ram Manohar Tiwari
    * Function   : We need to maintain links between Business Object and
    *              the attachment.Attachment document is basiclally a
    *              business object of type 'MESSAGE'.In order to maintain
    *              links, first the attachment will be crated as Business
    *              Object of type 'MESSAGE' using Message.Create method.
    *              Need to check if we can also use FM
    *              'SO_DOC_INSERT_WITH_ORIG_API1' or SO_OBJECT_INSERT rather
    *              than using Message.Create method.
    * I took this program and removed all the parts for adding URL's and
    * notes.
    * Include for BO macros
    INCLUDE : <cntn01>.
    * Load class.
    CLASS cl_binary_relation DEFINITION LOAD.
    CLASS cl_obl_object      DEFINITION LOAD.
    PARAMETERS:
    *  Object_a
       p_botype LIKE obl_s_pbor-typeid DEFAULT 'BUS2032',    "SO
       p_bo_id  LIKE obl_s_pbor-instid DEFAULT '0000757830', "example number
    *  Object_b
       p_docty  LIKE obl_s_pbor-typeid DEFAULT 'MESSAGE' NO-DISPLAY,
       p_msgtyp LIKE sofm-doctp        DEFAULT 'EXT'     NO-DISPLAY,
    *  Relationship
       p_reltyp  LIKE mdoblrel-reltype DEFAULT 'ATTA'.
    TYPES: BEGIN OF ty_message_key,
            foltp     TYPE so_fol_tp,
            folyr     TYPE so_fol_yr,
            folno     TYPE so_fol_no,
            doctp     TYPE so_doc_tp,
            docyr     TYPE so_doc_yr,
            docno     TYPE so_doc_no,
            fortp     TYPE so_for_tp,
            foryr     TYPE so_for_yr,
            forno     TYPE so_for_no,
           END OF ty_message_key.
    DATA : lv_message_key TYPE ty_message_key.
    DATA : lo_message TYPE swc_object.
    DATA : lt_doc_content TYPE STANDARD TABLE OF soli-line,
           ls_doc_content TYPE soli-line.
    * Create an initial instance of BO 'MESSAGE' - to call the
    * instance-independent method 'Create'.
    swc_create_object lo_message 'MESSAGE' lv_message_key.
    * Upload the pdf file, for now from the frontend, in the future from
    * the server.
    DATA:
    *  dsn(40) TYPE C VALUE '/usr/sap/trans/convert/1.pdf', "server location
    l_lines TYPE i. "filelenght
    CALL FUNCTION 'GUI_UPLOAD'
      EXPORTING
        filename   = 'c:tsimple.pdf'
        filetype   = 'BIN'
      IMPORTING
        filelength = l_lines
      TABLES
        data_tab   = lt_doc_content.
    * no exceptions, the file is there in this example
    clear l_lines.
    loop at lt_doc_content into ls_doc_content.
    l_lines = l_lines + 255.
    endloop.
    compute l_lines =   l_lines
                      + STRLEN( ls_doc_content ).
    ** the coding for the server input, for later
    *OPEN DATASET dsn FOR INPUT IN BINARY MODE.
    *IF sy-subrc <> 0.
    *  EXIT.
    *ENDIF.
    *READ DATASET dsn INTO ls_doc_content.
    *WHILE sy-subrc EQ 0.
    *  APPEND ls_doc_content TO lt_doc_content.
    *  READ DATASET dsn INTO ls_doc_content.
    *ENDWHILE.
    *CLEAR ls_doc_content.
    *CLOSE DATASET dsn.
    * define container to pass the parameter values to the method call
    * in next step.
    swc_container lt_message_container.
    * Populate container with parameters for method
    swc_set_element lt_message_container 'DOCUMENTTITLE' 'Some title'.
    swc_set_element lt_message_container 'DOCUMENTLANGU' 'E'.
    swc_set_element lt_message_container 'NO_DIALOG'     'X'.
    swc_set_element lt_message_container 'DOCUMENTNAME' p_docty.
    swc_set_element lt_message_container 'DOCUMENTTYPE' 'PDF'.
    swc_set_element lt_message_container 'DocumentSize'    l_lines.
    swc_set_element lt_message_container 'DocumentContent' lt_doc_content.
    swc_call_method lo_message 'CREATE' lt_message_container.
    * Refresh to get the reference of create 'MESSAGE' object for attachment
    swc_refresh_object lo_message.
    * Get Key of new object
    swc_get_object_key lo_message lv_message_key.
    * Now we have attachment as a business object instance. We can now
    * attach it to our main business object instance.
    * Create main BO object_a
    DATA: lo_is_object_a TYPE sibflporb.
    lo_is_object_a-instid = p_bo_id.
    lo_is_object_a-typeid = p_botype.
    lo_is_object_a-catid  = 'BO'.
    * Create attachment BO object_b
    DATA: lo_is_object_b TYPE sibflporb.
    lo_is_object_b-instid = lv_message_key.
    lo_is_object_b-typeid = p_docty.
    lo_is_object_b-catid  = 'BO'.
    *TRY.
    CALL METHOD cl_binary_relation=>create_link
      EXPORTING
        is_object_a = lo_is_object_a
        is_object_b = lo_is_object_b
        ip_reltype  = p_reltyp.
    * Check if everything OK...who cares!!
    COMMIT WORK.

    I woudl suggest you check ORDERS05 IDOC type (ORDCHG message type).
    FM - idoc_input_ordchg

  • Is it possible to use variant configuration (with a Non-SAP solution) when creating ERP sales orders in SAP CRM WebUI

    Hello,
    our customer plans to use a Non-SAP solution for variant configuration (Camos) in SAP ERP (ECC 6.0) and in SAP CRM 7.0 EHP1 as well.
    ERP sales orders (and ERP quotations) should be created in SAP CRM (CRM WebUI).
    Is it possible to use variant configuration (with an external variant configuration tool) when creating ERP sales orders and quotations in the SAP CRM WebUI or do we have to implement SAP IPC for this?
    Thanks in advance.
    Regards,
    AEV

    Dear AEV,
    I think LORD (lean orders) should work with variant configuration as well. In the note 1236015 there is not restriction listed. However you need lord2 activated in ECC, and ECC system should be on EHP4.
    Best regards
    Rene

  • Any standard process to update Sales Order in SAP via XI / Idoc ?

    Hello,
    Currently one of our end customer is creating Sales Order in Oracle system. Once the Order is created there, they send the Order information to our XI system via flat file. XI system processes the flat file and then it calls order creation function using rfc / BAPI - BAPI_SALESORDER_CREATEFROMDAT2. This works just fine.
    But now the customer wants an ability to update sales order, cancel certain line or even cancel the whole order in their Orcale system. And once that happens, they want the same thing to happen in SAP via some kind of interface automatically in the background.
    So my question is :
    what is the best way to do it ?
    Is it possible to do via idoc ? The reason I am asking it via idoc is because it sounds that's the most standard way of doing it in SAP.
    What idocs can I use ?
    Has any one implemented such interface ? And if so, can you share some info ?
    Any response is highly appreciate.
    thanks,
    Dipankar

    I woudl suggest you check ORDERS05 IDOC type (ORDCHG message type).
    FM - idoc_input_ordchg

  • Problem when creating a sales order with reference by BAPI

    I am facing one problem when creating Sales Order.
    <b>The scenario is like this while creating SO With reference to an Order type, a new SO will be automatically created with a diff order Type</b>.
    I am using "BAPI_SALESORDER_CREATEFROMDAT2".
    I am calling this BAPI in USEREXIT_REFRESH_DOCUMENT.
    Am I using the right exit to call this Bapi ?
    <b>Problems are like :
    1. Ref Sales Order creating without Sales Unit .
    2. "Object Status does not exist" error msg is coming for Header and Item level(when clicking the status tab and then object status pushbutton).</b> But if testing the bapi from SE37 in test sequence....no such problem persists.
    As for example in case of sales unit,in the debugging mode i have seen that BAPI uses a perform to fill the values in the VBAP structure.But after that when it come back to the main program VBAP remains blank.This ocuurs when the BAPI is called from the exit whereas  if tested from SE37, VBAP retains the value.
    Can u suggest in this ? This is very very urgent............
    Thx in Adv.........................

    Thanks........
    Your suggestion was a great help to me.I have used a custom FM and called it in <b>starting new task</b>.
    Since i am a university fresher working in SAP for nearly 1 year.....can you please explain me the difference between <b>in update task</b> and <b>starting new task</b>.Why the problem was occuring for which you have suggested to call a custom function module.
    what is V1 update and V2 update?Is it attached with asynchronous ans synchronous update.It would be a great help to me if you kindly clear my confusions....
    thanks in advance.

  • Error while creating the sales order using Proxy

    Hi Folks,
    I am trying to create a Sales Order using Proxy via BAPI "BAPI_SALESORDER_CREATEFROMDAT2" :
    and i got this type of standard error message
    <Message>FB call: insufficient parameters</Message>
    few days back only i used the same bapi for creating the Sales Order and did it successfully...using the same parameters
    I don't have any clue about this type error .
    Kindly guide .
    Regards,

    Hi Nikhil,
    How refreshing the cache and restart the server will help ?
    basically i am testing the scenario at R/3 end only by generating XML template in SPROXY.
    My ECC 6.0 is on sp 12....I am not sure is it configuration related error or a bug ? as i have used the same code in ECC 6.0 with sp 09.
    regards,

  • How to create a Contract with reference to a Sales-Order(VA01) with a BAPI

    Hi,
    my name is Wadim and i need help.
    My problem:
    I am creating a sales-order(VA01) with the BAPI 'BAPI_SALESORDER_CREATEFROMDAT2'.
    After that i have to create a contract(VA41) with reference to this order. I found the BAPI "BAPI_CONTRACT_CREATEFROMDATA" and it has the same interfaceparameters like the salesorder-bapi. but there are no parameters to get a connection to the sales-order.
    Is it even possible to get a connection to a sales-order with a bapi???
    thanks for help
    regards mark
    Edited by: Krapp Wadim on May 20, 2010 9:19 PM

    Hi Wadim,
    I have a similar requirement to create order lines in an existing contract with reference using  BAPI_CUSTOMERCONTRACT_CHANGE.  The order lines get created in the contract. However, the condition types from the order line which i'm referencing are not getting referenced and are not getting added in the Contract's line after referencing.
    Did you come across any such issue ? If yes , could you suggest the solution ?
    Regards,
    Venkat.

  • Creating Sales Order in SAP B1 From a Web Service ????

    Hello All,
    I want to know whether we can create a Sales Order in SAP B1  using a Web Service .
    Will i be able to use the DI COM Objects with that web service for Creating Sales Order ???
    Thanks & Regards
    Amit

    The SDK help file & samples give good examples on how to use the DI Server to connect to the company and create documents.
    For example, this is the help files section on connecting to the company:
    Request
    <?xml version="1.0" encoding="UTF-16"?>
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
      <env:Body>
        <dis:Login xmlns:dis="http://www.sap.com/SBO/DIS">
          <DatabaseServer>p5053655</DatabaseServer>
          <DatabaseName>SBODemo_US</DatabaseName>
          <DatabaseType>dst_MSSQL</DatabaseType>
          <DatabaseUsername>sa</DatabaseUsername>
          <DatabasePassword></DatabasePassword>
          <CompanyUsername>manager</CompanyUsername>
          <CompanyPassword>manager</CompanyPassword>
          <Language>ln_English</Language>
          <LicenseServer>ILTLVH25</LicenseServer>
        </dis:Login>
      </env:Body>
    </env:Envelope>
    Response
    <?xml version="1.0"?>
    <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
      <env:Body><dis:LoginResponse xmlns:dis="http://www.sap.com/SBO/DIS">
        <SessionID>0A0E086D-2926-ED9C-DF42-4060B4072B12</SessionID>
        </dis:LoginResponse>
      </env:Body>
    </env:Envelope>
    It also has specific examples on how to add and update documents.

  • BAPI BAPI_BUSPROCESSND_CREATEMULTI to create sales orders in SAP

    Hi
    How can i use this BAPI  "BAPI_BUSPROCESSND_CREATEMULTI." to create mulitple sales orders in CRM from external system. Can you throw some lignt on what will be import parameters ?
    Thanks,
    Vaishnavi

    HI,
    There is a similar requirement in the following thread just check for reference.
    Trying to create a sales order in CRM with BAPI_BUSPROCESSND_CREATEMULTI.
    Regards and Best wishes.

  • How to create a sales order having incomplete non-sap data as input start

    We have facing the following problem in our company. We have a non-SAP system where we pull data from. We built a webservice that enables a user to pull data from the non-sap sustem by entering a key value (e.g. project number). Pulling the non-sap data is not a problem. However, once the user have pulled the data via the webservice, this data (e.g. material number, qty and sales unit) needs to be transfered to the va01 screen directly. The user will have to complete the missing master data like sold to party, ship to party, customer PO number etc. Then by hitting enter standard SAP will run and if everything is OK, the user has to save the order and a sales order number will be created. We know there a lot of techniques that can be used like Idoc, BAPI, XML, RFC. We have XI, Adobe and Portal available. Does somebody have an idea for a solid solution to get this to work?
    kind regards
    Angelique Heutinck

    You want to Create Sales Order thru VA01 after puling the data from NonSAP system. Moreover you want that the Incomplete Sales Order will be saved.
    if thats the requirement - I ll suggest
    While doing VA01 - start from Create with reference Sales order. in that case default Sales Orders will be automatically created and using the BDC you can change the items  or Customers you want to change. Once the Order number is created properly  - u r free to change eveything of that Order.
    Otherwise calling BAPI / RFC for creating the sales orders is the most safest way of achieving it. But again if you dont have the complete data - calling RFC  or BAPI does not make much sense. because they will fail to create the Sales Order in case u dont fill up the mandatory fields.

  • How to create Billing Plan in sales order using Function module /BAPI

    hi,
    How to create Billing Plan in sales order using Function module /BAPI
    i hv check few FM such
    BILLING_SCHEDULE_READ
    BILLING_SCHEDULE_GET_NUMBER
    BILLING_SCHEDULE_SAVE
    But unable to create billing plan for a sales order.....any other method to create???

    Hi,
    Use this link.
    Create sales order with billing plan via LSMW and BAPI BUS2032
    BAPI or Function to update Billing Plan in Sales Order Items
    Hope this will help you.
    Regards,
    Vijay

  • How to create a sales order using bapi

    hi
        i need to create a sales order using bapi.
    can any one help me

    Do NOT USE BAPI_SALESORDER_CREATEFROMDATA, that FM is obsolete!
    Use BAPI_SALESORDER_CREATEFROMDAT1 .
    To build a reference to your contract you have to supply ORDER_HEADER_IN.
    Here´s a sample:
    MOVE:
    gs_vbak-vbeln TO ls_bapisdhd1-refobjkey,
    gs_vbak-vbeln TO ls_bapisdhd1-ref_doc,
    gs_vbak-vbtyp TO ls_bapisdhd1-refdoc_cat,
    gs_vbak-auart TO ls_bapisdhd1-refdoctype.
    also gothrouh the links
    https://www.sdn.sap.com/irj/sdn/wiki?path=/display/snippets/abap%2b-%2bsimple%2bprogram%2bto%2bcreate%2bsales%2border%2busing%2bbapi

  • BAPI needed for goods receipt for delivery created from sales order

    Hi experts,
    I need help.
    I want to post goods receipt for the delivery created from sales order. I have tried out BAPI BAPI_GOODSMVT_CREATE but I am not able to post it.
    Is there any way to post this? I need BAPI and not FM MB_*....
    Thanks & REgards,
    Bhavin A. Shah

    Hi,
    Please refer to link,
    https://wiki.sdn.sap.com/wiki/display/Snippets/BAPI_GOODSMVT_CREATE-ABAP
    Regards
    Shree

  • Sale Order Item Quantity Not Populating When Create A Sale Order Using BAPI

    I am having a problem when creating a sale order using BAPI
    BAPI_SALESORDER_CREATEFROMDAT2
    Problem is that sale order item quantity field is not populating
    code is as follows
    ORDER_ITEMS_IN-ITM_NUMBER = '0010'.
    ORDER_ITEMS_IN-MATERIAL = '000000000010000262'.
    ORDER_ITEMS_IN-TARGET_QU = 'LB'.
    ORDER_ITEMS_IN-TARGET_QTY = 1.

    Hi,
    Try populating ORDER_SCHEDULES_IN table in the bapi field REQ_QTY.
    Regds,
    Rudra

Maybe you are looking for