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

Regarding Downloading of Report[List] output into Excel Sheet

Former Member
0 Kudos

Hi All,

Hi i have written one Classical report. I got the output Correctly.

Now i want to download that data into Excel Sheet in excatly the way it displayed in List[Report] output.

I had followed the path <b>System->List->Save->LocalFile->Spread Sheet</b> and tried to download the same.

Though it is downloaded it has not come in exact format.

Now what i want is to add a button above that report & write a program in that to download that data into Excel Sheet.

Can anybody tell me how can solve this issue. If i follow above procedure will the data[List Output] be downloaded into exact format into excel.

If anybody knows other way please sujjest.

Thanks in advance.

Thanks & Regards,

Prasad.

14 REPLIES 14

Former Member
0 Kudos

Hi Prasad,

yeah even I tried and that format is not good.

so better to give ur own button an implement it.

I did the same in one of my programs.

Thanks&Regards,

Siri.

former_member181966
Active Contributor
0 Kudos

use FM

form sub_excel_download .

call function 'MS_EXCEL_OLE_STANDARD_DAT'

exporting

file_name = 'C:\TEMP\file.xls'

  • CREATE_PIVOT = 0

  • DATA_SHEET_NAME = ' '

  • PIVOT_SHEET_NAME = ' '

  • PASSWORD = ' '

  • PASSWORD_OPTION = 0

tables

  • PIVOT_FIELD_TAB =

data_tab = itab

fieldnames = "IT_ALL

exceptions

file_not_exist = 1

filename_expected = 2

communication_error = 3

ole_object_method_error = 4

ole_object_property_error = 5

invalid_filename = 6

invalid_pivot_fields = 7

download_problem = 8

others = 9.

if sy-subrc <> 0.

write: / 'Error downloading to Excel'.

endif.

<b>P.S award the points.</b>

Good luck

Thanks

Saquib Khan

0 Kudos

Hi,

For the above issue posted i have added a <b>Button[EXPORT]</b> in <b>APPlication Tool Bar</b>.

Now that <b>Button</b> is getting diplayed in <b>Application tool bar</b> of report output.

Now what i want is to download that <b>report[List output]</b> into <b>excel sheet</b>.

Which Function module i have to make use of to download listoutput<b>[REPORT]</b> into Excel Sheet.

Can anybody provide me with solution.

Thanks in advance.

Thanks & Regards,

Prasad.

0 Kudos

Hi,

Can Anybody give the solution for the above issue!

Issue: Directly Download Report[List] Output into excel file using some Function module. When i click button in Application Tool Bar.

Thanks & Regards,

Prasad.

0 Kudos

Prasad,

Did you try using the function MS_EXCEL_OLE_STANDARD_DAT mentioned in the post above by Khan?

Regards,

Ravi

0 Kudos

data: begin of itexcel occurs 0,

f1(100),

end of itexcel.

if you have itab with 2 fields f1 and f2 ..

concatenate itab-f1 itab-f2 into itexcel-f1 separated by CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB

use FM GUI_DOWNLOAD and download the file as .xls

0 Kudos

Hi,

Try the below program logic in the Button OKCODE handling..

http://www.sap-img.com/abap/download-to-excel-with-format-border-color-cell-etc.htm

Regards

vijay

Former Member
0 Kudos

Hai Prasad

Try with this following Code

tables : mara.

data : begin of it_mara occurs 0,

matnr like mara-matnr,

mbrsh like mara-mbrsh,

mtart like mara-mtart,

meins like mara-meins,

end of it_mara.

parameters : P_mtart like mara-mtart default 'ROH'.

start-of-selection.

perform select_data.

perform download_data.

&----


*& Form select_data

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM select_data .

select

matnr

mbrsh

mtart

meins

from mara into table it_mara

where mtart = P_mtart.

if sy-subrc = 0.

sort it_mara by matnr.

endif.

ENDFORM. " select_data

&----


*& Form download_data

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM download_data .

CALL FUNCTION 'GUI_DOWNLOAD'

EXPORTING

FILENAME = 'c:\down_mara.xls'

FILETYPE = 'DBF'

TABLES

DATA_TAB = it_mara.

ENDFORM. " download_data

Thanks & regards

Sreenivasulu P

0 Kudos

Hi,

We are not downloading Internal table data into Excel Sheet.

But i should download <b>Report[List] output</b> data into Excel Sheet.

This report output will contain mixture of so many internal tables.

So after Displaying Reeport Output i need to download that Output using sone Function Module if i hit a Push Button Created in Application Tool Bar.

Thanks in advance.

Thanks & Regards,

Prasad.

0 Kudos

Best way is to convert this into ALV format , from wher it can be easily downloaded to excel . even while saving classical report to local file many time data gets miss .

Regards

Siddharth

0 Kudos

Hi,

It's not easy to convert my classical report into ALV as data diaplayed in output comes from diffrent internal tables & output is in diffrent format.

ALV Grid is not at all a possiblity.

If anybody knows function module that downloads Report output into Excel Format in exact format please post the same.

Thanks,

Prasad.

Former Member
0 Kudos

Hi Prasad,

use FM 'REUSE_ALV_GRID_DISPLAY', then it's very easy

to change in EXCEL and store it.

Regards, Dieter

former_member184569
Active Contributor
0 Kudos

Hi Prasad,

I have done a program which downloads the output in the excel sheet in the correct format.

Just check the program. The code given in bold is what you have to use.

REPORT zexp MESSAGE-ID f4 LINE-SIZE 195.

                                  • Tables Used ***********************************

TABLES : bseg, bkpf, bsak, lfa1, payr .

*

                                  • Declaring Internal Tables **************************

DATA :

            • Internal table to hold header data *************

BEGIN OF header OCCURS 0,

ext_date(10) TYPE c,

delimit(1) TYPE c,

ext_time(8) TYPE c,

END OF header,

            • Internal table to hold detail info **************

BEGIN OF i_data OCCURS 0,

belnr LIKE bsak-belnr,

gjahr LIKE bsak-gjahr,

bukrs LIKE bsak-bukrs,

bldat LIKE bsak-bldat,

xblnr LIKE bsak-xblnr,

blart LIKE bsak-blart,

augdt LIKE bsak-augdt,

augbl LIKE bsak-augbl,

wrbtr LIKE bsak-wrbtr,

shkzg LIKE bsak-shkzg,

lifnr LIKE bsak-lifnr,

name1 LIKE lfa1-name1,

chect LIKE payr-chect,

status(1) TYPE c,

END OF i_data,

                                • Internal table to to collect *****************

BEGIN OF i_data1 OCCURS 0,

belnr LIKE bsak-belnr,

gjahr LIKE bsak-gjahr,

bukrs LIKE bsak-bukrs,

bldat LIKE bsak-bldat,

xblnr LIKE bsak-xblnr,

blart LIKE bsak-blart,

augdt LIKE bsak-augdt,

augbl LIKE bsak-augbl,

wrbtr LIKE bsak-wrbtr,

  • shkzg LIKE bsak-shkzg,

lifnr LIKE bsak-lifnr,

name1 LIKE lfa1-name1,

sortl LIKE lfa1-sortl,

chect LIKE payr-chect,

status(1) TYPE c,

END OF i_data1,

                      • String variables for formatting file data *************

fidoc_year TYPE string,

comp_code TYPE string,

check_numbr TYPE string,

vendor TYPE string,

inv_date TYPE string,

inv_nbr TYPE string,

paid_dat TYPE string,

inv_amt TYPE string,

status TYPE string,

ref_doc TYPE string,

************Internal table to store the file contents **************

BEGIN OF i_final_file OCCURS 0,

record(300) TYPE c,

END OF i_final_file,

        • Internal table to store the list of allowed document types ****

BEGIN OF i_doctype OCCURS 0,

blart LIKE bsak-blart,

END OF i_doctype,

                          • Internal table to hold vendor information ************

BEGIN OF i_lfa1 OCCURS 0,

lifnr LIKE lfa1-lifnr,

name1 LIKE lfa1-name1,

sortl LIKE lfa1-sortl,

END OF i_lfa1,

                          • Internal table to hold check information *************

BEGIN OF i_payr OCCURS 0,

chect LIKE payr-chect,

vblnr LIKE payr-vblnr,

gjahr LIKE payr-gjahr,

zbukr LIKE payr-zbukr,

END OF i_payr.

                                      • Data declarations **************************

DATA : ws_stblg TYPE bkpf-stblg,

todate TYPE bsak-augdt,

fromdate TYPE bsak-augdt,

w_day LIKE dtresr-weekday,

day LIKE scal-indicator,

d TYPE n,

e_date LIKE sy-datum,

e_time LIKE sy-uzeit,

dd(2) TYPE c,

mm(2) TYPE c,

yy(4) TYPE c,

hh(2) TYPE c,

min(2) TYPE c,

sec(2) TYPE c.

DATA : wa_filepath(50) TYPE c,

wa_filename(50) TYPE c,

wa_c_filename(100) TYPE c,

arch_path(50) TYPE c.

*************************************

<b>* Data for downloading to list

DATA : list LIKE TABLE OF abaplist WITH HEADER LINE.

DATA : BEGIN OF list_asc OCCURS 0,

msg(300) TYPE c,

END OF list_asc.

DATA: BEGIN OF i_invoiceheader OCCURS 0,

name(30) TYPE c,

END OF i_invoiceheader.

RANGES dates FOR bkpf-budat.</b>

                                            • Selection Screen ************************

SELECTION-SCREEN SKIP 2.

SELECT-OPTIONS:

s_bukrs FOR bkpf-bukrs ,

s_blart FOR bkpf-blart ,

s_augdt FOR bsak-augdt. " memory id todat TO fromdat.

PARAMETERS :submit AS CHECKBOX DEFAULT ' ' .

*****************************************

<b>* Download list to file.

AT USER-COMMAND.

CASE sy-ucomm.

WHEN 'LIST'.

PERFORM download.

WHEN 'BACK'.

EXIT.

ENDCASE.</b>

<b>----


  • FORM download *

----


  • ........ *

----


FORM download.

if s_augdt is initial.

dates-sign = 'I'.

dates-option = 'BT'.

dates-low = '20050901'.

dates-high = '20050920'.

APPEND dates.

else.

dates = s_augdt.

append dates.

endif.

/* Submit the same program .

SUBMIT zexp WITH s_augdt IN dates

EXPORTING LIST TO MEMORY

AND RETURN.

CALL FUNCTION 'LIST_FROM_MEMORY'

TABLES

listobject = list

EXCEPTIONS

not_found = 1.

CALL FUNCTION 'LIST_TO_ASCI'

  • EXPORTING

  • LIST_INDEX = -1 "LIST_INDEX SY-LSIND.

TABLES

listasci = list_asc

listobject = list.

PERFORM download_file.

ENDFORM.

----


  • FORM download_file *

----


  • ........ *

----


FORM download_file.

DATA fname TYPE rlgrap-filename VALUE 'c:\audit_report.xls'.

DATA ftype TYPE rlgrap-filetype VALUE 'DAT'.

DATA numeric_data(10) TYPE c VALUE '0123456789'.

*Table structure should match with list output.

DATA : BEGIN OF i_data1 OCCURS 0,

belnr(12) TYPE c,

gjahr(6) TYPE c,

bukrs(8) TYPE c,

chect(13) TYPE c,

lifnr(12) TYPE c,

name1(37) TYPE c,

bldat(14) TYPE c,

xblnr(18) TYPE c,

augdt(14) TYPE c,

wrbtr(17) TYPE c,

status(4) TYPE c,

augbl(18) TYPE c,

sortl(17) TYPE c,

END OF i_data1.

  • Header record of the excel sheet.

PERFORM fill_header.

LOOP AT list_asc.

  • Reads lines starting from the first record in the report. All informatory statements in the report are not read.

IF list_asc+1(10) CO numeric_data.

i_data1 = list_asc .

APPEND i_data1.

ENDIF.

ENDLOOP.

  • Call the download function.

CALL FUNCTION 'DOWNLOAD'

EXPORTING

filename = fname

filetype = ftype

TABLES

data_tab = i_data1

FIELDNAMES = i_invoiceheader.

ENDFORM.

----


  • FORM fill_header *

----


  • ........ *

----


FORM fill_header.

i_invoiceheader-name = 'Doc Number'.

APPEND i_invoiceheader.

i_invoiceheader-name = 'Fsc Year'.

APPEND i_invoiceheader.

i_invoiceheader-name = 'Cmp Code'.

APPEND i_invoiceheader.

i_invoiceheader-name = 'Check No'.

APPEND i_invoiceheader.

i_invoiceheader-name = 'Vendor No'.

APPEND i_invoiceheader.

i_invoiceheader-name = 'Entered by'.

APPEND i_invoiceheader.

i_invoiceheader-name = 'Doc Date'.

APPEND i_invoiceheader.

i_invoiceheader-name = 'Ref Doc No'.

APPEND i_invoiceheader.

i_invoiceheader-name = 'Clearing Date'.

APPEND i_invoiceheader.

i_invoiceheader-name = 'Amount'.

APPEND i_invoiceheader.

i_invoiceheader-name = 'Status'.

APPEND i_invoiceheader.

i_invoiceheader-name = 'Clearing Doc No'.

APPEND i_invoiceheader.

i_invoiceheader-name = 'Sort field'.

APPEND i_invoiceheader.

ENDFORM. " fill_header</b>

                                          • Initialization *************************

INITIALIZATION.

  • To initialize the date parameter on the selection screen.

  • The date by default ranges from previous Monday to Sunday.

todate = sy-datum.

CALL FUNCTION 'DATE_COMPUTE_DAY'

EXPORTING

date = todate

IMPORTING

day = day.

d = day.

if d < 4.

todate = sy-datum - d - 4 .

else.

todate = sy-datum - d + 3 .

endif.

fromdate = todate - 6.

MOVE: 'BT' TO s_augdt-option,

fromdate TO s_augdt-low,

todate TO s_augdt-high.

APPEND s_augdt.

                                        • Start of Selection **************************

START-OF-SELECTION.

              • Checking the validity of the inputted dates ****************

IF s_augdt-low > sy-datum OR s_augdt-high > sy-datum.

MESSAGE i999 WITH 'You cannot input future date'.

EXIT.

ENDIF.

IF NOT s_bukrs IS INITIAL.

MESSAGE i999 WITH 'Program will run with input parameters in screen!!'.

ENDIF.

                                • Initialize the header data ***********************

e_time = sy-uzeit.

MOVE e_time+0(2) TO hh.

MOVE e_time+2(2) TO min.

MOVE e_time+4(2) TO sec.

CONCATENATE hh min sec INTO header-ext_time SEPARATED BY ':'.

e_date = sy-datum.

MOVE e_date+0(4) TO yy.

MOVE e_date+4(2) TO mm.

MOVE e_date+6(2) TO dd.

CONCATENATE mm dd yy INTO header-ext_date SEPARATED BY '/'.

header-delimit = '~'.

APPEND header.

                                • List allowed document types **********************

PERFORM fill_doc_types.

**To select the documents within the range of week or as inputted **

IF s_augdt IS INITIAL.

MOVE: 'I' TO s_augdt-sign,

'BT' TO s_augdt-option,

fromdate TO s_augdt-low,

todate TO s_augdt-high.

APPEND s_augdt.

ENDIF.

                      • Selecting the records from the database ****************

IF s_bukrs IS INITIAL AND s_blart IS INITIAL.

                  • Select all documents of company code 1000, *********

                  • 4200 and 8000, and allowed document types *********

SELECT belnr gjahr augdt augbl bukrs

blart bldat xblnr lifnr wrbtr shkzg

FROM bsak INTO CORRESPONDING FIELDS OF TABLE i_data

FOR ALL ENTRIES IN i_doctype

WHERE blart EQ i_doctype-blart

AND augdt IN s_augdt

AND ( bukrs = '1000' OR bukrs ='4200' OR

( bukrs = '8000' AND blart NE 'ZP' ) ).

loop at i_data.

  • Exclude reversed documents

select single stblg into ws_stblg

from bkpf

where bukrs = i_data-bukrs

and gjahr = i_data-gjahr

and belnr = i_data-belnr.

if not ws_stblg is initial.

delete i_data.

endif.

endloop.

ELSEIF s_blart IS INITIAL.

              • Select all documents of allowed document types ******

              • and inputted company code ************

SELECT belnr gjahr augdt augbl bukrs

blart bldat xblnr lifnr wrbtr shkzg

FROM bsak INTO CORRESPONDING FIELDS OF TABLE i_data

FOR ALL ENTRIES IN i_doctype

WHERE blart EQ i_doctype-blart

AND augdt IN s_augdt

AND bukrs IN s_bukrs .

LOOP AT i_data.

  • Exclude documents of type ZP

  • for company code 8000.

IF i_data-bukrs = '8000' AND i_data-blart = 'ZP'.

DELETE i_data.

continue.

ENDIF.

  • Exclude reversed documents

select single stblg into ws_stblg

from bkpf

where bukrs = i_data-bukrs

and gjahr = i_data-gjahr

and belnr = i_data-belnr.

if not ws_stblg is initial.

delete i_data.

continue.

endif.

ENDLOOP.

READ TABLE i_data INDEX 1.

IF sy-subrc NE 0.

MESSAGE i999 WITH 'No records have been selected'.

EXIT.

ENDIF.

ELSE.

          • Select the documents matching the company codes *****

          • and document types inputted in the selection screen ****

SELECT belnr gjahr augdt augbl bukrs bldat xblnr

blart lifnr wrbtr shkzg

FROM bsak INTO CORRESPONDING FIELDS OF TABLE i_data

WHERE bukrs IN s_bukrs AND blart IN s_blart

AND augdt IN s_augdt.

SORT i_data BY blart.

LOOP AT i_data.

  • Filtering the records selected

  • based on the document type

READ TABLE i_doctype WITH KEY blart = i_data-blart.

IF sy-subrc NE 0.

DELETE i_data.

continue.

ENDIF.

  • Exclude documents of type ZP

  • for company code 8000.

IF i_data-bukrs = '8000' AND i_data-blart = 'ZP'.

DELETE i_data.

continue.

ENDIF.

  • Exclude reversed documents.

select single stblg into ws_stblg

from bkpf

where bukrs = i_data-bukrs

and gjahr = i_data-gjahr

and belnr = i_data-belnr.

if not ws_stblg is initial.

delete i_data.

continue.

endif.

ENDLOOP.

READ TABLE i_data INDEX 1.

IF sy-subrc NE 0.

MESSAGE i999 WITH 'No records have been selected'.

EXIT.

ENDIF.

ENDIF.

IF sy-subrc NE 0.

MESSAGE i999 WITH 'No records have been selected'.

EXIT.

ENDIF.

                                        • credit/debit identification ***********************

LOOP AT i_data.

IF i_data-shkzg EQ 'H'.

i_data-wrbtr = i_data-wrbtr * 1.

ELSEIF i_data-shkzg EQ 'S'.

i_data-wrbtr = i_data-wrbtr * -1.

ENDIF.

MODIFY i_data.

ENDLOOP.

                                                  • for summarizing ******************************

LOOP AT i_data.

MOVE-CORRESPONDING i_data TO i_data1.

COLLECT i_data1.

ENDLOOP.

                      • Vendor informations and Check Informations *****************

SELECT lifnr name1 sortl

FROM lfa1

APPENDING CORRESPONDING FIELDS OF TABLE i_lfa1

FOR ALL ENTRIES IN i_data1

WHERE lifnr = i_data1-lifnr.

SELECT chect vblnr gjahr zbukr FROM payr APPENDING CORRESPONDING

FIELDS OF TABLE i_payr FOR ALL ENTRIES

IN i_data1 WHERE vblnr = i_data1-augbl

AND gjahr = i_data1-augdt(4)

AND zbukr = i_data1-bukrs.

SORT i_data1 BY augbl gjahr bukrs lifnr.

SORT i_payr BY vblnr gjahr zbukr.

SORT i_lfa1 BY lifnr.

LOOP AT i_data1.

READ TABLE i_payr WITH KEY vblnr = i_data1-augbl

gjahr = i_data1-gjahr

zbukr = i_data1-bukrs.

IF sy-subrc EQ 0.

i_data1-chect = i_payr-chect.

ENDIF.

READ TABLE i_lfa1 WITH KEY lifnr = i_data1-lifnr.

IF sy-subrc EQ 0.

i_data1-name1 = i_lfa1-name1.

i_data1-sortl = i_lfa1-sortl.

ENDIF.

i_data1-status = 'X'.

MODIFY i_data1.

ENDLOOP.

**The records are sorted by clearing date, check number and doc type**

SORT i_data1 BY augdt chect blart.

**********The header record is outputted on the screen****************

PERFORM write_header.

********Data is moved to internal table in the file format *************

PERFORM move_data.

                    • Line items are outputted on the screen *********************

PERFORM write_output.

*&----


&*

*& Form write_header &*

*&----


&*

*& This outputs the header information to screen &*

*&----


&*

FORM write_header.

SKIP.

SET PF-STATUS 'LIST'.

                                • Outputting the header information *********************

WRITE : / 'Extraction Date : ' , header-ext_date.

WRITE : / 'Extraction Time : ' , header-ext_time.

FORMAT COLOR 1." INTENSIFIED.

SKIP.

ULINE AT 0(190) NO-GAP.

                              • Outputting line level information **********************

WRITE:/ sy-vline NO-GAP,

(10) 'DOC NUMBER',

sy-vline NO-GAP,

(4) 'F-YR',

sy-vline NO-GAP,

(6) 'C-CODE',

sy-vline NO-GAP,

(10) 'CHECK NUM',

sy-vline NO-GAP,

(10) 'VENDOR NUM',

sy-vline NO-GAP,

(35) 'VENDOR NAME',

sy-vline NO-GAP,

(12) 'INVOICE DATE',

sy-vline NO-GAP,

(16) 'INVOICE NUMBER',

sy-vline NO-GAP,

(12) 'PAID DATE',

sy-vline NO-GAP,

(15) 'INVOICE AMOUNT',

sy-vline NO-GAP,

(2) 'SC',

sy-vline NO-GAP,

(16) 'REFERENCE FI DOC',

sy-vline NO-GAP,

(15) 'SORT FIELD',

sy-vline NO-GAP.

ULINE AT 0(190) NO-GAP.

ENDFORM. " write_header

*&----


&*

*& FORM MOVE_DATA &*

*&----


&*

*& Formats data in internal table as is required in the file &*

*&----


&*

FORM move_data.

LOOP AT i_data1.

            • Document number and fiscal year should be separted by '|' *****

CONCATENATE i_data1-belnr i_data1-gjahr INTO fidoc_year

SEPARATED BY '|'.

MOVE i_data1-bukrs TO comp_code.

MOVE i_data1-chect TO check_numbr.

              • Vendor number and vendor name should be separted by '|' *****

CONCATENATE i_data1-lifnr i_data1-name1 INTO vendor

SEPARATED BY '|'.

SHIFT vendor LEFT DELETING LEADING '0'.

SHIFT vendor RIGHT DELETING TRAILING space.

                  • Date fields converted to MM/DD/YYYY format ****************

MOVE i_data1-bldat+0(4) TO yy.

MOVE i_data1-bldat+4(2) TO mm.

MOVE i_data1-bldat+6(2) TO dd.

CONCATENATE mm dd yy INTO inv_date SEPARATED BY '/'.

MOVE i_data1-xblnr TO inv_nbr.

SHIFT inv_nbr RIGHT DELETING TRAILING space.

MOVE i_data1-augdt+0(4) TO yy.

MOVE i_data1-augdt+4(2) TO mm.

MOVE i_data1-augdt+6(2) TO dd.

CONCATENATE mm dd yy INTO paid_dat SEPARATED BY '/'.

MOVE i_data1-wrbtr TO inv_amt.

CONDENSE inv_amt.

  • SHIFT inv_amt RIGHT DELETING TRAILING space.

MOVE i_data1-status TO status.

MOVE i_data1-augbl TO ref_doc.

CONCATENATE fidoc_year

comp_code

check_numbr

vendor

inv_date

inv_nbr

paid_dat

inv_amt

status

ref_doc

INTO i_final_file-record SEPARATED BY '~'.

APPEND i_final_file.

ENDLOOP.

ENDFORM. " MOVE_DATA

*&----


&*

*& Form write_output &*

*&----


&*

*& Outputs all data to screen &*

*&----


&*

FORM write_output.

LOOP AT i_data1.

FORMAT COLOR 2 INTENSIFIED.

                              • Outputting line level information *******************

WRITE : / sy-vline NO-GAP,

(10) i_data1-belnr,

sy-vline NO-GAP,

(4) i_data1-gjahr,

sy-vline NO-GAP,

(6) i_data1-bukrs,

sy-vline NO-GAP,

(10) i_data1-chect,

sy-vline NO-GAP,

(10) i_data1-lifnr,

sy-vline NO-GAP,

(35) i_data1-name1,

sy-vline NO-GAP,

(12) i_data1-bldat MM/DD/YYYY,

sy-vline NO-GAP,

(16) i_data1-xblnr,

sy-vline NO-GAP,

(12) i_data1-augdt MM/DD/YYYY,

sy-vline NO-GAP,

(15) i_data1-wrbtr,

sy-vline NO-GAP,

(2) i_data1-status,

sy-vline NO-GAP,

(16) i_data1-augbl,

sy-vline NO-GAP,

(15) i_data1-sortl,

sy-vline NO-GAP.

ENDLOOP.

ULINE AT 0(190) NO-GAP.

ENDFORM. " write_output

*************************************************

In the program, I am downloading only the list.. The description of report outputted in the beginning of the report is not downloaded to excel.

What has to be taken into consideration is that, the structure of the table i_data1 which contains the data to be downloaded to the table.

I hope that this will help you.

Regards,

Susmitha

0 Kudos

HI Susmitha,

Thanks for that reply.

My report output i sbit diffrent:

The Classical Report Format is as below:

<b>First at the start of the report i will have REPORT HEADER with all the information about that Report & organization.

Then after 2 lines GAP.

Another Header comes as:

ID:

Person:

Title:

Year:2001

Then the actual data comes with header in vertical way as:

SALARY:

NO OF HRS:

ACWP HRS:

ACWP $ :

agianst them Horizontal heading will be as:

01/2006 02/2006 03/2006 etc.

under the above we will have values agianst above vertical rows.

After diaplaying above after 2 lines gap.

same thing with diffrent ID & person & Year.

we have to display data.

ID:

Person:

Title:

Year:2001

Then the actual data comes with header in vertical way as:

SALARY:

NO OF HRS:

ACWP HRS:

ACWP $ :

agianst them Horizontal heading will be as:

01/2006 02/2006 03/2006 etc.

under the above we will have values agianst above vertical rows.

Like wise upto no of resources & Years i have to diaply data.</b>

I am using diffrent internal tables and diffrent formatting while printing data in report output.

So your way might not be possible.

What i want is to Directly download Report Output data into Excel File without using any internal tables passing.

Can anybody sujjest a way.

Thanks,

Prasad.