<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: uploading excel sheet data in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/uploading-excel-sheet-data/m-p/1347699#M174944</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;thankx&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 12 Apr 2007 12:28:29 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-04-12T12:28:29Z</dc:date>
    <item>
      <title>uploading excel sheet data</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/uploading-excel-sheet-data/m-p/1347694#M174939</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hello&lt;/P&gt;&lt;P&gt;plz let me know the procedure of uploading a data from excel sheet into SAP system using BDC.&lt;/P&gt;&lt;P&gt;plz mention the function modules invloved.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks&lt;/P&gt;&lt;P&gt;aafaq&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 05 May 2006 06:06:16 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/uploading-excel-sheet-data/m-p/1347694#M174939</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-05-05T06:06:16Z</dc:date>
    </item>
    <item>
      <title>Re: uploading excel sheet data</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/uploading-excel-sheet-data/m-p/1347695#M174940</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FM ALSM_EXCEL_TO_INTERNAL_TABLE can be used to upload data from Excel file to Internal table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Prashant&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 05 May 2006 06:09:19 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/uploading-excel-sheet-data/m-p/1347695#M174940</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-05-05T06:09:19Z</dc:date>
    </item>
    <item>
      <title>Re: uploading excel sheet data</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/uploading-excel-sheet-data/m-p/1347696#M174941</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi aafaqhusain,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. GUI_UPLOAD&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. this is the FM&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. but it won't directly upload from excel file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;4. The excel file data has to be first&lt;/P&gt;&lt;P&gt;   save as .TXT file&lt;/P&gt;&lt;P&gt;  (TAB Delimited file)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;amit m.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 05 May 2006 06:09:20 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/uploading-excel-sheet-data/m-p/1347696#M174941</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-05-05T06:09:20Z</dc:date>
    </item>
    <item>
      <title>Re: uploading excel sheet data</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/uploading-excel-sheet-data/m-p/1347697#M174942</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;PRE&gt;&lt;CODE&gt;*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Report  ZFI_EXCEL_UPLOAD                                            *
*&amp;amp;                                                                     *
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;                                                                     *
*&amp;amp;                                                                     *
*&amp;amp;---------------------------------------------------------------------*

report  zfi_ar_oi_upload                        .
tables: scustom.
parameters: filename like rlgrap-filename memory id m01,
            begcol type i default 1 no-display,
            begrow type i default 2 no-display,
            endcol type i default 100 no-display,
            endrow type i default 32000 no-display.
* Tick don't append header
parameters: kzheader as checkbox.

data: begin of intern occurs 0.
        include structure  alsmex_tabline.
data: end of intern.

data: begin of intern1 occurs 0.
        include structure  alsmex_tabline.
data: end of intern1.

data: begin of t_col occurs 0,
       col like alsmex_tabline-col,
       size type i.
data: end of t_col.

data: zwlen type i,
      zwlines type i,
      v_file       type filetable,
      v_fileline   type file_table,
      v_rc         type i.


****************************************************************
*                DECLARATION OF BDC_DATA                       *
*                                                              *
****************************************************************

data : bdc_data like bdcdata occurs 0 with header line.
data: msgtab like bdcmsgcoll occurs 0 with header line.

data: begin of fieldnames occurs 3,
        title(60),
        table(6),
        field(10),
        kz(1),
      end of fieldnames.
* No of columns
data: begin of data_tab occurs 0,
       value_0001(50),
       value_0002(50),
       value_0003(50),
       value_0004(50),
       value_0005(50),
       value_0006(50),
       value_0007(50),
       value_0008(50),
       value_0009(50),
       value_0010(50),
       value_0011(50),
       value_0012(50),
       value_0013(50),
       value_0014(50),
       value_0015(50),
       value_0016(50),
       value_0017(50),
       value_0018(50),
       value_0019(50),
       value_0020(50),
       value_0021(50),
       value_0022(50),
       value_0023(50),
       value_0024(50),
       value_0025(50),

       value_0026(50),
       value_0027(50),
       value_0028(50),
       value_0029(50),
       value_0030(50),
       value_0031(50),
       value_0032(50),
       value_0033(50),
       value_0034(50),
       value_0035(50),
       value_0036(50),
       value_0037(50),
       value_0038(50),
       value_0039(50),
       value_0040(50),
       value_0041(50),
       value_0042(50),
       value_0043(50),
       value_0044(50),
       value_0045(50),
       value_0046(50),
       value_0047(50),
       value_0048(50),
       value_0049(50),
       value_0050(50),
       value_0051(50),
       value_0052(50),
       value_0053(50),
       value_0054(50),
       value_0055(50),
       value_0056(50),
       value_0057(50),
       value_0058(50),
       value_0059(50),
       value_0060(50),
       value_0061(50),
       value_0062(50).
data: end of data_tab.

data: begin of it_lifnr occurs 0,
        lifnr type lfa1-lifnr,
      end of it_lifnr.

data : bldate(10).
data : budate(10).
data : zfbdte(10),
       v_ddate(10).
data:  year(4),
       month(2),
       date(2),
       v_lifnr like lfa1-lifnr.

*       value_0062(50),
*       value_0063(50),
*       value_0064(50),
*       value_0065(50),
*       value_0066(50),
*       value_0067(50),
*       value_0068(50),
*       value_0069(50),
*       value_0070(50),
*       value_0071(50),
*       value_0072(50),
*       value_0073(50),
*       value_0074(50),
*       value_0075(50),
*       value_0076(50),
*       value_0077(50),
*       value_0078(50),
*       value_0079(50),
*       value_0080(50),
*       value_0081(50),
*       value_0082(50),
*       value_0083(50),
*       value_0084(50),
*       value_0085(50),
*       value_0086(50),
*       value_0087(50),
*       value_0088(50),
*       value_0089(50),
*       value_0090(50),
*       value_0091(50),
*       value_0092(50),
*       value_0093(50),
*       value_0094(50),
*       value_0095(50),
*       value_0096(50),
*       value_0097(50),
*       value_0098(50),
*       value_0099(50),
*       value_0100(50).
data: tind(4) type n.
data: zwfeld(19).

data : msg1(60).
types : begin of ttab,
         sys_id(8),
         sys_rec_id(16),
         bldat  type d, " type bkpf-bldat,
         blart(2), " type bkpf-blart,
         bukrs(4), " type bkpf-bukrs,
         budat type d,
         monat(2),
         waers(5), " type bkpf-waers,
         kursf(9), " type bkpf-kursf,
         belnr(10), "doc no.
         wwert type d, "translation date
         xblnr(16), " type bkpf-xblnr,
         inter_no(10) , "inter comp. no.
         bktxt    type bkpf-bktxt,
         pargb(4) , "trading partner BA
         newbs type rf05a-newbs,
         newko type rf05a-newko,
         newum  type rf05a-newum,
         bewar(30) , "transaction type
         wrbtr(13), "   type bseg-wrbtr,
         WMWST(13),
         ctax(1),
         mwskz(2),
         gsber    type bseg-gsber , "
         zterm   type bseg-zterm,
         zbd1t(3),
         zbd1p(5),
         zbd2t(3),
         zbd2p(5),
         abper(6), "settlemt period
         zfbdt type d, "  type bseg-zfbdt,
         sknto(13) , "dis amount
         skfbt(13) , "DISCOUNT BASE
         kidno(30), " invoice ref
         zlspr,
         zlsch,
         uzawe(2),
         zuonr   type bseg-zuonr,
         sgtxt  type bseg-sgtxt,
         newbs_01 type rf05a-newbs,
         newko_01 type rf05a-newko,
         newum_01  type rf05a-newum,
         bewar_01(30) , "transaction type
         bukrs_01(4), " type bkpf-bukrs,
         bvtyp(4),
         rstgr(3),
         hbkid(5),
         anfbn(10),
         anfbu(4),
         anfbj(4),
         hzuon(18),
         wrbtr_01(13), "  type bseg-wrbtr,
         prctr type cobl-prctr,
         pprct(10), " type bseg-pprct
*         pargb_01(4) , "trading partner BA
         zuonr_01 type bseg-zuonr,
         sgtxt_01    type bseg-sgtxt,
         newbs_02 type rf05a-newbs,
         newko_02 type rf05a-newko,
         newum_02  type rf05a-newum,
         bewar_02(30) , "transaction type
         bukrs_02(4), " type bkpf-bukrs,
         duedate type d, " Due date
        end of ttab.

data itab type ttab occurs 0 with header line.

field-symbols: &amp;lt;fs1&amp;gt;.

include zbdcrecx1.

at selection-screen on value-request for filename.
  perform get_pc_file using 1 changing filename.

*  call function 'KD_GET_FILENAME_ON_F4'
*    exporting
*      mask      = '*.xls'
*      static    = 'X'
*    changing
*      file_name = filename.

start-of-selection.

  call function 'ALSM_EXCEL_TO_INTERNAL_TABLE'
    exporting
      filename                = filename
      i_begin_col             = begcol
      i_begin_row             = begrow
      i_end_col               = endcol
      i_end_row               = endrow
    tables
      intern                  = intern
    exceptions
      inconsistent_parameters = 1
      upload_ole              = 2
      others                  = 3.

  if sy-subrc &amp;lt;&amp;gt; 0.
    write:/ 'Upload Error ', sy-subrc.
  endif.

end-of-selection.

  loop at intern.
    intern1 = intern.
    clear intern1-row.
    append intern1.
  endloop.

  sort intern1 by col.
  loop at intern1.
    at new col.
      t_col-col = intern1-col.
      append t_col.
    endat.
    zwlen = strlen( intern1-value ).
    read table t_col with key col = intern1-col.
    if sy-subrc eq 0.
      if zwlen &amp;gt; t_col-size.
        t_col-size = zwlen.
*                          Internal Table, Current Row Index
        modify t_col index sy-tabix.
      endif.
    endif.
  endloop.

  describe table t_col lines zwlines.

  sort intern by row col.
  if kzheader = 'X'.
    loop at intern.
      fieldnames-title = intern-value.
      append fieldnames.
      at end of row.
        exit.
      endat.
    endloop.
  else.
    do zwlines times.
      write sy-index to fieldnames-title.
      append fieldnames.
    enddo.
  endif.

  sort intern by row col.
  loop at intern.
    if kzheader = 'X'
    and intern-row = 1.
      continue.
    endif.
    tind = intern-col.
    concatenate 'DATA_TAB-VALUE_' tind into zwfeld.
    assign (zwfeld) to &amp;lt;fs1&amp;gt;.
    &amp;lt;fs1&amp;gt; = intern-value.
    at end of row.
      append data_tab.
      clear data_tab.
    endat.
  endloop.

  loop at data_tab.
    ITAB-SYS_ID = DATA_TAB-VALUE_0001.
    ITAB-SYS_REC_ID = DATA_TAB-VALUE_0002.

    itab-bldat  = data_tab-value_0003.
    itab-blart  = data_tab-value_0004.
    itab-bukrs  = data_tab-value_0005.
    itab-budat  = data_tab-value_0006.
    itab-monat  = data_tab-value_0007.
    itab-waers = data_tab-value_0008.
    itab-kursf =  data_tab-value_0009.
    itab-belnr = data_tab-value_0010.

    itab-wwert  = data_tab-value_0011.
    itab-xblnr  = data_tab-value_0012.
    itab-inter_no = data_tab-value_0013.
    itab-bktxt    = data_tab-value_0014.
    itab-pargb  = data_tab-value_0015.
    itab-newbs =  data_tab-value_0016.
    itab-newko = data_tab-value_0017.
    itab-newum = data_tab-value_0018.
    itab-bewar = data_tab-value_0019.
    itab-wrbtr = data_tab-value_0020.

    itab-WMWST =  data_tab-value_0021.
    itab-ctax = data_tab-value_0022.

    itab-mwskz = data_tab-value_0023.
    itab-gsber = data_tab-value_0024.

    itab-zterm = data_tab-value_0025.
    itab-zbd1t = data_tab-value_0026.

    itab-zbd1p = data_tab-value_0027.
    itab-zbd2t = data_tab-value_0028.

    itab-zbd2p = data_tab-value_0029.

    itab-abper = data_tab-value_0030.

    itab-zfbdt = data_tab-value_0031.

    itab-sknto = data_tab-value_0032.

    itab-skfbt = data_tab-value_0033.

    itab-kidno = data_tab-value_0034.

    itab-zlspr = data_tab-value_0035.

    itab-zlsch = data_tab-value_0036.

    itab-uzawe = data_tab-value_0037.

    itab-zuonr = data_tab-value_0038.
    itab-sgtxt = data_tab-value_0039.
    itab-newbs_01 = data_tab-value_0040.

    itab-newko_01 = data_tab-value_0041.

    itab-newum_01 = data_tab-value_0042.

    itab-bewar_01 = data_tab-value_0043.
    itab-bukrs_01 = data_tab-value_0044.

    itab-bvtyp = data_tab-value_0045.

    itab-rstgr = data_tab-value_0046.

    itab-hbkid = data_tab-value_0047.

    itab-anfbn = data_tab-value_0048.

    itab-anfbu = data_tab-value_0049.

    itab-anfbj = data_tab-value_0050.

    itab-hzuon = data_tab-value_0051.

    itab-wrbtr_01 = data_tab-value_0052.

    itab-prctr = data_tab-value_0053.

*    itab-pargb_01 =  data_tab-value_0054.
    itab-pprct =  data_tab-value_0054.

    itab-zuonr_01 = data_tab-value_0055.
    itab-sgtxt_01   = data_tab-value_0056.
    itab-newbs_02 = data_tab-value_0057.
    itab-newko_02 = data_tab-value_0058.
    itab-newum_02  = data_tab-value_0059.
    itab-bewar_02 = data_tab-value_0060.
    itab-bukrs_02 = data_tab-value_0061.
    itab-duedate = data_tab-value_0062.

    append itab.
    clear itab.
  endloop.
*  perform genarate.

* Checking if Vendor is Service vendor or not i.e. if With Holding Tax
* is activated or not
select lifnr
       from lfbw
       into table it_lifnr
       for all entries in itab
       where bukrs = itab-bukrs.
if sy-subrc = 0.
  sort it_lifnr by lifnr.
endif.

  perform open_group.
loop at itab.
clear bldate.
clear budate.
clear: zfbdte,
       v_ddate.


  if not it_lifnr[] is initial.
    clear: it_lifnr.
    read table it_lifnr with key lifnr = itab-newko
                                 binary search
                                 transporting lifnr.
    if sy-subrc = 0.
      v_lifnr = it_lifnr-lifnr.
    endif.
  endif.

write itab-bldat to bldate.
* year =  itab-bldat+0(4).
* month = itab-bldat+4(2).
* date = itab-bldat+6(2).
* concatenate  month date year into bldate separated by '/'.


write itab-budat to budate.
* year =  itab-budat+0(4).
* month =  itab-budat+4(2).
* date = itab-budat+6(2).
* concatenate  month date year into budate separated by '/'.

write itab-zfbdt to zfbdte.
* year =  itab-zfbdt+0(4).
* month =  itab-zfbdt+4(2).
* date = itab-zfbdt+6(2).
* concatenate  month date year into zfbdte separated by '/'.

 if not itab-newum is initial.
* Formatting Due Date
   write itab-duedate to v_ddate.
*   year =  itab-duedate+0(4).
*   month = itab-duedate+4(2).
*   date = itab-duedate+6(2).
*   concatenate  month date year into v_ddate separated by '/'.
 endif.

  refresh bdc_data.
  clear bdc_data.

************************************************************************

  perform bdc_dynpro      using 'SAPMF05A' '0100'.
  perform bdc_field       using 'BDC_CURSOR'
                                'RF05A-NEWKO'.
  perform bdc_field       using 'BDC_OKCODE'
                                '/00'.

  perform bdc_field       using 'BKPF-BLDAT'
                                bldate.
  perform bdc_field       using 'BKPF-BLART'
                                itab-blart.
  perform bdc_field       using 'BKPF-BUKRS'
                                itab-bukrs.
  perform bdc_field       using 'BKPF-BUDAT'
                                budate.
  perform bdc_field       using 'BKPF-MONAT'
                                itab-monat.
  perform bdc_field       using 'BKPF-WAERS'
                                itab-waers.
  perform bdc_field       using 'BKPF-KURSF'
                                itab-kursf.
  perform bdc_field       using 'BKPF-XBLNR'
                                itab-xblnr.
  perform bdc_field       using 'FS006-DOCID'
                                '*'.
  perform bdc_field       using 'RF05A-NEWBS'
                                itab-newbs.
  perform bdc_field       using 'RF05A-NEWKO'
                                itab-newko.
  if not itab-newum is initial.
    perform bdc_field       using 'RF05A-NEWUM'
                                  itab-newum.
  endif.
  if not itab-newum is initial.
    if itab-newum = 'A'.
      perform bdc_dynpro      using 'SAPMF05A' '0304'.
    elseif itab-newum = 'M' or itab-newum = 'Z' or itab-newum = 'L' or itab-newum = 'K' or itab-newum = 'Y'.
      perform bdc_dynpro      using 'SAPMF05A' '0303'.
    elseif itab-newum = 'W'.
      perform bdc_dynpro      using 'SAPMF05A' '2320'.
    endif.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RF05A-NEWKO'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'BSEG-WRBTR'
                                  itab-wrbtr.
    perform bdc_field       using 'BSEG-ZUONR'
                                  itab-zuonr.
    perform bdc_field       using 'BSEG-SGTXT'
                                  itab-sgtxt  .
    perform bdc_field       using 'BSEG-ZFBDT'
                                   v_ddate.
    perform bdc_field       using 'RF05A-NEWBS'
                                   itab-newbs_01.
    perform bdc_field       using 'RF05A-NEWKO'
                                   itab-newko_01.
  endif.
  if itab-newum is initial.
    perform bdc_dynpro      using 'SAPMF05A' '0302'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RF05A-NEWKO'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'BSEG-WRBTR'
                                  itab-wrbtr.
* Changes to add TEXT and ALLOCATION
    perform bdc_field       using 'BSEG-ZUONR'
                                  itab-zuonr.
    perform bdc_field       using 'BSEG-SGTXT'
                                  itab-sgtxt  .
* End
    perform bdc_field       using 'BSEG-MWSKZ'
                                  '**'.
    perform bdc_field       using 'BSEG-ZTERM'
                                  itab-zterm.
    perform bdc_field       using 'BSEG-ZFBDT'
                                   zfbdte.
    perform bdc_field       using 'RF05A-NEWBS'
                                  itab-newbs_01.
    perform bdc_field       using 'RF05A-NEWKO'
                                  itab-newko_01.
  endif.
  if not v_lifnr is initial.
    perform bdc_dynpro      using 'SAPLFWTD' '0100'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'WITH_ITEM-WT_WITHCD(01)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=GO'.
  endif.
  perform bdc_dynpro      using 'SAPMF05A' '0300'.
  perform bdc_field       using 'BDC_CURSOR'
                                'BSEG-SGTXT'.
  perform bdc_field       using 'BDC_OKCODE'
                                '=BU'.

  perform bdc_field       using 'BSEG-WRBTR'
                                itab-wrbtr_01.
* Changes to add ALLOCATION
  perform bdc_field       using 'BSEG-ZUONR'
                                itab-zuonr_01.
* End
  perform bdc_field       using 'BSEG-SGTXT'
                                itab-sgtxt_01.
*  perform bdc_field       using 'DKACB-FMORE'
*                                'X'.

  perform bdc_dynpro      using 'SAPLKACB' '0002'.
  perform bdc_field       using 'BDC_CURSOR'
                                'COBL-PRCTR'.
  perform bdc_field       using 'BDC_OKCODE'
                                '=ENTE'.
  perform bdc_field       using 'COBL-PRCTR'
                                itab-prctr.
  perform bdc_field       using 'COBL-PPRCTR'
                                itab-pprct.
  perform bdc_transaction using 'F-43'.

  clear: v_lifnr.
endloop.


perform close_group.

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  get_pc_file
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&amp;gt;P_1      text
*      &amp;lt;--P_FILENAME  text
*----------------------------------------------------------------------*
form get_pc_file  using    p_index
                  changing filename.

call method cl_gui_frontend_services=&amp;gt;file_open_dialog
    exporting
      window_title = 'Select the file to be processed...'
    changing
      file_table   = v_file
      rc           = v_rc.

  if sy-subrc = 0.
    read table v_file into v_fileline index p_index.
  endif.
  filename = v_fileline.


endform.                    " get_pc_file&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 05 May 2006 06:12:01 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/uploading-excel-sheet-data/m-p/1347697#M174942</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-05-05T06:12:01Z</dc:date>
    </item>
    <item>
      <title>Re: uploading excel sheet data</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/uploading-excel-sheet-data/m-p/1347698#M174943</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GOOD&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AS PER YOUR REQUIREMENT HERE IS SOME FUNCTION MODULE AND THEIR DETAILS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FUNCTION MODULE&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="--------------" /&gt;&lt;P&gt;UPLOAD&lt;/P&gt;&lt;P&gt;WS_ULOAD.&lt;/P&gt;&lt;P&gt;GUI_UPLOAD,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BDC SESSION&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------" /&gt;&lt;P&gt;BDC_START&lt;/P&gt;&lt;P&gt;BDC_OPEN&lt;/P&gt;&lt;P&gt;BDC_CLOSE&lt;/P&gt;&lt;P&gt;=================&lt;/P&gt;&lt;P&gt;GO THROUGH THIS REPORT =&amp;gt;&lt;/P&gt;&lt;P&gt;TABLES: Y001.                                            &lt;/P&gt;&lt;P&gt;    7&lt;/P&gt;&lt;P&gt;    8  CONSTANTS: C_PATH(14) VALUE '/home/ftpuser/'.&lt;/P&gt;&lt;P&gt;    9&lt;/P&gt;&lt;P&gt;   10  DATA: BEGIN OF C_TAB,&lt;/P&gt;&lt;P&gt;   11          X(1) TYPE X VALUE '09',&lt;/P&gt;&lt;P&gt;   12        END OF C_TAB.&lt;/P&gt;&lt;P&gt;   13&lt;/P&gt;&lt;P&gt;   14  DATA: BUFFER(8000),&lt;/P&gt;&lt;P&gt;   15        FIELDNAME_OFFSET TYPE I,&lt;/P&gt;&lt;P&gt;   16  *     FULLPATH(128),&lt;/P&gt;&lt;P&gt;   17        FULLPATH LIKE SXPGCOLIST-PARAMETERS,&lt;/P&gt;&lt;P&gt;   18  *     CMDFULLPATH(128),&lt;/P&gt;&lt;P&gt;   19        CMDFULLPATH LIKE SXPGCOLIST-PARAMETERS,&lt;/P&gt;&lt;P&gt;   20        CMD(40),&lt;/P&gt;&lt;P&gt;   21        IBTCXPM LIKE BTCXPM OCCURS 0.&lt;/P&gt;&lt;P&gt;   22&lt;/P&gt;&lt;P&gt;   23  FUNCTION Z_DOWNLOAD.&lt;/P&gt;&lt;P&gt;   24  *"----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;   25  &lt;STRONG&gt;"&lt;/STRONG&gt;"Local interface:&lt;/P&gt;&lt;P&gt;   26  *"  IMPORTING&lt;/P&gt;&lt;P&gt;   27  *"     VALUE(FILENAME)&lt;/P&gt;&lt;P&gt;   28  *"     VALUE(LOCATION)&lt;/P&gt;&lt;P&gt;   29  *"  TABLES&lt;/P&gt;&lt;P&gt;   30  *"      DATA_TAB&lt;/P&gt;&lt;P&gt;   31  *"      FIELDNAMES OPTIONAL&lt;/P&gt;&lt;P&gt;   32  *"----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;   33&lt;/P&gt;&lt;P&gt;   34    DATA: WS_LINE TYPE I.&lt;/P&gt;&lt;P&gt;   35&lt;/P&gt;&lt;P&gt;   36    FIELD-SYMBOLS: &amp;lt;F&amp;gt;.&lt;/P&gt;&lt;P&gt;   37&lt;/P&gt;&lt;P&gt;   38    CHECK NOT FILENAME IS INITIAL.&lt;/P&gt;&lt;P&gt;   39&lt;/P&gt;&lt;P&gt;   40    CONCATENATE C_PATH FILENAME INTO FULLPATH.&lt;/P&gt;&lt;P&gt;   41    OPEN DATASET FULLPATH IN TEXT MODE FOR OUTPUT.&lt;/P&gt;&lt;P&gt;   42&lt;/P&gt;&lt;P&gt;   43    DESCRIBE TABLE FIELDNAMES LINES WS_LINE.&lt;/P&gt;&lt;P&gt;   44    IF WS_LINE NE 0.&lt;/P&gt;&lt;P&gt;   45      PERFORM FIELDNAMES_2_BUFFER TABLES FIELDNAMES CHANGING BUFFER.&lt;/P&gt;&lt;P&gt;   46      FIELDNAME_OFFSET = STRLEN( BUFFER ).&lt;/P&gt;&lt;P&gt;   47      TRANSFER BUFFER TO FULLPATH LENGTH FIELDNAME_OFFSET.&lt;/P&gt;&lt;P&gt;   48    ENDIF.&lt;/P&gt;&lt;P&gt;   49&lt;/P&gt;&lt;P&gt;   50    LOOP AT DATA_TAB.&lt;/P&gt;&lt;P&gt;   51      CLEAR BUFFER.&lt;/P&gt;&lt;P&gt;   52      CLEAR FIELDNAME_OFFSET.&lt;/P&gt;&lt;P&gt;   53      DO.&lt;/P&gt;&lt;P&gt;   54        ASSIGN COMPONENT SY-INDEX OF STRUCTURE DATA_TAB TO &amp;lt;F&amp;gt;.&lt;/P&gt;&lt;P&gt;   55        IF SY-SUBRC NE 0.  EXIT.  ENDIF.&lt;/P&gt;&lt;P&gt;   56        WRITE &amp;lt;F&amp;gt; TO BUFFER+FIELDNAME_OFFSET.&lt;/P&gt;&lt;P&gt;   57        CONDENSE BUFFER.&lt;/P&gt;&lt;P&gt;   58        FIELDNAME_OFFSET = STRLEN( BUFFER ).&lt;/P&gt;&lt;P&gt;   59        WRITE C_TAB TO BUFFER+FIELDNAME_OFFSET(1).&lt;/P&gt;&lt;P&gt;   60        ADD 1 TO FIELDNAME_OFFSET.&lt;/P&gt;&lt;P&gt;   61      ENDDO.&lt;/P&gt;&lt;P&gt;   62      TRANSFER BUFFER TO FULLPATH LENGTH FIELDNAME_OFFSET.&lt;/P&gt;&lt;P&gt;   63    ENDLOOP.&lt;/P&gt;&lt;P&gt;   64&lt;/P&gt;&lt;P&gt;   65    CLOSE DATASET FULLPATH.&lt;/P&gt;&lt;P&gt;   66&lt;/P&gt;&lt;P&gt;   67    CALL FUNCTION 'SXPG_COMMAND_EXECUTE'&lt;/P&gt;&lt;P&gt;   68         EXPORTING&lt;/P&gt;&lt;P&gt;   69              COMMANDNAME                   = 'ZCHMOD'&lt;/P&gt;&lt;P&gt;   70              ADDITIONAL_PARAMETERS         = FULLPATH&lt;/P&gt;&lt;P&gt;   71         TABLES&lt;/P&gt;&lt;P&gt;   72              EXEC_PROTOCOL                 = IBTCXPM&lt;/P&gt;&lt;P&gt;   73         EXCEPTIONS&lt;/P&gt;&lt;P&gt;   74              NO_PERMISSION                 = 1&lt;/P&gt;&lt;P&gt;   75              COMMAND_NOT_FOUND             = 2&lt;/P&gt;&lt;P&gt;   76              PARAMETERS_TOO_LONG           = 3&lt;/P&gt;&lt;P&gt;   77              SECURITY_RISK                 = 4&lt;/P&gt;&lt;P&gt;   78              WRONG_CHECK_CALL_INTERFACE    = 5&lt;/P&gt;&lt;P&gt;   79              PROGRAM_START_ERROR           = 6&lt;/P&gt;&lt;P&gt;   80              PROGRAM_TERMINATION_ERROR     = 7&lt;/P&gt;&lt;P&gt;   81              X_ERROR                       = 8&lt;/P&gt;&lt;P&gt;   82              PARAMETER_EXPECTED            = 9&lt;/P&gt;&lt;P&gt;   83              TOO_MANY_PARAMETERS           = 10&lt;/P&gt;&lt;P&gt;   84              ILLEGAL_COMMAND               = 11&lt;/P&gt;&lt;P&gt;   85              WRONG_ASYNCHRONOUS_PARAMETERS = 12&lt;/P&gt;&lt;P&gt;   86              CANT_ENQ_TBTCO_ENTRY          = 13&lt;/P&gt;&lt;P&gt;   87              JOBCOUNT_GENERATION_ERROR     = 14&lt;/P&gt;&lt;P&gt;   88              OTHERS                        = 15.&lt;/P&gt;&lt;P&gt;   89&lt;/P&gt;&lt;P&gt;   90    CONCATENATE C_PATH FILENAME '_cmd' INTO CMDFULLPATH.&lt;/P&gt;&lt;P&gt;   91    OPEN DATASET CMDFULLPATH IN TEXT MODE FOR OUTPUT.&lt;/P&gt;&lt;P&gt;   92    CASE LOCATION.     "location A, B, C, D on a network&lt;/P&gt;&lt;P&gt;   93      WHEN 'A  '.&lt;/P&gt;&lt;P&gt;   94  &lt;/P&gt;&lt;P&gt;   95        TRANSFER 'open xx.xxx.xx.xx' TO CMDFULLPATH.         &lt;/P&gt;&lt;P&gt;   96        TRANSFER 'user sapftp &amp;lt;pwd&amp;gt;' TO CMDFULLPATH.       &lt;/P&gt;&lt;P&gt;   97      WHEN 'B  '.                                            &lt;/P&gt;&lt;P&gt;   98        TRANSFER 'open xx.xxx.xx.xx' TO CMDFULLPATH.         &lt;/P&gt;&lt;P&gt;   99        TRANSFER 'user sapftp &amp;lt;pwd&amp;gt;' TO CMDFULLPATH.     &lt;/P&gt;&lt;P&gt;  100      when 'C  '.&lt;/P&gt;&lt;P&gt;  101        TRANSFER 'open xx.xxx.xx.xx' TO CMDFULLPATH.&lt;/P&gt;&lt;P&gt;  102        TRANSFER 'user sapftp &amp;lt;pwd&amp;gt;' TO CMDFULLPATH.&lt;/P&gt;&lt;P&gt;  103      when 'D  '.&lt;/P&gt;&lt;P&gt;  104        TRANSFER 'open xx.xxx.xx.xx' TO CMDFULLPATH.&lt;/P&gt;&lt;P&gt;  105        TRANSFER 'user sapftp &amp;lt;pwd&amp;gt;' TO CMDFULLPATH.&lt;/P&gt;&lt;P&gt;  106      WHEN OTHERS.&lt;/P&gt;&lt;P&gt;  107    ENDCASE.&lt;/P&gt;&lt;P&gt;  108 &lt;/P&gt;&lt;P&gt;  109 &lt;/P&gt;&lt;P&gt;  110 &lt;/P&gt;&lt;P&gt;  111 &lt;/P&gt;&lt;P&gt;  112  *start&amp;gt;&lt;/P&gt;&lt;P&gt;  113    CLEAR Y001.&lt;/P&gt;&lt;P&gt;  114    SELECT SINGLE Y_PATH INTO Y001-Y_PATH&lt;/P&gt;&lt;P&gt;  115                         FROM Y001 WHERE BNAME = SY-UNAME&lt;/P&gt;&lt;P&gt;  116                                     AND Y_SITE = LOCATION.   &lt;/P&gt;&lt;P&gt;  117    TRANSFER Y001-Y_PATH TO CMDFULLPATH.&lt;/P&gt;&lt;P&gt;  118  *&amp;lt;end&lt;/P&gt;&lt;P&gt;  119    CONCATENATE 'lcd' C_PATH INTO CMD SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;  120    TRANSFER CMD TO CMDFULLPATH.&lt;/P&gt;&lt;P&gt;  121    CLEAR CMD.&lt;/P&gt;&lt;P&gt;  122    CONCATENATE 'put' FILENAME INTO CMD SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;  123    TRANSFER CMD TO CMDFULLPATH.&lt;/P&gt;&lt;P&gt;  124    TRANSFER 'bye' TO CMDFULLPATH.&lt;/P&gt;&lt;P&gt;  125    CLOSE DATASET CMDFULLPATH.&lt;/P&gt;&lt;P&gt;  126&lt;/P&gt;&lt;P&gt;  127    CALL FUNCTION 'SXPG_COMMAND_EXECUTE'&lt;/P&gt;&lt;P&gt;  128         EXPORTING&lt;/P&gt;&lt;P&gt;  129              COMMANDNAME                   = 'ZCHMOD'&lt;/P&gt;&lt;P&gt;  130              ADDITIONAL_PARAMETERS         = CMDFULLPATH&lt;/P&gt;&lt;P&gt;  131         TABLES&lt;/P&gt;&lt;P&gt;  132              EXEC_PROTOCOL                 = IBTCXPM&lt;/P&gt;&lt;P&gt;  133         EXCEPTIONS&lt;/P&gt;&lt;P&gt;  134              NO_PERMISSION                 = 1&lt;/P&gt;&lt;P&gt;  135              COMMAND_NOT_FOUND             = 2&lt;/P&gt;&lt;P&gt;  136              PARAMETERS_TOO_LONG           = 3&lt;/P&gt;&lt;P&gt;  137              SECURITY_RISK                 = 4&lt;/P&gt;&lt;P&gt;  138              WRONG_CHECK_CALL_INTERFACE    = 5&lt;/P&gt;&lt;P&gt;  139              PROGRAM_START_ERROR           = 6&lt;/P&gt;&lt;P&gt;  140              PROGRAM_TERMINATION_ERROR     = 7&lt;/P&gt;&lt;P&gt;  141              X_ERROR                       = 8&lt;/P&gt;&lt;P&gt;  142              PARAMETER_EXPECTED            = 9&lt;/P&gt;&lt;P&gt;  143              TOO_MANY_PARAMETERS           = 10&lt;/P&gt;&lt;P&gt;  144              ILLEGAL_COMMAND               = 11&lt;/P&gt;&lt;P&gt;  145              WRONG_ASYNCHRONOUS_PARAMETERS = 12&lt;/P&gt;&lt;P&gt;  146              CANT_ENQ_TBTCO_ENTRY          = 13&lt;/P&gt;&lt;P&gt;  147              JOBCOUNT_GENERATION_ERROR     = 14&lt;/P&gt;&lt;P&gt;  148              OTHERS                        = 15.&lt;/P&gt;&lt;P&gt;  149&lt;/P&gt;&lt;P&gt;  150    CALL FUNCTION 'SXPG_COMMAND_EXECUTE'&lt;/P&gt;&lt;P&gt;  151         EXPORTING&lt;/P&gt;&lt;P&gt;  152              COMMANDNAME                   = 'ZFTP'&lt;/P&gt;&lt;P&gt;  153  **          commandname                   = 'ZFTP'&lt;/P&gt;&lt;P&gt;  154              ADDITIONAL_PARAMETERS         = CMDFULLPATH&lt;/P&gt;&lt;P&gt;  155         TABLES&lt;/P&gt;&lt;P&gt;  156              EXEC_PROTOCOL                 = IBTCXPM&lt;/P&gt;&lt;P&gt;  157         EXCEPTIONS&lt;/P&gt;&lt;P&gt;  158              NO_PERMISSION                 = 1&lt;/P&gt;&lt;P&gt;  159              COMMAND_NOT_FOUND             = 2&lt;/P&gt;&lt;P&gt;  160              PARAMETERS_TOO_LONG           = 3&lt;/P&gt;&lt;P&gt;  161              SECURITY_RISK                 = 4&lt;/P&gt;&lt;P&gt;  162              WRONG_CHECK_CALL_INTERFACE    = 5&lt;/P&gt;&lt;P&gt;  163              PROGRAM_START_ERROR           = 6&lt;/P&gt;&lt;P&gt;  164              PROGRAM_TERMINATION_ERROR     = 7&lt;/P&gt;&lt;P&gt;  165              X_ERROR                       = 8&lt;/P&gt;&lt;P&gt;  166              PARAMETER_EXPECTED            = 9&lt;/P&gt;&lt;P&gt;  167              TOO_MANY_PARAMETERS           = 10&lt;/P&gt;&lt;P&gt;  168              ILLEGAL_COMMAND               = 11&lt;/P&gt;&lt;P&gt;  169              WRONG_ASYNCHRONOUS_PARAMETERS = 12&lt;/P&gt;&lt;P&gt;  170              CANT_ENQ_TBTCO_ENTRY          = 13&lt;/P&gt;&lt;P&gt;  171              JOBCOUNT_GENERATION_ERROR     = 14&lt;/P&gt;&lt;P&gt;  172              OTHERS                        = 15.&lt;/P&gt;&lt;P&gt;  173&lt;/P&gt;&lt;P&gt;  174  ENDFUNCTION.&lt;/P&gt;&lt;P&gt;  175&lt;/P&gt;&lt;P&gt;  176  &lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  177  *       FORM FIELDNAMES_2_BUFFER                                      *&lt;/P&gt;&lt;P&gt;  178  &lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  179  *       ........                                                      *&lt;/P&gt;&lt;P&gt;  180  &lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  181  *  --&amp;gt;  FIELDNAMES                                                    *&lt;/P&gt;&lt;P&gt;  182  *  --&amp;gt;  BUFFER                                                        *&lt;/P&gt;&lt;P&gt;  183  &lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  184  FORM FIELDNAMES_2_BUFFER TABLES FIELDNAMES CHANGING BUFFER.&lt;/P&gt;&lt;P&gt;  185    CLEAR BUFFER.&lt;/P&gt;&lt;P&gt;  186    CLEAR FIELDNAME_OFFSET.&lt;/P&gt;&lt;P&gt;  187    LOOP AT FIELDNAMES.&lt;/P&gt;&lt;P&gt;  188      WRITE FIELDNAMES TO BUFFER+FIELDNAME_OFFSET.&lt;/P&gt;&lt;P&gt;  189      CONDENSE BUFFER.&lt;/P&gt;&lt;P&gt;  190      FIELDNAME_OFFSET = STRLEN( BUFFER ).&lt;/P&gt;&lt;P&gt;  191      WRITE C_TAB TO BUFFER+FIELDNAME_OFFSET(1).&lt;/P&gt;&lt;P&gt;  192      ADD 1 TO FIELDNAME_OFFSET.&lt;/P&gt;&lt;P&gt;  193    ENDLOOP.&lt;/P&gt;&lt;P&gt;  194    FIELDNAME_OFFSET = FIELDNAME_OFFSET - 1.&lt;/P&gt;&lt;P&gt;  195    IF FIELDNAME_OFFSET &amp;gt;= 0.&lt;/P&gt;&lt;P&gt;  196      WRITE SPACE TO BUFFER+FIELDNAME_OFFSET(1).&lt;/P&gt;&lt;P&gt;  197    ENDIF.&lt;/P&gt;&lt;P&gt;  198  ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;THANKS&lt;/P&gt;&lt;P&gt;MRUTYUN&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 05 May 2006 06:13:17 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/uploading-excel-sheet-data/m-p/1347698#M174943</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-05-05T06:13:17Z</dc:date>
    </item>
    <item>
      <title>Re: uploading excel sheet data</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/uploading-excel-sheet-data/m-p/1347699#M174944</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;thankx&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 12 Apr 2007 12:28:29 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/uploading-excel-sheet-data/m-p/1347699#M174944</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-12T12:28:29Z</dc:date>
    </item>
  </channel>
</rss>

