Hi Mastan Shail,
If you have excel file with you the following code will help you fix your problem.
i have hard coded the values here.first check with this values.then go to vbak and vbap table.see the values.
use function module to upload data from excel.
use ALSM_EXCEL_TO_INTERNAL_TABLE or
use TEXT_CONVERT_XLS_TO_SAP.
here specify the path of your file.
give the internal table which should have a same structure like excel fille.
the loop internal tables,pass the values to corresponding fields.
then use bapi function module to create sales order
TYPE-POOLS: truxs.
*PARAMETERS : p_file TYPE rlgrap-filename. or
PARAMETER: p_infile LIKE rlgrap-filename." OBLIGATORY DEFAULT 'C:\Users\VENKAT\Desktop\samplefile.xlsx'.
TYPES : BEGIN OF ty_va01,
auart(4) TYPE c,
vkorg(4) TYPE c,
vtweg(2) TYPE c,
spart(2) TYPE c,
kunnr(4) TYPE c,
mabnr(7) TYPE c,
kwmeng(5) TYPE c,
werks(5) TYPE c,
END OF ty_va01.
"this is a structure of excel file.
DATA : gt_va01 TYPE STANDARD TABLE OF ty_va01,
gs_va01 TYPE ty_va01.
DATA : gs_head TYPE bapisdhd1,
gs_headx TYPE bapisdhd1x,
gt_return TYPE TABLE OF bapiret2 WITH HEADER LINE,
gt_item TYPE TABLE OF bapisditm WITH HEADER LINE,
gt_itemx TYPE TABLE OF bapisditmx WITH HEADER LINE,
gt_partner TYPE TABLE OF bapiparnr WITH HEADER LINE.
"use function module to upload data from excel.
"use ALSM_EXCEL_TO_INTERNAL_TABLE
"use TEXT_CONVERT_XLS_TO_SAP
"here i have hard coded values to upload sales order
"replace the hard coded values
CALL FUNCTION 'F4_FILENAME'
EXPORTING
program_name = syst-cprog
dynpro_number = syst-dynnr
field_name = 'P_INFILE'
IMPORTING
file_name = p_infile.
CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
EXPORTING
i_tab_raw_data = it_raw
i_filename = p_infile
TABLES
i_tab_converted_data = gt_va01
EXCEPTIONS
conversion_failed = 1
OTHERS = 2.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
"header
"loop at gt_va01 INTO gs_va01.
"at new auart.
gs_head-doc_type = 'OR'."gs_va01-auart
gs_head-sales_org = '1000'."gs_va01-vkorg
gs_head-distr_chan = '10'."gs_va01-vtweg
gs_head-division = '00'."gs_va01-spart
gs_headx-doc_type = 'X'.
gs_headx-sales_org = 'X'.
gs_headx-distr_chan = 'X'.
gs_headx-division = 'X'.
"endat.
"item values
gt_item-itm_number = '00010'."auto increment values here
gt_item-material = '100-100'."gs_va01-mabnr
gt_item-target_qty = 10."gs_va01-kwmeng
gt_item-plant = '1000'."gs_va01-werks
gt_itemx-itm_number = '00010'.
gt_itemx-material = 'X'.
gt_itemx-target_qty = 'X'.
gt_itemx-plant = 'X'.
"partner profile
gt_partner-partn_role = 'SP'.
gt_partner-partn_numb = '0000002130'.
APPEND gt_partner.
APPEND gt_item.
APPEND gt_itemx.
*at END OF auart.
CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
EXPORTING
order_header_in = gs_head
order_header_inx = gs_headx
testrun = ' '
convert = 'X'
TABLE
return = gt_return
order_items_in = gt_item
order_items_inx = gt_itemx
order_partners = gt_partner.
*endat.
*endloop.
LOOP AT gt_return.
WRITE : / gt_return-message,
gt_return-message_v1,
gt_return-message_v2.
ENDLOOP.
thank you