Quantcast
Channel: SCN: Message List
Viewing all articles
Browse latest Browse all 2756

Re: Sales order creation

$
0
0

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


Viewing all articles
Browse latest Browse all 2756

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>