Field Symbols in Download to excel FM

Hi All,
I am trying to use something like below.
field-symbols : <gt_outtab> type any.
Here <gt_outtab> is a dynamic internal table.
It gives me an error message saying ""
i might be asking very silly question but am not able to find a solution.
Is the below code wrong...then is there any FM which supports usage of field symbols in FM to download data with field names.
another thing...is there any way to read the Component names in a field symbol...I am able to read the contents of the same using Assign component though.
CALL FUNCTION 'GUI_DOWNLOAD'
       EXPORTING
            filename   = 'C:\test1.xls'
            filetype   = 'ASC'
            append     = 'X'
       TABLES
            data_tab   = <gt_outtab>
            fieldnames = gt_fieldcat.
Any help is appreciated.
BR,
Krishna.

Hi Max,
thanks for that...I did get the structure and was able to create a Dynamic table using the Field catalog fieldnames.
Now I have all my values in <gt_outtab> table and the dynamic table created from the field catalog is <gt_fieldcat> .
DATA: it_create    TYPE REF TO cl_alv_table_create,
        it_dinamica     TYPE REF TO data,
        it_fieldcat_lvc TYPE lvc_t_fcat.
CALL METHOD it_create->create_dynamic_table(
              EXPORTING it_fieldcatalog = gt_save_fieldcat
          IMPORTING ep_table                = it_dinamica ).
  ASSIGN it_dinamica->* TO <fs_dinamica>.
All I want is to Move corresponding from one fieldsymbol to another.
something like      move-corresponding <gt_outtab> to <gt_fieldcat> . But it gives me an error saying its not a structure etc.
I tried another way as well.
loop at <gt_outtab> assigning <gs_outtab>.
ASSIGN COMPONENT   MY_STRUCT->COMPONENTS-NAME
OF STRUCTURE <gs_outtab> TO <fs1>.
All I have now is a fieldcatalog..a table with all values...
Move corresponding doesn't work as it says this is not a structure or an internal table.
as this is not a static structure that I am referring to it doesnt allow me to do this.
I think there is no concept of type casting a Field Symbol like another field symbol at runtime.
like : field-symbols : <fs>, <fs1> , <fs2> type itab1.
assign <fs2> to <fs> casting.  which then transforms <fs2> to structure <fs>.
for e.g :
<gt_fieldcat>  :
orderno itemno adsize date price
<gt_outtab> has below values
orderno itemno price   date               adsize
400         10       200   10.10.2010        45
500         20       150   11.09.2010        55
All i need is the same field catalog and the rows in as per the fields in the <gt_fieldcat>.
When there is something gt_sp_groups while passing into the below method, the fieldcat and the output table are in same structure but after this method if I try to read the current Field catalog using method " get_frontend_fieldcatalog" ...it gives me a different one after applying the Groups etc.,in such cases I think the ALV excel download doesnt work. I tried checking SAP Notes for the same, but could not find anything. It will be helpful if I can get any notes related to that.
e.g.
CALL METHOD gr_alvgrid->set_table_for_first_display
  EXPORTING                                        
    is_layout                     = gs_layout      
    it_special_groups             = gt_sp_groups   
    it_toolbar_excluding          = gt_exclude .    
Any one any ideas please....at the moment the only way i am trying is forcing all the fields as characters into the Excel which obvisouly limits if it is a Price columns.
Many thanks,
Krishna.
Edited by: Krishna on Nov 11, 2010 2:24 AM
Edited by: Krishna on Nov 11, 2010 5:56 PM

Similar Messages

  • While downloading to Excel Currency field should Blank instead of 0.00

    Hi All,
    While downloading to excel from ALV report currency field is downloading as 0.00. My requirement is when the value is 0.00 it should download as blank.
    I tried by changing the data type to char but still have problem. Any idea how to fix it??
    Regards,
    Jitendra

    Hi Jitendra,
    Please paste your sample code to understand Clearly.
    Regards,
    Srikanth

  • How can I disenable the EXCEL field format when use ALV download to excel ?

    Dear friends,
         I have a problem with the ALV download to EXCEL. One field Value in ALV is like u2018-abcdeu2026u2019.the character u201C-u201Cis the first   position  in field value.when I download  the value to EXCEL,the field value u2018-abcdeu2026u2019 changed u2018=-abcdeu2026u2019 in EXCEL.how can I remove u2018=u2019 in EXCEL when I down to excel used ALV.
    I add a space in u2018  -abcdeu2026u2019,So this value can be download to Excel .
    Have you any solve method?
    User does not use excel logo button to download.
    User use Local fileu2026 button to download
    Thanks
    Sun

    add a single quote to the beginning of the field.
    like:  '-abcde
    in excel it will be shown as : -abcde

  • PDF filled in form for analysis - download to Excel field titles are corrupted

    I am having an issue with the download to Excel as well as the tracker capabilities in Tracker.  The field names/titles that I have on my PDF form show up with strange characters as the titles.  My form question is:  Is your company currently a contractor/supplier to XYZ?  The field in the Tracker and thus Excel down load is: Is_your_company_abRbCq3ookWNM8Au0LhpFQ.  How can I get the full field as is show on the PDF form to appear in the Tracker and then Excel Download.  I am using PDF forms distributed through e-mail.  Form was created in Form Central.  I am using Acrobat XI  version 11.0.03.
    Please help.

    Why create a separate popup page to download the data?  You can place the content in the ICM cache and load it via a very small Iframe in your page.  I think this will acomplish the same thing you are wanting to do.
    The following weblog has the code to acomplish this. It does it for XML, Excel, and HTML downloads.
    /people/thomas.jung3/blog/2004/09/02/creating-a-bsp-extension-for-downloading-a-table

  • Download to Excel with Header but one field data is repeating

    Hi All,
    I'm downloading to Excel with Header. But One field is repeating and another is not. This is happening only when I use   'CONCATENATE ' . With Out this key usage data download to excel is correct. But   CONCATENATE is required as constant need to add before the one field.
    My coding is as below.
    DATA: BEGIN OF IT_FINAL OCCURS 0,
          P1(10) TYPE C,
          SI(19) type c, 
            END OF IT_FINAL.
    DATA : BEGIN OF IT_HEADER OCCURS 0,
    TITLE(100) TYPE C,
    END OF IT_HEADER,WA_HEADER LIKE IT_HEADER.
    loop at it_final.
      CONCATENATE '894412' it_final-SI INTO IT_FINAL.
    modify it_final.
    endloop.
    CLEAR:WA_HEADER.
      WA_HEADER-TITLE = 'Mat No'.
      APPEND WA_HEADER TO IT_HEADER.
      CLEAR:WA_HEADER.
      WA_HEADER-TITLE = 'Serial'.
      APPEND WA_HEADER TO IT_HEADER.
    CALL FUNCTION 'MS_EXCEL_OLE_STANDARD_DAT'
        EXPORTING
          FILE_NAME  = P_FILE " path offile where u need to download
        TABLES
          DATA_TAB   = IT_FINAL
          FIELDNAMES = IT_HEADER.
    CALL FUNCTION 'MS_EXCEL_OLE_STANDARD_DAT'
        EXPORTING
          FILE_NAME  = P_FILE " path offile where u need to download
        TABLES
          DATA_TAB   = IT_FINAL
          FIELDNAMES = IT_HEADER.
    Excel OUT PUT:
    Mat No            Serial
    11Z52321     8944126000
    11Z52394     8944126000
    11Z52395     8944126000
    Thank You,
    Pranitha

    hi,
    it would have been better if u hve opt for creating workarea for ur internal table.
    Try to use "clear it_final" after
    CONCATENATE '894412' it_final-SI INTO IT_FINAL.
    n also change the modify statement :
    modify it_final transporting SI .
    hope this will surely help you
    Regards,
    Punit
    Edited by: punit raval on Aug 26, 2011 2:55 PM

  • Problem with CITY field when downloading to excel

    Hi Gurus,
    I have CITY field which is of 30 char length.Now Iam downloading the record having other fields also along with city field....Now my requirement is that in the Excel the city field should be right justified and the remaining characters should be space....How can we do that...
    Generally I know that when We download to excel the fields adjust according to the data it has rather then with thier field size in SAP.
    Regards,
    Rohan.

    Hi,
    In case of standard objects, it would be better if you can share the details like report name, the way you tried downloading(From menu, tool bar etc). Also search if there is any OSS notes for that program.
    Thanks,
    Vinod.

  • ALV Download to excel truncating fields

    Hi,
    When I use the ALV download button to download to excel, it is truncating the last character of customer number.
    ie customer 20011790 is showing as 2001179.
    Any ideas how to fix this.
    Thanks.

    Looks like Note 855314 has a workaround ... my be more.
    Of course (yuk!), write you own download.
    Best!
    Jim

  • Download to excel in different tabs from bsp page

    Hi all,
    I have a requirement in which I have to download to xl-sheet in different tabs based on some conditions from a bsp page.
    I am successful in downloading data into different tabs.
    Now I had written the piece of code required to download to xl in a function module
    and I am calling that function module when pressing a button in bsp page.
    When I run the fm seperately its working but when I run it from bsp page its not working.But while debugging I found that the fm is being called and executed perfectly without any errors.
    But the xl is not being created on our side.
    Can anyone suggest me how to proceed on this.
    Helpful answers will be rewarded.
    Thanks,
    Uga

    Hi Raja,
    Yes I am using ole objects.
    For more clarity I am alos pasting my code.
    If this is not possible then please guide how to achieve this in BSP.
    *******************CODE*****************************************
    include ole2incl.
    data: w_cell1 type ole2_object,
    w_cell2 type ole2_object.
    *--- Ole data Declarations
    data: h_excel type ole2_object, " Excel object
    h_mapl type ole2_object, " list of workbooks
    h_map type ole2_object, " workbook
    h_zl type ole2_object, " cell
    h_f type ole2_object, " font
    gs_interior type ole2_object, " Pattern
    worksheet type ole2_object,
    h_cell type ole2_object,
    h_cell1 type ole2_object,
    range type ole2_object,
    h_sheet2 type ole2_object,
    h_sheet3 type ole2_object,
    gs_font type ole2_object,
    flg_stop(1) type c.
    Internal table Declaration
    data:gt_kna1 type standard table of kna1,
         gt_knvv type standard table of knvv,
         wa_kna1 type kna1,
         wa_knvv type knvv.
    types: data1(1500) type c,
    ty type table of data1.
    data: it type ty with header line,
    it_2 type ty with header line,
    it_3 type ty with header line,
    rec type sy-tfill,
    deli(1) type c,
    l_amt(18) type c.
    data: begin of hex,
    tab type x,
    end of hex.
    field-symbols: <fs> .
         constants cns_09(2) type n value 09.
    assign deli to <fs> type 'X'.
    hex-tab = cns_09.
    <fs> = hex-tab.
    data gv_sheet_name(20) type c .
    SELECT kunnr name1
      INTO corresponding fields of table gt_kna1
      FROM kna1
    UP TO 1000 ROWS.
    SELECT kunnr vkorg
      INTO corresponding fields of table gt_knvv
      FROM knvv
    UP TO 3 ROWS.
    loop at gt_kna1 into wa_kna1.
    concatenate  wa_kna1-kunnr  wa_kna1-name1 into it separated by deli.
    append it.
    clear it.
    endloop.
    loop at gt_knvv into wa_knvv.
    concatenate wa_knvv-kunnr wa_knvv-vkorg into it_2 separated by deli.
    append it_2.
    clear it_2.
    endloop.
    if h_excel-header = space or h_excel-handle = -1.
    *start Excel
    create object h_excel 'EXCEL.APPLICATION'.
    endif.
    call method of h_excel 'Workbooks' = h_mapl.
    set property of h_excel 'Visible' = 1.
    *add a new workbook
    call method of h_mapl 'Add' = h_map.
    gv_sheet_name = 'KNA1'.
    get property of h_excel 'ACTIVESHEET' = worksheet.
    set property of worksheet 'Name' = gv_sheet_name .
    *--Formatting the area of additional data 1 and doing the BOLD
    call method of h_excel 'Cells' = w_cell1
    exporting
    #1 = 1
    #2 = 1.
    call method of h_excel 'Cells' = w_cell2
    exporting
    #1 = 1
    #2 = 50.
    call method of h_excel 'Range' = h_cell
    exporting
    #1 = w_cell1
    #2 = w_cell2.
    *CALL METHOD OF gs_cells 'Select' .
    get property of h_cell 'Font' = gs_font .
    set property of gs_font 'Bold' = 1 .
    data l_rc type i.
    call method cl_gui_frontend_services=>clipboard_export
    importing
    data = it[]
    changing
    rc = l_rc
    exceptions
    cntl_error = 1
    error_no_gui = 2
    not_supported_by_gui = 3
    others = 4.
    call method of h_excel 'Cells' = w_cell1
    exporting
    #1 = 1
    #2 = 1.
    call method of h_excel 'Cells' = w_cell2
    exporting
    #1 = 1
    #2 = 1.
    PERFORM err_hdl.
    call method of h_excel 'Range' = range
    exporting
    #1 = w_cell1
    #2 = w_cell2.
    call method of range 'Select'.
    *PERFORM err_hdl.
    call method of worksheet 'Paste'.
    ****for second sheet**********
    GV_SHEET_NAME = '2ND SHEET'.
    gv_sheet_name = 'Knvv'.
    get property of h_excel 'Sheets' = h_sheet2 .
    call method of h_sheet2 'Add' = h_map.
    set property of h_map 'Name' = gv_sheet_name .
    get property of h_excel 'ACTIVESHEET' = worksheet.
    *--Formatting the area of additional data 1 and doing the BOLD
    call method of h_excel 'Cells' = w_cell1
    exporting
    #1 = 1
    #2 = 1.
    call method of h_excel 'Cells' = w_cell2
    exporting
    #1 = 1
    #2 = 50.
    call method of h_excel 'Range' = h_cell
    exporting
    #1 = w_cell1
    #2 = w_cell2.
    get property of h_cell 'Font' = gs_font .
    set property of gs_font 'Bold' = 1 .
    call method cl_gui_frontend_services=>clipboard_export
    importing
    data = it_2[]
    changing
    rc = l_rc
    exceptions
    cntl_error = 1
    error_no_gui = 2
    not_supported_by_gui = 3
    others = 4.
    call method of h_excel 'Cells' = w_cell1
    exporting
    #1 = 1
    #2 = 1.
    call method of h_excel 'Cells' = w_cell2
    exporting
    #1 = 1
    #2 = 1.
    PERFORM err_hdl.
    call method of h_excel 'Range' = range
    exporting
    #1 = w_cell1
    #2 = w_cell2.
    call method of range 'Select'.
    PERFORM err_hdl.
    call method of worksheet 'Paste'.
    Can you people give me inputs so that I can proceed further.
    Thanks,
    Uga

  • Download to excel - long text in single row using gui_download

    Hi Experts,
    I want to download the long text (read_text) (500-600 characters) to excel in single row. the column width should be 60.
    i am using the gui_download FM as in my report i m using one gui_download for header data and 2nd one for details using APPEND . Can u suggest me the solutions for the same. Can i use word wrap option and if yes , then how to use it?
    For eg.
    Customer Satisfaction
    There are no escalations / adverse feedback from the customer
    Customer uses him/her for benchmarking others
    Regular status update to customer
    Proactively understands future needs of customer
    Increases customer's confidence so that there is an increase in quality / quantity of work
    This whole text should appear as single row.
    Thanks,
    Edited by: Khushi p on Nov 12, 2010 10:44 AM

    I tried alot to put this in a legible format by usingcode...code but still it is not putting the code in a correct format.May be some mentor will put it in a good format so that you can understand.Below is a wraper progrm which meets your objective.
    REPORT  ZSCRATCHPAD.
    TABLES:EKPO.
    TYPE-POOLS:slis.
    TYPES : BEGIN OF ty_ekpo,
             ebeln TYPE ekko-ebeln,
             ebelp TYPE ekpo-ebelp,
             txz01 TYPE ekpo-txz01,
             matnr TYPE ekpo-matnr,
             werks TYPE ekpo-werks,
             loekz TYPE ekpo-loekz,
             oic_ptrip TYPE ekpo-oic_ptrip,
             menge TYPE ekpo-menge,
             meins  TYPE ekpo-meins,
             umrez TYPE ekpo-umrez,
             umren TYPE ekpo-umren,
             text  TYPE string,
            END OF ty_ekpo.
    TYPES : BEGIN OF ty_text ,
            tdformat TYPE tline-tdformat,
            tdline TYPE tline-tdline,
            END OF ty_text.
    data:  g_t_ekpo TYPE STANDARD TABLE OF ty_ekpo WITH HEADER LINE,
           g_repid TYPE sy-repid,
           g_ebeln(15),
           l_fieldname1 LIKE ibipparms-path,
           l_fieldname2 TYPE string,
           g_objectid LIKE cdhdr-objectid,
           g_t_text TYPE STANDARD TABLE OF ty_text WITH HEADER LINE,
           g_t_text1 TYPE STANDARD TABLE OF ty_text WITH HEADER LINE.
    data:g_fieldcat type slis_t_fieldcat_alv with header line,
         g_events type slis_t_event,
         wa_events like line of g_events,
         g_listheader type slis_t_listheader,
         walistheader like line of g_listheader,
         g_layout type slis_layout_alv,
         g_top type slis_formname,
         g_sort type slis_t_sortinfo_alv with header line,
         g_sort1 type slis_sortinfo_alv,
         g_printparams type slis_print_alv,
         g_variant type disvariant,
         g_title type lvc_title,
         g_excluding type slis_t_extab,
         g_grid TYPE REF TO cl_gui_alv_grid.
    field-symbols: <fs> type lvc_title.
    SELECT-OPTIONS:P_EBELN FOR EKPO-EBELN NO INTERVALS.
    PARAMETERS:p_r1 radiobutton group grp1,
               p_r2 radiobutton group grp1.
    SELECT ebeln
           ebelp
           txz01
           matnr
           werks
           loekz
           oic_ptrip
           menge
           meins
           umrez
           umren
           INTO TABLE g_t_ekpo
           FROM ekpo
           WHERE ebeln IN p_ebeln
           AND loekz NE 'L'.
    IF sy-subrc <> 0.
      CLEAR g_t_ekpo.
    ENDIF.
    define m_fieldcat.
      g_fieldcat-fieldname = &1.
      g_fieldcat-col_pos = &2.
      g_fieldcat-seltext_l = &3.
      g_fieldcat-do_sum = &4.
      g_fieldcat-outputlen = &5.
      g_fieldcat-checkbox = &6.
      append g_fieldcat to g_fieldcat.
      clear  g_fieldcat.
    end-of-definition.
    if p_r1 = 'X'.
    PERFORM summary_display.
    else.
    perform download.
    endif.
    FORM summary_display .
      concatenate 'Test' ' ' into g_title separated by space.
      assign g_title to <fs>.
      g_repid = sy-repid.
      m_fieldcat 'EBELN'     ''  'EBELN'     ''  10   ''.
      m_fieldcat 'EBELP'     ''  'EBELP'     ''  05   ''.
      m_fieldcat 'TXZ01'     ''  'TXZ01'     ''  40   ''.
      m_fieldcat 'MATNR'     ''  'MATNR'     ''  10   ''.
      m_fieldcat 'WERKS'     ''  'WERKS'     ''  04   ''.
      m_fieldcat 'LOEKZ'     ''  'LOEKZ'     ''  01   ''.
      m_fieldcat 'OIC_PTRIP' ''  'OIC_PTRIP' ''  16   ''.
      m_fieldcat 'MENGE'     ''  'MENGE'     ''  13   ''.
      m_fieldcat 'MEINS'     ''  'MEINS'     ''  03   ''.
      m_fieldcat 'UMREZ'     ''  'UMREZ'     ''  05   ''.
      m_fieldcat 'UMREN'     ''  'UMREN'     ''  05   ''.
      g_layout-zebra = 'X'.
      g_layout-colwidth_optimize = 'X'.
      call function 'REUSE_ALV_GRID_DISPLAY'
        exporting
          i_callback_program       =  g_repid
    *     i_callback_pf_status_set = 'SET_PF_STATUS'
          is_layout                =  g_layout
          i_callback_user_command  =  'LIST1'
          i_grid_title             = <fs>
    *     i_callback_top_of_page   = ' '
          it_fieldcat              = g_fieldcat[]
    *     it_excluding             = g_excluding
          i_save                   = 'A'
    *     is_variant               = ITVARIANT
          it_events                = g_events[]
    *     is_print                 = ITPRINTPARAMS
    *     it_sort                  = itsort[]
        tables
          t_outtab                 =  g_t_EKPO[]
          exceptions
          program_error           = 1
          others                  = 2.
      if sy-subrc <> 0.
        message id sy-msgid type sy-msgty number sy-msgno
                with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      endif.
      clear:g_fieldcat.
      refresh:g_fieldcat.
    ENDFORM.                    " summary_display
    form list1 using r_ucomm like sy-ucomm rs_selfield type slis_selfield.
      case r_ucomm.
        when '&IC1'.
          REFRESH g_t_text.
          if rs_selfield-fieldname = 'EBELN'.
            READ TABLE g_t_ekpo INDEX rs_selfield-tabindex.
            CONCATENATE g_t_ekpo-ebeln  g_t_ekpo-ebelp  INTO g_ebeln. "CRQ94538-Capture text
            SHIFT g_ebeln LEFT DELETING LEADING space.
            PERFORM read_text USING g_ebeln g_t_text[].
            IF g_t_text[] IS NOT INITIAL.
              PERFORM pop_up_with_table .
            ENDIF.
          endif.
        when 'OTHERS'.
          leave to screen 0.
      endcase.
    endform.                                                    "list1
    FORM read_text  USING    p_ebeln   p_t_itab LIKE g_t_text1[].
      PERFORM fill_readtext USING p_ebeln 'EKPO' 'F01' p_t_itab.
    ENDFORM.                    " f0008_read_text
    FORM fill_readtext  USING    p_vbeln
                                 p_object
                                 p_textid
                                 pt_itab  LIKE g_t_text[] .
      DATA: ls_itab LIKE LINE OF g_t_text,
            l_header LIKE thead,
            l_tdname LIKE thead-tdname.
      CLEAR pt_itab.
      REFRESH pt_itab.
      MOVE p_vbeln TO l_tdname.
      CALL FUNCTION 'READ_TEXT'
        EXPORTING
          client                  = sy-mandt
          id                      = p_textid
          language                = sy-langu
          name                    = l_tdname
          object                  = p_object
        IMPORTING
          header                  = l_header
        TABLES
          lines                   = pt_itab
        EXCEPTIONS
          id                      = 1
          language                = 2
          name                    = 3
          not_found               = 4
          object                  = 5
          reference_check         = 6
          wrong_access_to_archive = 7
          OTHERS                  = 8.
    endform.                    "fill_readtext
    FORM pop_up_with_table .
      CALL FUNCTION 'POPUP_WITH_TABLE'
        EXPORTING
          endpos_col   = 82
          endpos_row   = 20
          startpos_col = 10
          startpos_row = 10
          titletext    = ' '
        TABLES
          valuetab     = g_t_text
        EXCEPTIONS
          break_off    = 1
          OTHERS       = 2.
      IF sy-subrc NE 0.
        CLEAR g_t_text.
      ENDIF.
    ENDFORM.                    " f4000_pop_up_with_table
    FORM download .
      if g_t_ekpo[] is not initial.
        loop at g_t_ekpo.
    *      concatenate text-001 g_t_ekpo-matnr into g_t_ekpo-matnr.
          PERFORM convert_table_to_string.
          modify g_t_ekpo.
          clear g_t_ekpo.
        endloop.
      endif.
      CALL FUNCTION 'GUI_DOWNLOAD'
        EXPORTING
          filename                = 'C:/KKVT/TEST.XLS'
          filetype                = 'ASC'
          write_field_separator   = 'X'
        TABLES
          data_tab                = g_t_ekpo
        EXCEPTIONS
          file_write_error        = 1
          no_batch                = 2
          gui_refuse_filetransfer = 3
          invalid_type            = 4
          no_authority            = 5
          unknown_error           = 6
          header_not_allowed      = 7
          separator_not_allowed   = 8
          filesize_not_allowed    = 9
          header_too_long         = 10
          dp_error_create         = 11
          dp_error_send           = 12
          dp_error_write          = 13
          unknown_dp_error        = 14
          access_denied           = 15
          dp_out_of_memory        = 16
          disk_full               = 17
          dp_timeout              = 18
          file_not_found          = 19
          dataprovider_exception  = 20
          control_flush_error     = 21
          OTHERS                  = 22.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      else.
      message: 'file downloaded' type 'S'.
      ENDIF.
    ENDFORM.                    " download
    FORM convert_table_to_string .
      DATA: str TYPE string,
            len TYPE i,
            tot_len TYPE i.
      FIELD-SYMBOLS <fs1> TYPE ANY.
      IF g_t_ekpo-ebeln IS NOT INITIAL.
        CONCATENATE g_t_ekpo-ebeln  g_t_ekpo-ebelp  INTO g_ebeln. "CRQ94538-Capture text
        SHIFT g_ebeln LEFT DELETING LEADING space.
        PERFORM read_text USING g_ebeln g_t_text[].
        IF g_t_text[] IS NOT INITIAL.
          CLEAR: len,
                 tot_len,
                  str.
          DO.
            ASSIGN COMPONENT sy-index OF STRUCTURE g_t_text TO <fs1>.
            IF sy-subrc NE 0.
              EXIT.
            ENDIF.
            DESCRIBE FIELD <fs1> LENGTH len IN CHARACTER MODE.
            ADD len TO tot_len.
          ENDDO.
          CALL FUNCTION 'CONVERT_TABLE_TO_STRING'
            EXPORTING
              i_tabline_length = tot_len
            IMPORTING
              e_string         = str
            TABLES
              it_table         = g_t_text[].
          IF sy-subrc = 0.
            g_t_ekpo-text = str.
          ENDIF.
        ELSE.
          CLEAR: g_t_ekpo-text,
                 tot_len,
                 len,
                 str.     .
        ENDIF.
      ENDIF.
    ENDFORM.                    " convert_table_to_string
    Edited by: Kiran K on Nov 18, 2010 5:21 AM

  • Downloading to Excel Sheet from ALV display

    Hi Friends,
    Here i am displaying data in ALV grid. i want to download data to excel file . My data is stored in a field symbol.Could you please tell me how to download this? Currently i am trying with
    CALL FUNCTION 'OLE_SERVER_CHECK'
    CALL FUNCTION 'XXL_SIMPLE_API'
    But i am not getting the result.
    Thanks.

    Download a report to excel with format (border, color cell, etc)
    Try this program...
    Code:
    REPORT ZTEST NO STANDARD PAGE HEADING.
    this report demonstrates how to send some ABAP data to an
    EXCEL sheet using OLE automation.
    INCLUDE OLE2INCL.
    handles for OLE objects
    DATA: H_EXCEL TYPE OLE2_OBJECT,        " Excel object
          H_MAPL TYPE OLE2_OBJECT,         " list of workbooks
          H_MAP TYPE OLE2_OBJECT,          " workbook
          H_ZL TYPE OLE2_OBJECT,           " cell
          H_F TYPE OLE2_OBJECT.            " font
    TABLES: SPFLI.
    DATA  H TYPE I.
    table of flights
    DATA: IT_SPFLI LIKE SPFLI OCCURS 10 WITH HEADER LINE.
    *&   Event START-OF-SELECTION
    START-OF-SELECTION.
    read flights
      SELECT * FROM SPFLI INTO TABLE IT_SPFLI UP TO 10 ROWS.
    display header
      ULINE (61).
      WRITE: /     SY-VLINE NO-GAP,
              (3)  'Flg'(001) COLOR COL_HEADING NO-GAP, SY-VLINE NO-GAP,
              (4)  'Nr'(002) COLOR COL_HEADING NO-GAP, SY-VLINE NO-GAP,
              (20) 'Von'(003) COLOR COL_HEADING NO-GAP, SY-VLINE NO-GAP,
              (20) 'Nach'(004) COLOR COL_HEADING NO-GAP, SY-VLINE NO-GAP,
              (8)  'Zeit'(005) COLOR COL_HEADING NO-GAP, SY-VLINE NO-GAP.
      ULINE /(61).
    display flights
      LOOP AT IT_SPFLI.
      WRITE: / SY-VLINE NO-GAP,
               IT_SPFLI-CARRID COLOR COL_KEY NO-GAP, SY-VLINE NO-GAP,
               IT_SPFLI-CONNID COLOR COL_NORMAL NO-GAP, SY-VLINE NO-GAP,
               IT_SPFLI-CITYFROM COLOR COL_NORMAL NO-GAP, SY-VLINE NO-GAP,
               IT_SPFLI-CITYTO COLOR COL_NORMAL NO-GAP, SY-VLINE NO-GAP,
               IT_SPFLI-DEPTIME COLOR COL_NORMAL NO-GAP, SY-VLINE NO-GAP.
      ENDLOOP.
      ULINE /(61).
    tell user what is going on
      CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
         EXPORTING
              PERCENTAGE = 0
               TEXT       = TEXT-007
           EXCEPTIONS
                OTHERS     = 1.
    start Excel
      CREATE OBJECT H_EXCEL 'EXCEL.APPLICATION'.
    PERFORM ERR_HDL.
      SET PROPERTY OF H_EXCEL  'Visible' = 1.
    CALL METHOD OF H_EXCEL 'FILESAVEAS' EXPORTING #1 = 'c:\kis_excel.xls'
    PERFORM ERR_HDL.
    tell user what is going on
      CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
         EXPORTING
              PERCENTAGE = 0
               TEXT       = TEXT-008
           EXCEPTIONS
                OTHERS     = 1.
    get list of workbooks, initially empty
      CALL METHOD OF H_EXCEL 'Workbooks' = H_MAPL.
      PERFORM ERR_HDL.
    add a new workbook
      CALL METHOD OF H_MAPL 'Add' = H_MAP.
      PERFORM ERR_HDL.
    tell user what is going on
      CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
         EXPORTING
              PERCENTAGE = 0
               TEXT       = TEXT-009
           EXCEPTIONS
                OTHERS     = 1.
    output column headings to active Excel sheet
      PERFORM FILL_CELL USING 1 1 1 'Flug'(001).
      PERFORM FILL_CELL USING 1 2 0 'Nr'(002).
      PERFORM FILL_CELL USING 1 3 1 'Von'(003).
      PERFORM FILL_CELL USING 1 4 1 'Nach'(004).
      PERFORM FILL_CELL USING 1 5 1 'Zeit'(005).
      LOOP AT IT_SPFLI.
    copy flights to active EXCEL sheet
        H = SY-TABIX + 1.
        PERFORM FILL_CELL USING H 1 0 IT_SPFLI-CARRID.
        PERFORM FILL_CELL USING H 2 0 IT_SPFLI-CONNID.
        PERFORM FILL_CELL USING H 3 0 IT_SPFLI-CITYFROM.
        PERFORM FILL_CELL USING H 4 0 IT_SPFLI-CITYTO.
        PERFORM FILL_CELL USING H 5 0 IT_SPFLI-DEPTIME.
      ENDLOOP.
    changes by Kishore  - start
    CALL METHOD OF H_EXCEL 'Workbooks' = H_MAPL.
      CALL METHOD OF H_EXCEL 'Worksheets' = H_MAPL." EXPORTING #1 = 2.
      PERFORM ERR_HDL.
    add a new workbook
      CALL METHOD OF H_MAPL 'Add' = H_MAP  EXPORTING #1 = 2.
      PERFORM ERR_HDL.
    tell user what is going on
      SET PROPERTY OF H_MAP 'NAME' = 'COPY'.
      CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
         EXPORTING
              PERCENTAGE = 0
               TEXT       = TEXT-009
           EXCEPTIONS
                OTHERS     = 1.
    output column headings to active Excel sheet
      PERFORM FILL_CELL USING 1 1 1 'Flug'(001).
      PERFORM FILL_CELL USING 1 2 0 'Nr'(002).
      PERFORM FILL_CELL USING 1 3 1 'Von'(003).
      PERFORM FILL_CELL USING 1 4 1 'Nach'(004).
      PERFORM FILL_CELL USING 1 5 1 'Zeit'(005).
      LOOP AT IT_SPFLI.
    copy flights to active EXCEL sheet
        H = SY-TABIX + 1.
        PERFORM FILL_CELL USING H 1 0 IT_SPFLI-CARRID.
        PERFORM FILL_CELL USING H 2 0 IT_SPFLI-CONNID.
        PERFORM FILL_CELL USING H 3 0 IT_SPFLI-CITYFROM.
        PERFORM FILL_CELL USING H 4 0 IT_SPFLI-CITYTO.
        PERFORM FILL_CELL USING H 5 0 IT_SPFLI-DEPTIME.
      ENDLOOP.
    changes by Kishore  - end
    disconnect from Excel
         CALL METHOD OF H_EXCEL 'FILESAVEAS' EXPORTING  #1 = 'C:\SKV.XLS'.
      FREE OBJECT H_EXCEL.
      PERFORM ERR_HDL.
          FORM FILL_CELL                                                *
          sets cell at coordinates i,j to value val boldtype bold       *
    FORM FILL_CELL USING I J BOLD VAL.
      CALL METHOD OF H_EXCEL 'Cells' = H_ZL EXPORTING #1 = I #2 = J.
      PERFORM ERR_HDL.
      SET PROPERTY OF H_ZL 'Value' = VAL .
      PERFORM ERR_HDL.
      GET PROPERTY OF H_ZL 'Font' = H_F.
      PERFORM ERR_HDL.
      SET PROPERTY OF H_F 'Bold' = BOLD .
      PERFORM ERR_HDL.
    ENDFORM.
    *&      Form  ERR_HDL
          outputs OLE error if any                                       *
    -->  p1        text
    <--  p2        text
    FORM ERR_HDL.
    IF SY-SUBRC <> 0.
      WRITE: / 'Fehler bei OLE-Automation:'(010), SY-SUBRC.
      STOP.
    ENDIF.
    ENDFORM.                    " ERR_HDL
    Regards,
    Pavan

  • ALV download to Excel--Problem with Column Headers

    Hi,
    I have created a dynamic internal table and displaying it as ALV using SALV classes. Problem is that  when I download this ALV to Excel I'm not getting Column headings same as they are in ALV display.
    I mean in Excel it is showing Column headings taken from domain or data element.
    While creating dynamic table i'm passing short/ Medium & Long text too. Still it is not working.
    Any kinda help is appreciated.
    Thanks & Regards,
    Vivek Gaur
    Edited by: Vivek  Gaur on Nov 4, 2009 2:04 PM

    Look I cant actually post the code as it is divided in some global classes and main program. But i can elaborate the steps little further:
    1: I have created a field catalog for Dynamic internal table. In it i have passed every necessary field along with short/medium/Long texts.
    2: I fill up this dynamic table with data.
    3: I assign a field symbol to this dynamic internal table.
    4: I pass this field symbol to the factory method of CL_SALV_TABLE  Class.
    Thats it buddy..Hope u have understood my problem.

  • ALV download to EXCEL -- probs with SAPGUI 6.40 and EXCEL 2007

    I have a method in an ALV grid which performs a dowload to excel
    Here's the method
    method download_to_excel.
    field-symbols:
           <fs0> type standard table,
           <fs1> type standard table.
        assign g_outtab1->* to <fs0>.
        assign g_fldcat1->* to <fs1>.
           call function  'LVC_TRANSFER_TO_KKBLO'
          exporting
            it_fieldcat_lvc   = <fs1>
        is_layout_lvc     = m_cl_variant->ms_layout
             is_tech_complete  = ' '
          importing
            es_layout_kkblo   = ls_layout
            et_fieldcat_kkblo = lt_fieldcat.
        loop at lt_fieldcat into lt_fieldcat_wa.
          clear lt_fieldcat_wa-tech_complete.
          if lt_fieldcat_wa-tabname is initial.
            lt_fieldcat_wa-tabname = '1'.
            modify lt_fieldcat from lt_fieldcat_wa.
          endif.
          l_tabname = lt_fieldcat_wa-tabname.
        endloop.
        call function 'ALV_XXL_CALL'
             exporting
                  i_tabname           = l_tabname
                  is_layout           = ls_layout
                  it_fieldcat         = lt_fieldcat
                  i_title             = sy-title
             tables
                  it_outtab           = <fs0>
             exceptions
                  fatal_error         = 1
                  no_display_possible = 2
                  others              = 3.
        if  sy-subrc <> 0.
          message id sy-msgid type 'S' number sy-msgno
                 with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        endif.
    endmethod.
    Basically the method converts the GRID table I'm displaying into the format requred for FMOD ALV_XXL_CALL' -- the field catalog is slightly different but no big deal here.
    This works fine when downloading to  EXCEL 2003 but short dumps when trying to do the same thing for EXCEL 2007.
    Workstation is running Windows XP / SP2 build 2600 in both cases.
    Any fixes etc or should I stick with EXCEL 2003 until forced to upgrade.
    Cheers
    jimbo

    Hi all
    Seems the problem disappeared after applying the latest patch to SAP_GUI 6.40.
    I haven't tried SAP_GUI 7.0 yet.
    Thanks anyway
    Cheers
    jimbo

  • ALV  download to EXCEL  with column headings etc.

    Getting data from a grid to EXCEL can be done in "List" mode vis system==>save etc but it's not particularly user friendly and in any case if you are displaying a nice ALV why should the user have to switch into LIST mode anyway.
    Anyway here's a decent way to do it and it gives great formatted column headings etc etc.
    1) in the ON_TOOLBAR method add this code
    method ON_TOOLBAR.
    type-pools icon.
    CLEAR ls_toolbar.
    MOVE  0 TO ls_toolbar-butn_type.
        MOVE 'EXCEL' TO ls_toolbar-function.
        MOVE  space TO ls_toolbar-disabled.
        MOVE  icon_xxl TO ls_toolbar-icon.
        MOVE 'Excel' TO ls_toolbar-quickinfo.
        MOVE  'EXCEL' TO ls_toolbar-text.
        APPEND ls_toolbar TO e_object->mt_toolbar.
    2) In the ON_USER_COMMAND method add the following
    (if you have a class defined with SE24 you don't need the commented code).
    method ON_USER_COMMAND.
           FOR EVENT before_user_command OF cl_gui_alv_grid
           IMPORTING
             e_ucomm
             sender.
    CASE e_ucomm.
         .......   other toolbar funcs if you have any
          WHEN 'EXCEL'.
            CALL METHOD me->download_to_excel.
        ENDCASE.
    endmethod.
    3) code this method to download to EXCEL
    method DOWNLOAD_TO_EXCEL.
    FIELD-SYMBOLS:
           <fs0> TYPE STANDARD TABLE,
           <fs1> TYPE STANDARD TABLE.
        ASSIGN g_outtab1->* TO <fs0>.
        ASSIGN g_fldcat1->* TO <fs1>.
           CALL FUNCTION  'LVC_TRANSFER_TO_KKBLO'
          EXPORTING
            it_fieldcat_lvc   = <fs1>
        is_layout_lvc     = m_cl_variant->ms_layout
             is_tech_complete  = ' '
          IMPORTING
            es_layout_kkblo   = ls_layout
            et_fieldcat_kkblo = lt_fieldcat.
        LOOP AT lt_fieldcat INTO lt_fieldcat_wa.
          CLEAR lt_fieldcat_wa-tech_complete.
          IF lt_fieldcat_wa-tabname IS INITIAL.
            lt_fieldcat_wa-tabname = '1'.
            MODIFY lt_fieldcat FROM lt_fieldcat_wa.
          ENDIF.
          l_tabname = lt_fieldcat_wa-tabname.
        ENDLOOP.
        CALL FUNCTION 'ALV_XXL_CALL'
             EXPORTING
                  i_tabname           = l_tabname
                  is_layout           = ls_layout
                  it_fieldcat         = lt_fieldcat
                  i_title             = sy-title
             TABLES
                  it_outtab           = <fs0>
             EXCEPTIONS
                  fatal_error         = 1
                  no_display_possible = 2
                  OTHERS              = 3.
        IF  sy-subrc <> 0.
          MESSAGE ID sy-msgid TYPE 'S' NUMBER sy-msgno
                 WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        ENDIF.
    endmethod.
    You get nice column headings etc and decently formatted EXCEL spreadsheet.
    For Office 2007 I think you need to apply a SAP note but it certainly works with OFFICE 2003 which is what we are still using.
    Cheers
    jimbo

    Getting data from a grid to EXCEL can be done in "List" mode vis system==>save etc but it's not particularly user friendly and in any case if you are displaying a nice ALV why should the user have to switch into LIST mode anyway.
    Anyway here's a decent way to do it and it gives great formatted column headings etc etc.
    1) in the ON_TOOLBAR method add this code
    method ON_TOOLBAR.
    type-pools icon.
    CLEAR ls_toolbar.
    MOVE  0 TO ls_toolbar-butn_type.
        MOVE 'EXCEL' TO ls_toolbar-function.
        MOVE  space TO ls_toolbar-disabled.
        MOVE  icon_xxl TO ls_toolbar-icon.
        MOVE 'Excel' TO ls_toolbar-quickinfo.
        MOVE  'EXCEL' TO ls_toolbar-text.
        APPEND ls_toolbar TO e_object->mt_toolbar.
    2) In the ON_USER_COMMAND method add the following
    (if you have a class defined with SE24 you don't need the commented code).
    method ON_USER_COMMAND.
           FOR EVENT before_user_command OF cl_gui_alv_grid
           IMPORTING
             e_ucomm
             sender.
    CASE e_ucomm.
         .......   other toolbar funcs if you have any
          WHEN 'EXCEL'.
            CALL METHOD me->download_to_excel.
        ENDCASE.
    endmethod.
    3) code this method to download to EXCEL
    method DOWNLOAD_TO_EXCEL.
    FIELD-SYMBOLS:
           <fs0> TYPE STANDARD TABLE,
           <fs1> TYPE STANDARD TABLE.
        ASSIGN g_outtab1->* TO <fs0>.
        ASSIGN g_fldcat1->* TO <fs1>.
           CALL FUNCTION  'LVC_TRANSFER_TO_KKBLO'
          EXPORTING
            it_fieldcat_lvc   = <fs1>
        is_layout_lvc     = m_cl_variant->ms_layout
             is_tech_complete  = ' '
          IMPORTING
            es_layout_kkblo   = ls_layout
            et_fieldcat_kkblo = lt_fieldcat.
        LOOP AT lt_fieldcat INTO lt_fieldcat_wa.
          CLEAR lt_fieldcat_wa-tech_complete.
          IF lt_fieldcat_wa-tabname IS INITIAL.
            lt_fieldcat_wa-tabname = '1'.
            MODIFY lt_fieldcat FROM lt_fieldcat_wa.
          ENDIF.
          l_tabname = lt_fieldcat_wa-tabname.
        ENDLOOP.
        CALL FUNCTION 'ALV_XXL_CALL'
             EXPORTING
                  i_tabname           = l_tabname
                  is_layout           = ls_layout
                  it_fieldcat         = lt_fieldcat
                  i_title             = sy-title
             TABLES
                  it_outtab           = <fs0>
             EXCEPTIONS
                  fatal_error         = 1
                  no_display_possible = 2
                  OTHERS              = 3.
        IF  sy-subrc <> 0.
          MESSAGE ID sy-msgid TYPE 'S' NUMBER sy-msgno
                 WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        ENDIF.
    endmethod.
    You get nice column headings etc and decently formatted EXCEL spreadsheet.
    For Office 2007 I think you need to apply a SAP note but it certainly works with OFFICE 2003 which is what we are still using.
    Cheers
    jimbo

  • Download to Excel - multiple sheets

    hi All,
    I successfully create a xls with multiple worksheets
    <b>Method 1:</b>(http://www.sapdevelopment.co.uk/ms/ms_excel.htm)
    CREATE OBJECT application 'excel.application'
    CALL METHOD OF sheet 'Cells' = cells
       EXPORTING #1 = myY  #2 = myX.
        SET PROPERTY OF cells 'Value' = 'hello'.
    But this way of cell by cell populating, is too slow; I have 10,000 rows of records to download to excel as report.
    Then i tried second way <b>Method 2:</b>
    CALL FUNCTION 'XXL_SIMPLE_API'
    This is much faster, but it does not allow me to have multiple sheets.
    Can anyone advise how to speed up the process using method 1 ?
    Thanks in advance.
    Ee Siong

    Try this....
    *& Report  ZETA_EXCEL_DOWNLOAD_CLIPBOARD                               *
    report  zeta_excel_download_clipboard           .
    include ole2incl.
    data:  w_cell1     type ole2_object,
           w_cell2     type ole2_object.
    *--- Ole data Declarations
    data: h_excel     type ole2_object,        " Excel object
          h_mapl      type ole2_object,        " list of workbooks
          h_map       type ole2_object,        " workbook
          h_zl        type ole2_object,        " cell
          h_f         type ole2_object,        " font
          gs_interior type ole2_object,        " Pattern
          worksheet   type ole2_object,
          h_cell      type ole2_object,
          h_cell1     type ole2_object,
          range       type ole2_object,
          h_sheet2    type ole2_object,
          h_sheet3    type ole2_object,
          gs_font     type ole2_object,
          flg_stop(1) type c.
              Internal table Declaration
    data: begin of t_excel occurs 0,
    vkorg(20) type c, "Sales Org
    vbtyp(20) type c, "Document Category
    auart(20) type c, "Document Type
    ernam(20) type c, "Created By
    vbeln(20) type c, "Document Number
    posnr(20) type c, "Item Number
    erdat(20) type c, "Created Date
    vdatu(20) type c, "Header Requested Delivery Date
    reqdat(20) type c, "Request date
    condat(20) type c, "Confirm date
    lifsk(20) type c, "Header Block
    txt30(30) type c, "Order User Status Description
    lifsp(20) type c, "Line Block
    dispo(20) type c, "MRP Controller
    dsnam(20) type c, "MRP Controller Description
    vmsta(20) type c, "Material Sales Status
    kunnr(20) type c, "Sold To
    cname(35) type c, "Sold To Name
    regio(20) type c, "State
    cufd(10) type c, "CUD
    bstnk(20) type c, "PO#
    bsark(20) type c, "Ordering Method
    matnr(20) type c, "Material
    maktx(35) type c, "Material Description
    t200(20) type c, "T200
    vtext(20) type c, "T200 Description
    matkl(20) type c, "Material Group
    zzbomind(7) type c, "BOM Indicator
    ostat(20) type c, "Order Status
    cmgst(20) type c, "CRD
    inco1(20) type c, "Incoterms
    oqty(20) type c, "Order Quantity
    pqty(20) type c, "Open Quantity
    unit(20) type c, "UOM
    onet(20) type c, "Order Value
    pnet(20) type c, "Open Value
    curr(20) type c, "Currency key
    so_bezei like tvkbt-bezei,"Sales Office
    sg_bezei like tvgrt-bezei,"Sales Group
    bname(20) type c, "Ordering Party
    contact(20) type c, "Contact Name
    telf1(20) type c, "Contact telf1
    reqqty(20) type c, "Item Request qty
    reqval(20) type c, "Item Request value
    conqty(20) type c, "Item Confirm qty
    conval(20) type c, "Item Confirm value
    zzrev(02) type c, "Revenue recognition acceptance
    bezei(20) type c, "Revenue recognition text
    vgbel(20) type c, "Reference Order for RETURNS
    0008text(255) type c, "Internal Order Comment Text
    end of t_excel.
    data: t_excel_bckord like t_excel occurs 0 with header line,
          t_excel_bcklog like t_excel occurs 0 with header line,
          t_excel_blkord like t_excel occurs 0 with header line.
      types: data1(1500) type c,
             ty          type table of data1.
      data:  it          type ty with header line,
    it_2          type ty with header line,
    it_3          type ty with header line,
             rec         type sy-tfill,
             deli(1)     type c,
             l_amt(18)   type c.
    data: begin of hex,
             tab type x,
            end of hex.
      field-symbols: <fs>      .
      constants cns_09(2) type n value 09.
      assign deli to <fs> type 'X'.
      hex-tab = cns_09.
      <fs> = hex-tab.
    data gv_sheet_name(20) type c .
    M A C R O Declaration
    define ole_check_error.
      if &1 ne 0.
        message e001(zz) with &1.
        exit.
      endif.
    end-of-definition.
    t_excel_bckord-vkorg = 'ABC'.
    t_excel_bckord-vbtyp = 'DEF'.
    t_excel_bckord-auart = 'GHI'.
    t_excel_bckord-ernam = 'JKL'.
    t_excel_bckord-vbeln = 'MNO'.
    t_excel_bckord-0008text = 'XYZ'.
    append t_excel_bckord.
    t_excel_bckord-vkorg = 'ABC1'.
    t_excel_bckord-vbtyp = 'DEF1'.
    t_excel_bckord-auart = 'GHI1'.
    t_excel_bckord-ernam = 'JKL1'.
    t_excel_bckord-vbeln = 'MNO1'.
    t_excel_bckord-0008text = 'XYZ1'.
    append t_excel_bckord.
    t_excel_bckord-vkorg = 'ABC2'.
    t_excel_bckord-vbtyp = 'DEF2'.
    t_excel_bckord-auart = 'GHI2'.
    t_excel_bckord-ernam = 'JKL2'.
    t_excel_bckord-vbeln = 'MNO2'.
    t_excel_bckord-0008text = 'XYZ2'.
    append t_excel_bckord.
    t_excel_bcklog-vkorg = 'ABC'.
    t_excel_bcklog-vbtyp = 'DEF'.
    t_excel_bcklog-auart = 'GHI'.
    t_excel_bcklog-ernam = 'JKL'.
    t_excel_bcklog-vbeln = 'MNO'.
    t_excel_bcklog-0008text = 'XYZ'.
    append t_excel_bcklog.
    t_excel_bcklog-vkorg = 'ABC1'.
    t_excel_bcklog-vbtyp = 'DEF1'.
    t_excel_bcklog-auart = 'GHI1'.
    t_excel_bcklog-ernam = 'JKL1'.
    t_excel_bcklog-vbeln = 'MNO1'.
    t_excel_bcklog-0008text = 'XYZ1'.
    append t_excel_bcklog.
    t_excel_bcklog-vkorg = 'ABC2'.
    t_excel_bcklog-vbtyp = 'DEF2'.
    t_excel_bcklog-auart = 'GHI2'.
    t_excel_bcklog-ernam = 'JKL2'.
    t_excel_bcklog-vbeln = 'MNO2'.
    t_excel_bcklog-0008text = 'XYZ2'.
    append t_excel_bcklog.
    t_excel_bcklog-vkorg = 'ABC3'.
    t_excel_bcklog-vbtyp = 'DEF3'..
    t_excel_bcklog-auart = 'GHI3'.
    t_excel_bcklog-ernam = 'JKL3'.
    t_excel_bcklog-vbeln = 'MNO3'.
    t_excel_bcklog-0008text = 'XYZ3'.
    append t_excel_bcklog.
    t_excel_blkord-vkorg = 'ABC'.
    t_excel_blkord-vbtyp = 'DEF'.
    t_excel_blkord-auart = 'GHI'.
    t_excel_blkord-ernam = 'JKL'.
    t_excel_blkord-vbeln = 'MNO'.
    t_excel_blkord-0008text = 'XYZ'.
    append t_excel_blkord.
    t_excel_blkord-vkorg = 'ABC1'.
    t_excel_blkord-vbtyp = 'DEF1'.
    t_excel_blkord-auart = 'GHI1'.
    t_excel_blkord-ernam = 'JKL1'.
    t_excel_blkord-vbeln = 'MNO1'.
    t_excel_blkord-0008text = 'XYZ1'.
    append t_excel_blkord.
    t_excel_blkord-vkorg = 'ABC2'.
    t_excel_blkord-vbtyp = 'DEF2'.
    t_excel_blkord-auart = 'GHI2'.
    t_excel_blkord-ernam = 'JKL2'.
    t_excel_blkord-vbeln = 'MNO2'.
    t_excel_blkord-0008text = 'XYZ2'.
    append t_excel_blkord.
    t_excel_blkord-vkorg = 'ABC3'.
    t_excel_blkord-vbtyp = 'DEF3'..
    t_excel_blkord-auart = 'GHI3'.
    t_excel_blkord-ernam = 'JKL3'.
    t_excel_blkord-vbeln = 'MNO3'.
    t_excel_blkord-0008text = 'XYZ3'.
    append t_excel_blkord.
    t_excel_blkord-vkorg = 'ABC4'.
    t_excel_blkord-vbtyp = 'DEF4'..
    t_excel_blkord-auart = 'GHI4'.
    t_excel_blkord-ernam = 'JKL4'.
    t_excel_blkord-vbeln = 'MNO4'.
    t_excel_blkord-0008text = 'XYZ4'.
    append t_excel_blkord.
    loop at t_excel_bckord.
    concatenate
    t_excel_bckord-vkorg
    t_excel_bckord-vbtyp
    t_excel_bckord-auart
    t_excel_bckord-ernam
    t_excel_bckord-vbeln
    t_excel_bckord-posnr
    t_excel_bckord-erdat
    t_excel_bckord-vdatu
    t_excel_bckord-reqdat
    t_excel_bckord-condat
    t_excel_bckord-lifsk
    t_excel_bckord-txt30
    t_excel_bckord-lifsp
    t_excel_bckord-dispo
    t_excel_bckord-dsnam
    t_excel_bckord-vmsta
    t_excel_bckord-kunnr
    t_excel_bckord-cname
    t_excel_bckord-regio
    t_excel_bckord-cufd
    t_excel_bckord-bstnk
    t_excel_bckord-bsark
    t_excel_bckord-matnr
    t_excel_bckord-maktx
    t_excel_bckord-t200
    t_excel_bckord-vtext
    t_excel_bckord-matkl
    t_excel_bckord-zzbomind
    t_excel_bckord-ostat
    t_excel_bckord-cmgst
    t_excel_bckord-inco1
    t_excel_bckord-oqty
    t_excel_bckord-pqty
    t_excel_bckord-unit
    t_excel_bckord-onet
    t_excel_bckord-pnet
    t_excel_bckord-curr
    t_excel_bckord-so_bezei
    t_excel_bckord-sg_bezei
    t_excel_bckord-bname
    t_excel_bckord-contact
    t_excel_bckord-telf1
    t_excel_bckord-reqqty
    t_excel_bckord-reqval
    t_excel_bckord-conqty
    t_excel_bckord-conval
    t_excel_bckord-zzrev
    t_excel_bckord-bezei
    t_excel_bckord-vgbel
    t_excel_bckord-0008text
    into it
    separated by deli.
    append it.
        clear it.
    endloop.
    loop at t_excel_bcklog.
    concatenate
    t_excel_bcklog-vkorg
    t_excel_bcklog-vbtyp
    t_excel_bcklog-auart
    t_excel_bcklog-ernam
    t_excel_bcklog-vbeln
    t_excel_bcklog-posnr
    t_excel_bcklog-erdat
    t_excel_bcklog-vdatu
    t_excel_bcklog-reqdat
    t_excel_bcklog-condat
    t_excel_bcklog-lifsk
    t_excel_bcklog-txt30
    t_excel_bcklog-lifsp
    t_excel_bcklog-dispo
    t_excel_bcklog-dsnam
    t_excel_bcklog-vmsta
    t_excel_bcklog-kunnr
    t_excel_bcklog-cname
    t_excel_bcklog-regio
    t_excel_bcklog-cufd
    t_excel_bcklog-bstnk
    t_excel_bcklog-bsark
    t_excel_bcklog-matnr
    t_excel_bcklog-maktx
    t_excel_bcklog-t200
    t_excel_bcklog-vtext
    t_excel_bcklog-matkl
    t_excel_bcklog-zzbomind
    t_excel_bcklog-ostat
    t_excel_bcklog-cmgst
    t_excel_bcklog-inco1
    t_excel_bcklog-oqty
    t_excel_bcklog-pqty
    t_excel_bcklog-unit
    t_excel_bcklog-onet
    t_excel_bcklog-pnet
    t_excel_bcklog-curr
    t_excel_bcklog-so_bezei
    t_excel_bcklog-sg_bezei
    t_excel_bcklog-bname
    t_excel_bcklog-contact
    t_excel_bcklog-telf1
    t_excel_bcklog-reqqty
    t_excel_bcklog-reqval
    t_excel_bcklog-conqty
    t_excel_bcklog-conval
    t_excel_bcklog-zzrev
    t_excel_bcklog-bezei
    t_excel_bcklog-vgbel
    t_excel_bcklog-0008text
    into it_2
    separated by deli.
    append it_2.
        clear it_2.
    endloop.
    loop at t_excel_blkord.
    concatenate
    t_excel_blkord-vkorg
    t_excel_blkord-vbtyp
    t_excel_blkord-auart
    t_excel_blkord-ernam
    t_excel_blkord-vbeln
    t_excel_blkord-posnr
    t_excel_blkord-erdat
    t_excel_blkord-vdatu
    t_excel_blkord-reqdat
    t_excel_blkord-condat
    t_excel_blkord-lifsk
    t_excel_blkord-txt30
    t_excel_blkord-lifsp
    t_excel_blkord-dispo
    t_excel_blkord-dsnam
    t_excel_blkord-vmsta
    t_excel_blkord-kunnr
    t_excel_blkord-cname
    t_excel_blkord-regio
    t_excel_blkord-cufd
    t_excel_blkord-bstnk
    t_excel_blkord-bsark
    t_excel_blkord-matnr
    t_excel_blkord-maktx
    t_excel_blkord-t200
    t_excel_blkord-vtext
    t_excel_blkord-matkl
    t_excel_blkord-zzbomind
    t_excel_blkord-ostat
    t_excel_blkord-cmgst
    t_excel_blkord-inco1
    t_excel_blkord-oqty
    t_excel_blkord-pqty
    t_excel_blkord-unit
    t_excel_blkord-onet
    t_excel_blkord-pnet
    t_excel_blkord-curr
    t_excel_blkord-so_bezei
    t_excel_blkord-sg_bezei
    t_excel_blkord-bname
    t_excel_blkord-contact
    t_excel_blkord-telf1
    t_excel_blkord-reqqty
    t_excel_blkord-reqval
    t_excel_blkord-conqty
    t_excel_blkord-conval
    t_excel_blkord-zzrev
    t_excel_blkord-bezei
    t_excel_blkord-vgbel
    t_excel_blkord-0008text
    into it_3
    separated by deli.
    append it_3.
        clear it_3.
    endloop.
      if h_excel-header = space or h_excel-handle = -1.
    start Excel
        create object h_excel 'EXCEL.APPLICATION'.
      endif.
    PERFORM err_hdl.
    *--- get list of workbooks, initially empty
      call method of h_excel 'Workbooks' = h_mapl.
    PERFORM err_hdl.
      set property of h_excel 'Visible' = 1.
    add a new workbook
      call method of h_mapl 'Add' = h_map.
    PERFORM err_hdl.
    *GV_SHEET_NAME = '1st SHEET'.
    gv_sheet_name = 'Back Orders'.
      get property of  h_excel 'ACTIVESHEET' = worksheet.
    set property of worksheet 'Name' = gv_sheet_name .
    *--Formatting the area of additional data 1 and doing the BOLD
    call method of h_excel 'Cells' = w_cell1
    exporting
    #1 = 1
    #2 = 1.
    call method of h_excel 'Cells' = w_cell2
    exporting
    #1 = 1
    #2 = 50.
    call method of h_excel 'Range' = h_cell
    exporting
    #1 = w_cell1
    #2 = w_cell2.
    *CALL METHOD OF gs_cells 'Select' .
    get property of h_cell 'Font' = gs_font .
    set property of gs_font 'Bold' = 1 .
            data l_rc type i.
      call method cl_gui_frontend_services=>clipboard_export
        importing
          data                 = it[]
        changing
          rc                   = l_rc
        exceptions
          cntl_error           = 1
          error_no_gui         = 2
          not_supported_by_gui = 3
          others               = 4.
      call method of h_excel 'Cells' = w_cell1
        exporting
          #1 = 1
          #2 = 1.
      call method of h_excel 'Cells' = w_cell2
        exporting
          #1 = 1
          #2 = 1.
    PERFORM err_hdl.
       call method of h_excel 'Range' = range
        exporting
          #1 = w_cell1
          #2 = w_cell2.
      call method of range 'Select'.
    PERFORM err_hdl.
      call method of worksheet 'Paste'.
    PERFORM err_hdl.
    CALL METHOD OF h_excel 'QUIT'.
    *GV_SHEET_NAME = '2ND SHEET'.
    gv_sheet_name = 'Backlog'.
    get property of h_excel 'Sheets' = h_sheet2 .
      call method of h_sheet2 'Add' = h_map.
    set property of h_map 'Name' = gv_sheet_name .
      get property of  h_excel 'ACTIVESHEET' = worksheet.
    *--Formatting the area of additional data 1 and doing the BOLD
    call method of h_excel 'Cells' = w_cell1
    exporting
    #1 = 1
    #2 = 1.
    call method of h_excel 'Cells' = w_cell2
    exporting
    #1 = 1
    #2 = 50.
    call method of h_excel 'Range' = h_cell
    exporting
    #1 = w_cell1
    #2 = w_cell2.
    get property of h_cell 'Font' = gs_font .
    set property of gs_font 'Bold' = 1 .
      call method cl_gui_frontend_services=>clipboard_export
        importing
          data                 = it_2[]
        changing
          rc                   = l_rc
        exceptions
          cntl_error           = 1
          error_no_gui         = 2
          not_supported_by_gui = 3
          others               = 4.
      call method of h_excel 'Cells' = w_cell1
        exporting
          #1 = 1
          #2 = 1.
      call method of h_excel 'Cells' = w_cell2
        exporting
          #1 = 1
          #2 = 1.
    PERFORM err_hdl.
       call method of h_excel 'Range' = range
        exporting
          #1 = w_cell1
          #2 = w_cell2.
      call method of range 'Select'.
    PERFORM err_hdl.
      call method of worksheet 'Paste'.
    *GV_SHEET_NAME = '3rd SHEET'.
    gv_sheet_name = 'Blocked Orders'.
    get property of h_excel 'Sheets' = h_sheet3 .
      call method of h_sheet3 'Add' = h_map.
    set property of h_map 'Name' = gv_sheet_name .
      get property of  h_excel 'ACTIVESHEET' = worksheet.
    *--Formatting the area of additional data 1 and doing the BOLD
    call method of h_excel 'Cells' = w_cell1
    exporting
    #1 = 1
    #2 = 1.
    call method of h_excel 'Cells' = w_cell2
    exporting
    #1 = 1
    #2 = 50.
    call method of h_excel 'Range' = h_cell
    exporting
    #1 = w_cell1
    #2 = w_cell2.
    get property of h_cell 'Font' = gs_font .
    set property of gs_font 'Bold' = 1 .
      call method cl_gui_frontend_services=>clipboard_export
        importing
          data                 = it_3[]
        changing
          rc                   = l_rc
        exceptions
          cntl_error           = 1
          error_no_gui         = 2
          not_supported_by_gui = 3
          others               = 4.
      call method of h_excel 'Cells' = w_cell1
        exporting
          #1 = 1
          #2 = 1.
      call method of h_excel 'Cells' = w_cell2
        exporting
          #1 = 1
          #2 = 1.
    PERFORM err_hdl.
       call method of h_excel 'Range' = range
        exporting
          #1 = w_cell1
          #2 = w_cell2.
      call method of range 'Select'.
    PERFORM err_hdl.
      call method of worksheet 'Paste'.
    *--- disconnect from Excel
      free object h_zl.
      free object h_mapl.
      free object h_map.
      free object h_excel.

  • Download into excel

    Hi all,
    is there any function module which i can download the excel sheet into internal table.
    I have requirement like this way.
    i have two records in excel file like
    a   b   c   10 100
    a   b   c   20 100
    I have to copy into internal table these values as it is and then I want to do calculations based on 10 & 20.
    I am trying to do it with Field symbols but not able to do so.
       LOOP AT INTERN1.
         IF   KZHEADER = 'X'
          AND INTERN1-ROW = 1.
            CONTINUE.
         ENDIF.
         TIND = INTERN1-COL.
         CONCATENATE 'DATA_TAB-VALUE_' TIND INTO ZWFELD.
         ASSIGN (ZWFELD) TO <fs1>.
         <fs1> = INTERN1-VALUE.
         AT END OF ROW.
           APPEND DATA_TAB.
           CLEAR DATA_TAB.
         ENDAT.
       ENDLOOP.
    Any suggetions are really appreciatable.
    shylesh

    Hi,
    FM : 'SXPG_COMMAND_EXECUTE'
    For full program code check the following link:
    http://www.sap-img.com/abap/download-in-background-in-excel-format.htm
    Regards,
    Bhaskar

Maybe you are looking for

  • Quicksilver 2002, best AGP card that I can use ADC port?

    I currently have a 2002 QS 933mhz, and would like to add Core Image support. However, I am kind of on a budget, and need to still be able to use my 17'' ADC studio display. I'm okay with having to tape pins 3 and 11 if necessary, but I need the card

  • SYstem Shuts Down Every Time if on AC Power.

    1. This does not happen if running on battery. 2. Lenovo suggested test seem to prove it is not a hardware problem  --doesn't happen if on "F1" key. 3. Replaced power cord -no change 4. They think it could be  defective Windows 7 Upgrade.  Did not po

  • Fireworks (cs3) could not run the script

    When I choose in adobe dreamweaver: command->create web photo album fireworks (fw) is launched. The problem is that when fw is launched I got the following message: "Could not run the script. The file was not found." So the result is a webpage withou

  • Error message at startup. Unable to continue.

    Hi All Getting message "Runtime Error! This application has requested The Runtime to terminate it in an unusual way. Please contact the applications support team for more information." Running XP and have made no changes to laptop since the last time

  • RH_STRUC_GET example

    Hi, Does anyone have sample code that I can pinch. I want to get all the employee numbers that report to a manager. I assume the best way is using RH_STRUC_GET but there may be a better way? Thank you.