03-12-2007 10:48 AM
HI,
I want to download the contents of the list into excel sheet.
iam using this function module
CALL FUNCTION 'EXCEL_OLE_STANDARD_DAT'
EXPORTING
file_name = 'C:/SANTOSH'
TABLES
data_tab = tab_gl1[] "list contents
fieldnames = tab_header[]. " list heading
but it is giving dump.
It is control break report.
In main heading i have company code and fiscal year.
for list heading i have 10 fields.
please help me.
points assured for helpful
03-12-2007 11:37 AM
Hi,
try this.using gui_download..
with WRITE_FIELD_SEPARATOR = 'X'
option...you will get desired output..
REPORT YH642_EXCEL.
TABLES SPFLI.
DATA:
T_SPFLI LIKE STANDARD TABLE OF SPFLI.
SELECT * FROM SPFLI INTO TABLE T_SPFLI.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
BIN_FILESIZE =
FILENAME = 'C:\MOHAN\FILE.XLS'
FILETYPE = 'ASC'
APPEND = ' '
WRITE_FIELD_SEPARATOR = 'X'
HEADER = '00'
TRUNC_TRAILING_BLANKS = ' '
WRITE_LF = 'X'
COL_SELECT = ' '
COL_SELECT_MASK = ' '
DAT_MODE = ' '
CONFIRM_OVERWRITE = ' '
NO_AUTH_CHECK = ' '
CODEPAGE = ' '
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
WRITE_BOM = ' '
TRUNC_TRAILING_BLANKS_EOL = 'X'
WK1_N_FORMAT = ' '
WK1_N_SIZE = ' '
WK1_T_FORMAT = ' '
WK1_T_SIZE = ' '
IMPORTING
FILELENGTH =
TABLES
DATA_TAB = T_SPFLI
FIELDNAMES =
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.
ram.
03-12-2007 10:56 AM
Hi,
Check the following code and change your report
check for the declarations of the internal tables:
REPORT ZRBC025 MESSAGE-ID ZAFR LINE-SIZE 200.
PARAMETERS: G_FILNAV LIKE DRAW-FILEP.
DEFAULT '/usr/sap/UDV/data/WDACRPR.FTP.P004.D031013'.
PARAMETERS:
P_RAD1 RADIOBUTTON GROUP G1 DEFAULT 'X',
P_RAD2 RADIOBUTTON GROUP G1,
P_FILEN LIKE RLGRAP-FILENAME
DEFAULT 'C:\temp\testfil' VISIBLE LENGTH 60.
DATA: BEGIN OF DLPIVOT OCCURS 20.
INCLUDE STRUCTURE EXCELPIVOT.
DATA: END OF DLPIVOT.
DATA: BEGIN OF DOWNLOAD_FIELDNAMES OCCURS 20,
FIELD(60),
END OF DOWNLOAD_FIELDNAMES.
TYPES: BEGIN OF GT_UNIX_DATA,
Info hentet fra S-recorden overst
SRECNO(31), "S6015
MODTAGER(32), "33804
FAKTLISTNO(10), "6070001415
FAKTURANO(10), "6000082431
Info hentet i felterne
DINFO VBDKR-KUNRG DINFO VBDKR-VBELN ( hvis faktura )
DINFO VBRK-KUNRG DINFO VBRK-VBELN ( hvis faktura-liste )
KUNRG_FL LIKE VBRK-KUNRG, "Faktliste
VBELN_FL LIKE VBRK-VBELN, "Faktliste
KUNRG_FA LIKE VBDKR-KUNRG, "Faktura
VBELN_FA LIKE VBDKR-VBELN, "Faktura
DUBLET(1),
END OF GT_UNIX_DATA.
DATA: GI_UNIX_DATA TYPE STANDARD TABLE OF GT_UNIX_DATA WITH HEADER LINE.
DATA: BEGIN OF RECORD,
TEXT(1000),
NUMBER TYPE I,
END OF RECORD.
Husk TEXT MODE da det ellers giver underlige returkoder
OPEN DATASET G_FILNAV FOR INPUT IN TEXT MODE ENCODING DEFAULT.
IF NOT SY-SUBRC IS INITIAL.
WRITE: / 'Unix-filen kunne ikke abnes'.
WRITE: / 'OPEN DATASET returkode = ', SY-SUBRC.
ELSE.
DO.
READ DATASET G_FILNAV INTO RECORD.
IF SY-SUBRC NE 0.
EXIT.
ELSE.
IF RECORD(1) = 'S'.
MOVE RECORD+1(31) TO GI_UNIX_DATA-SRECNO.
MOVE RECORD+33(32) TO GI_UNIX_DATA-MODTAGER.
MOVE RECORD+65(10) TO GI_UNIX_DATA-FAKTLISTNO.
MOVE RECORD+97(10) TO GI_UNIX_DATA-FAKTURANO.
ENDIF.
IF RECORD(5) = 'DINFO'.
CASE RECORD+41(20).
WHEN 'VBRK-VBELN '.
MOVE RECORD+175(10) TO GI_UNIX_DATA-VBELN_FL.
WHEN 'VBRK-KUNRG '.
MOVE RECORD+175(10) TO GI_UNIX_DATA-KUNRG_FL.
APPEND GI_UNIX_DATA.
CLEAR GI_UNIX_DATA.
WHEN 'VBDKR-VBELN '.
MOVE RECORD+175(10) TO GI_UNIX_DATA-VBELN_FA.
WHEN 'VBDKR-KUNRG '.
MOVE RECORD+175(10) TO GI_UNIX_DATA-KUNRG_FA.
APPEND GI_UNIX_DATA.
CLEAR GI_UNIX_DATA.
ENDCASE.
ENDIF.
ENDIF.
ENDDO.
CLOSE DATASET G_FILNAV.
ENDIF.
SORT GI_UNIX_DATA BY SRECNO
MODTAGER
FAKTLISTNO
FAKTURANO.
DATA: GL_SRECNO LIKE GI_UNIX_DATA-SRECNO.
DATA: GL_MODTAGER LIKE GI_UNIX_DATA-MODTAGER.
DATA: G_INDEX LIKE SY-TABIX.
LOOP AT GI_UNIX_DATA.
G_INDEX = SY-TABIX.
IF NOT GI_UNIX_DATA-SRECNO IS INITIAL.
IF GI_UNIX_DATA-SRECNO = GL_SRECNO.
IF GI_UNIX_DATA-MODTAGER = GL_MODTAGER.
MOVE 'X' TO GI_UNIX_DATA-DUBLET.
MODIFY GI_UNIX_DATA INDEX G_INDEX TRANSPORTING DUBLET.
ENDIF.
ENDIF.
ENDIF.
GL_SRECNO = GI_UNIX_DATA-SRECNO.
GL_MODTAGER = GI_UNIX_DATA-MODTAGER.
ENDLOOP.
IF P_RAD1 = 'X'.
PERFORM VIS_PRINT.
ELSE.
PERFORM DOWNLOAD_TIL_EXCEL.
ENDIF.
&----
*& Form DOWNLOAD_TIL_EXCEL
&----
FORM DOWNLOAD_TIL_EXCEL.
MOVE 'S-RECORD' TO DOWNLOAD_FIELDNAMES-FIELD.
APPEND DOWNLOAD_FIELDNAMES.
MOVE 'Modtager' TO DOWNLOAD_FIELDNAMES-FIELD.
APPEND DOWNLOAD_FIELDNAMES.
MOVE 'Faktliste Nr' TO DOWNLOAD_FIELDNAMES-FIELD.
APPEND DOWNLOAD_FIELDNAMES.
MOVE 'Faktura nr' TO DOWNLOAD_FIELDNAMES-FIELD.
APPEND DOWNLOAD_FIELDNAMES.
MOVE 'KUNRG (faktListe)' TO DOWNLOAD_FIELDNAMES-FIELD.
APPEND DOWNLOAD_FIELDNAMES.
MOVE 'VBELN (faktliste)' TO DOWNLOAD_FIELDNAMES-FIELD.
APPEND DOWNLOAD_FIELDNAMES.
MOVE 'KUNRG (faktura)' TO DOWNLOAD_FIELDNAMES-FIELD.
APPEND DOWNLOAD_FIELDNAMES.
MOVE 'VBELN (faktura)' TO DOWNLOAD_FIELDNAMES-FIELD.
APPEND DOWNLOAD_FIELDNAMES.
MOVE 'Dublet indikator' TO DOWNLOAD_FIELDNAMES-FIELD.
APPEND DOWNLOAD_FIELDNAMES.
CALL FUNCTION 'EXCEL_OLE_STANDARD_DAT'
EXPORTING
FILE_NAME = P_FILEN
DATA_SHEET_NAME = 'Ark1' "text-002
PIVOT_SHEET_NAME = 'PIVOT' "text-003
TABLES
PIVOT_FIELD_TAB = DLPIVOT
DATA_TAB = GI_UNIX_DATA
FIELDNAMES = DOWNLOAD_FIELDNAMES
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.
CASE SY-SUBRC.
WHEN 0.
WHEN 8.
MESSAGE I173(PN) RAISING DOWNLOAD_PROBLEM.
WHEN OTHERS.
MESSAGE I170(PN) WITH TEXT-404.
ENDCASE.
ENDFORM. " DOWNLOAD_TIL_EXCEL
&----
*& Form VIS_PRINT
&----
FORM VIS_PRINT.
LOOP AT GI_UNIX_DATA.
WRITE: / GI_UNIX_DATA-SRECNO,
GI_UNIX_DATA-MODTAGER,
GI_UNIX_DATA-FAKTLISTNO,
GI_UNIX_DATA-FAKTURANO,
GI_UNIX_DATA-KUNRG_FL,
GI_UNIX_DATA-VBELN_FL,
GI_UNIX_DATA-KUNRG_FA,
GI_UNIX_DATA-VBELN_FA,
GI_UNIX_DATA-DUBLET.
ENDLOOP.
ENDFORM. " VIS_PRINT
Regards,
Anji
03-12-2007 11:00 AM
What is ur OS ???
Check u gave the file name as <b>'C:/santosh'</b>
but it has to be <b>'C:\santosh.xls'.</b>
<b>check this code !! its working fine with me...</b>
data t_spfli type standard table of spfli with header line.
select *
from spfli client specified
into table t_spfli
where mandt eq '800'.
call function 'EXCEL_OLE_STANDARD_DAT'
exporting
file_name = 'D:\sai.xls'
TABLES
DATA_TAB = t_spfli
.
if sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
reward if it helps u...
sai ramesh
03-12-2007 11:11 AM
Hi,
here a short exampls that works.
TABLES: BKPF.
*
DATA: BEGIN OF ITAB OCCURS 0,
BUKRS LIKE BKPF-BUKRS,
GJAHR LIKE BKPF-GJAHR,
END OF ITAB.
*
DATA: BEGIN OF ITAB_FIELD OCCURS 0,
TXT(10),
TXT1(10),
END OF ITAB_FIELD.
*
SELECT BUKRS GJAHR FROM BKPF INTO TABLE ITAB UP TO 100 ROWS.
*
ITAB_FIELD-TXT = 'Bukrs'. APPEND ITAB_FIELD.
ITAB_FIELD-TXT = 'Gjahr'. APPEND ITAB_FIELD.
*
CALL FUNCTION 'EXCEL_OLE_STANDARD_DAT'
EXPORTING
FILE_NAME = 'C:\TEST'
TABLES
DATA_TAB = ITAB
FIELDNAMES = ITAB_FIELD
EXCEPTIONS
FILE_NOT_EXIST = 1
FILENAME_EXPECTED = 2
COMMUNICATION_ERROR = 3
OLE_OBJECT_METHOD_ERROR = 4
OLE_OBJECT_PROPERTY_ERROR = 5
INVALID_PIVOT_FIELDS = 6
DOWNLOAD_PROBLEM = 7
OTHERS = 8.
*
IF SY-SUBRC <> 0.
WRITE: / SY-SUBRC.
ENDIF.
*
Regards, Dieter
03-12-2007 11:24 AM
THANX FOR U R INSTANT REPLIES.
THIS IS MY CODE CAN U TELL ME WHAT IS THE ERROR.
IAM USING ECC 6.0
&----
Program ZSAN_ACCDOC
Author Santosh
Date OF creation : 08th march 2007
Date Of Modification
Changes
Change Request No CL3K900149
Package ZSANTOSH
&----
REPORT zsan_accdoc NO STANDARD PAGE HEADING LINE-SIZE 143.
----
TABLE DECLARATION
----
TABLES: bseg.
----
INTERNAL TABLE DECLARATION
----
DATA: BEGIN OF tab_gl OCCURS 0,
bukrs LIKE bseg-bukrs, "Company code
gjahr LIKE bseg-gjahr, "Fiscal Year
belnr LIKE bseg-belnr, "Accounting Document Number
buzei LIKE bseg-buzei, "Number of Line Item Within Accounting Document
koart LIKE bseg-koart, "Account Type
shkzg LIKE bseg-shkzg, "Debit/Credit Indicator
gsber LIKE bseg-gsber, "Business Area
dmbtr LIKE bseg-dmbtr, "Amount in Local Currency
kostl LIKE bseg-kostl, "Cost Center
saknr LIKE bseg-saknr, "G/L Account Number
hkont LIKE bseg-hkont, "General Ledger Account
zlsch LIKE bseg-zlsch, "Payment Method
END OF tab_gl.
----
START OF SELECTION options
----
SELECT-OPTIONS: acc FOR bseg-belnr.
----
START OF SELECTION
----
START-OF-SELECTION.
SELECT bukrs
gjahr
belnr
buzei
koart
shkzg
gsber
dmbtr
kostl
saknr
hkont
zlsch
FROM bseg INTO TABLE tab_gl
WHERE belnr IN acc.
----
END OF SELECTION
----
LOOP AT tab_gl.
IF tab_gl-zlsch = ''.
tab_gl-zlsch = '*****'.
MODIFY tab_gl.
ENDIF.
IF tab_gl-kostl = ''.
tab_gl-kostl = '*******'.
MODIFY tab_gl.
ENDIF.
IF tab_gl-gsber = ''.
tab_gl-gsber = '*******'.
MODIFY tab_gl.
ENDIF.
IF tab_gl-saknr = ''.
tab_gl-saknr = '*******'.
MODIFY tab_gl.
ENDIF.
ENDLOOP.
sort tab_gl by belnr bukrs gjahr .
LOOP AT tab_gl.
write: sy-uline.
at new gjahr.
perform header.
endat.
FORMAT COLOR OFF.
WRITE:/ sy-vline, tab_gl-belnr COLOR 1, sy-vline,
(10) tab_gl-buzei, sy-vline,
(10) tab_gl-koart, sy-vline,
(10) tab_gl-shkzg, sy-vline,
(11) tab_gl-gsber, sy-vline,
(16) tab_gl-dmbtr, sy-vline,
(12) tab_gl-kostl, sy-vline,
(11) tab_gl-saknr, sy-vline,
(11) tab_gl-hkont, sy-vline,
(11) tab_gl-zlsch, sy-vline.
ENDLOOP.
---------------------------------------------------------------------
FOR DOWNLOADING TO EXCEL
----
SET PF-STATUS 'ZEXCEL'.
AT USER-COMMAND.
CASE sy-ucomm.
WHEN 'DOWN'.
CALL FUNCTION 'EXCEL_OLE_STANDARD_DAT'
EXPORTING
file_name = 'C:/SANTOSH'
TABLES
data_tab = tab_gl[].
ENDCASE.
----
TOP OF PAGE
----
TOP-OF-PAGE.
form header.
FORMAT COLOR 6 INVERSE ON.
skip 2.
FORMAT COLOR 6 INVERSE OFF.
FORMAT COLOR 4 INVERSE ON.
WRITE:/ 'COMPANY CODE:', tab_gl-bukrs,
88 'FISCAL YEAR:', tab_gl-gjahr.
FORMAT COLOR 4 INVERSE OFF.
ULINE.
WRITE: sy-vline, 'DOC NUM ', sy-vline,
'LINE ITEMS', sy-vline,
'ACC TYPE ', sy-vline,
'DT/CR INDI', sy-vline,
'BUSS AREA ', sy-vline,
'AMOUNT LOCAL CUR', sy-vline,
'COST CENTER ', sy-vline,
'G/L ACC NO ', sy-vline,
'G/L Account', sy-vline,
'PAY METHOD ', sy-vline.
ULINE.
endform.
EVEN I TRIED WITH SMALL PROGRAM , IT IS WORKING FINE.
THIS IS IT.
&----
*& Report ZKNA1SAN
*&
&----
*&
*&
&----
REPORT ZKNA1SAN.
DATA: BEGIN OF TAB_KNA1 OCCURS 0,
KUNNR LIKE KNA1-KUNNR,
NAME1 LIKE KNA1-NAME1,
END OF TAB_KNA1.
DATA: BEGIN OF TAB_HEADER OCCURS 0,
HEAD(20) TYPE C,
END OF TAB_HEADER.
TAB_HEADER-HEAD = 'CUST NUM'.
append tab_header.
TAB_HEADER-HEAD = 'NAME'.
APPEND TAB_HEADER.
START-OF-SELECTION.
SELECT KUNNR NAME1 FROM KNA1 INTO TABLE TAB_KNA1.
end-of-selection.
loop at tab_kna1.
write:/ tab_kna1-kunnr,
tab_kna1-name1.
endloop.
TOP-OF-PAGE.
loop at tab_header.
WRITE: tab_header.
endloop.
set pf-status 'ZEXCEL'.
AT USER-COMMAND.
CASE SY-UCOMM.
WHEN 'DOWN'.
CALL FUNCTION 'EXCEL_OLE_STANDARD_DAT'
EXPORTING
file_name = 'C:\SAN.XLS'
CREATE_PIVOT = 0
DATA_SHEET_NAME = ' '
PIVOT_SHEET_NAME = ' '
PASSWORD = ' '
PASSWORD_OPTION = 0
TABLES
PIVOT_FIELD_TAB =
DATA_TAB = TAB_KNA1[]
FIELDNAMES = TAB_HEADER[]
EXCEPTIONS
FILE_NOT_EXIST = 1
FILENAME_EXPECTED = 2
COMMUNICATION_ERROR = 3
OLE_OBJECT_METHOD_ERROR = 4
OLE_OBJECT_PROPERTY_ERROR = 5
INVALID_PIVOT_FIELDS = 6
DOWNLOAD_PROBLEM = 7
OTHERS = 8
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDCASE.
WHERE IAM WRONG
03-12-2007 11:37 AM
Hi,
try this.using gui_download..
with WRITE_FIELD_SEPARATOR = 'X'
option...you will get desired output..
REPORT YH642_EXCEL.
TABLES SPFLI.
DATA:
T_SPFLI LIKE STANDARD TABLE OF SPFLI.
SELECT * FROM SPFLI INTO TABLE T_SPFLI.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
BIN_FILESIZE =
FILENAME = 'C:\MOHAN\FILE.XLS'
FILETYPE = 'ASC'
APPEND = ' '
WRITE_FIELD_SEPARATOR = 'X'
HEADER = '00'
TRUNC_TRAILING_BLANKS = ' '
WRITE_LF = 'X'
COL_SELECT = ' '
COL_SELECT_MASK = ' '
DAT_MODE = ' '
CONFIRM_OVERWRITE = ' '
NO_AUTH_CHECK = ' '
CODEPAGE = ' '
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
WRITE_BOM = ' '
TRUNC_TRAILING_BLANKS_EOL = 'X'
WK1_N_FORMAT = ' '
WK1_N_SIZE = ' '
WK1_T_FORMAT = ' '
WK1_T_SIZE = ' '
IMPORTING
FILELENGTH =
TABLES
DATA_TAB = T_SPFLI
FIELDNAMES =
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.
ram.
03-12-2007 11:40 AM
03-12-2007 4:13 PM
Now i used gui_download function module 2 times.
first time for heading and second time for contents with append = 'X'.
getting data with heading and contents.
but actual out put is like this
comany code : 1000__________________fiscal year :2006
______________________________________________
doc num_____gl account______payment medthod
42342________3423443___________C
312321________432432___________C
______________________________________________
comany code : 2000__________________fiscal year :2006
_______________________________________________
doc num_____gl account______payment medthod
_____________________________________________
4232________3443443___________C
312________43222______________C
_________________________________________________
it is control break report.
is there any possibilites to get this format as it is in the excel sheet