Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Creation of Sales Order

Former Member
0 Kudos

Hi

i need to create a sales order from the excel file coming from third party . please guide which would be the good way to create .

i am thinking of BDC program.

Thanks& regards

SAI

1 ACCEPTED SOLUTION

former_member188685
Active Contributor
0 Kudos

Hi,

try with one of the below BAPI's. using the BAPI is simple.


BAPI_SALESORDER_CREATEFROMDAT1 Sales order: Create Sales Order           
BAPI_SALESORDER_CREATEFROMDAT2 Sales order: Create Sales Order           
BAPI_SALESORDER_CREATEFROMDATA Create Sales Order, No More Maintenance

Regards

Vijay

5 REPLIES 5

Former Member
0 Kudos

Hi,

Try looking for available BAPIs before you choose to use BDC. I think there is one available.

Rgds,

ET

Former Member
0 Kudos

Hi Sai,

You shouldn't use BDC if there is any other solution (small changes in customizing will make your BDC not working anymore). You better use a BAPI or an IDoc to create your sales order!

Regards,

John.

Former Member
0 Kudos

No ! My dear.. SAP recommends to use BAPI's. Hence you can use BAPI_SALESORDER_CHANGE.

You can find more related BAPIs in Function Group 2032.

Best Wishes,

Thomas.

Former Member
0 Kudos

Hi Sai,

Here is your program using BAPI to create a sales order ,

data  wa_order_header_in type bapisdhd1.
data  i_order_partners   type bapiparnr occurs 0 with header line.
data  i_return           type bapiret2  occurs 0 with header line.
*DATA  i_order_items_in   TYPE bapisditm OCCURS 0 WITH HEADER LINE.

data  c_date type sy-datum.

data  path like ibipparms-path.
data  pathc type string.

data : begin of it_final occurs 0,
         doc_type   like tvak-auart,    " bapisdhead-doc_type,
         sales_org  like tvko-vkorg,    "bapisdhead-sales_org,
         distr_chan like tvtw-vtweg,    "bapisdhead-distr_chan,
         division   like tspa-spart,    "bapisdhead-division,
         partn_role like tpar-parvw,    "bapiparnr-partn_role,
         partn_numb like kna1-kunnr,    "bapiparnr-partn_numb,
         purch_no_c(35),
       end of it_final.


initialization.
  c_date = sy-datum.

start-of-selection.

  call function 'F4_FILENAME'
    importing
      file_name = path.

  pathc = path.

  call function 'GUI_UPLOAD'
    exporting
      filename            = pathc
      has_field_separator = 'X'
    tables
      data_tab            = it_final.


  loop at it_final.

    refresh: i_order_partners, i_return.
    clear: i_order_partners, i_return.

    wa_order_header_in-doc_type   = it_final-doc_type.
    wa_order_header_in-sales_org  = it_final-sales_org.
    wa_order_header_in-distr_chan = it_final-distr_chan.
    wa_order_header_in-division   = it_final-division.
    wa_order_header_in-purch_no_c = it_final-purch_no_c.
    wa_order_header_in-req_date_h = c_date.
    wa_order_header_in-price_date = c_date.

    i_order_partners-partn_role  = it_final-partn_role.
    i_order_partners-partn_numb  = it_final-partn_numb.


    append i_order_partners.



    call function 'BAPI_SALESORDER_CREATEFROMDAT2'
      exporting
*       SALESDOCUMENTIN               =
        order_header_in               = wa_order_header_in
*       ORDER_HEADER_INX              =
*       SENDER                        =
*       BINARY_RELATIONSHIPTYPE       =
*       INT_NUMBER_ASSIGNMENT         =
*       BEHAVE_WHEN_ERROR             =
*       LOGIC_SWITCH                  =
*       TESTRUN                       =
*       CONVERT                       = ' '
*     IMPORTING
*       SALESDOCUMENT                 =
      tables
        return                        = i_return
*       ORDER_ITEMS_IN                =
*       ORDER_ITEMS_INX               =
        order_partners                = i_order_partners
*       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              =
              .

    loop at i_return. " where type = 'E'.
      write:/ i_return-type,
              i_return-message.
    endloop.

    write:/  it_final-doc_type,
             it_final-sales_org,
             it_final-distr_chan,
             it_final-division,
             it_final-partn_role,
             it_final-partn_numb,
             it_final-purch_no_c.

    call function 'BAPI_TRANSACTION_COMMIT' .


  endloop.

<i>Hope This Info Helps YOU.</i>

Regards,

Raghav

former_member188685
Active Contributor
0 Kudos

Hi,

try with one of the below BAPI's. using the BAPI is simple.


BAPI_SALESORDER_CREATEFROMDAT1 Sales order: Create Sales Order           
BAPI_SALESORDER_CREATEFROMDAT2 Sales order: Create Sales Order           
BAPI_SALESORDER_CREATEFROMDATA Create Sales Order, No More Maintenance

Regards

Vijay