‎2007 Jun 12 2:57 PM
Hi,
Is there any program that writes internal table data into excel file on the app server ? PLease let me know..
Thanks.
Uma
‎2007 Jun 12 3:05 PM
Use FM to save the data in Application server
SAP_CONVERT_TO_XLS_FORMAT
‎2007 Jun 12 3:05 PM
Use FM to save the data in Application server
SAP_CONVERT_TO_XLS_FORMAT
‎2007 Jun 12 5:23 PM
Will the function module 'SAP_CONVERT_TO_XLS_FORMAT' write an excel file in the application server?
Thanks..
Uma
‎2007 Jun 12 5:30 PM
It will not, only will convert it to excel format, but you don't need to do that either. You can simply create a comma delimited file on the app server, this .csv file will be opened by excel with no problems, here is an example.
report zrich_0001.
parameters: d1 type localfile default '/usr/sap/TST/SYS/Test.csv'.
data: begin of itab occurs 0,
field1(20) type c,
field2(20) type c,
field3(20) type c,
end of itab.
data: str type string.
start-of-selection.
itab-field1 = 'ABC'.
itab-field2 = 'DEF'.
itab-field3 = 'GHI'.
append itab.
itab-field1 = '123'.
itab-field2 = '456'.
itab-field3 = '789'.
append itab.
open dataset d1 for output in text mode.
loop at itab.
concatenate itab-field1 itab-field2 itab-field2 into str
separated by ','.
transfer str to d1.
endloop.
close dataset d1.
Regards,
Rich Heilman
‎2007 Jun 12 5:32 PM
I just found one function module which will download xl file to unix server.
See the FM in Include : LC13ZF01
FM Names :
IF I_FTFTYPE = LC_FILEFORMAT_ASCII.
CALL FUNCTION 'C13Z_FILE_DOWNLOAD_ASCII'
EXPORTING
I_FILE_FRONT_END = I_FTFRONT
I_FILE_APPL = I_FTAPPL
I_FILE_OVERWRITE = I_FLG_OVERWRITE
IMPORTING
E_FLG_OPEN_ERROR = L_FLG_OPEN_ERROR
E_OS_MESSAGE = L_OS_MESSAGE
EXCEPTIONS
FE_FILE_OPEN_ERROR = 1
FE_FILE_EXISTS = 2
FE_FILE_WRITE_ERROR = 3
AP_NO_AUTHORITY = 4
AP_FILE_OPEN_ERROR = 5
AP_FILE_EMPTY = 6
OTHERS = 7.
ELSE.
CALL FUNCTION 'C13Z_FILE_DOWNLOAD_BINARY'
EXPORTING
I_FILE_FRONT_END = I_FTFRONT
I_FILE_APPL = I_FTAPPL
I_FILE_OVERWRITE = I_FLG_OVERWRITE
IMPORTING
E_FLG_OPEN_ERROR = L_FLG_OPEN_ERROR
E_OS_MESSAGE = L_OS_MESSAGE
EXCEPTIONS
FE_FILE_OPEN_ERROR = 1
FE_FILE_EXISTS = 2
FE_FILE_WRITE_ERROR = 3
AP_NO_AUTHORITY = 4
AP_FILE_OPEN_ERROR = 5
AP_FILE_EMPTY = 6
OTHERS = 7.
ENDIF.
‎2007 Jun 12 3:06 PM
Hello,
Check this:
FORM DOWNLOAD_FILE.
DATA: LT_TAB TYPE TABLE OF STRING.
DATA: LR_TAB TYPE STRING,
L_F_NETPR_VE(21) TYPE C,
L_F_NETPR_UM(21) TYPE C,
L_F_ERDAT_VE(10),
L_F_ERDAT_UM(10),
L_F_PLAN(21) TYPE C,
L_F_IST(21) TYPE C,
L_F_OBLIGO(21) TYPE C,
L_F_WIP(21) TYPE C,
LV_FILE TYPE STRING,
L_F_COUNT TYPE I,
L_F_DATUM(10).
CLEAR: LT_TAB,LR_TAB.
REFRESH: LT_TAB.
CONCATENATE TEXT-U01 TEXT-U02 TEXT-U03 TEXT-U04 TEXT-U05
TEXT-U07 TEXT-U08 TEXT-U09 TEXT-U10 TEXT-U11 TEXT-U12
TEXT-U14 TEXT-U17 TEXT-U15 TEXT-U16 TEXT-U21 TEXT-U18
TEXT-U19 TEXT-U20 INTO LR_TAB
SEPARATED BY CON_TAB.
APPEND LR_TAB TO LT_TAB.
LOOP AT G_T_OUTTAB.
CLEAR: L_F_NETPR_VE,L_F_NETPR_UM, L_F_ERDAT_VE, L_F_ERDAT_UM,
L_F_PLAN,L_F_IST,L_F_OBLIGO.
WRITE: G_T_OUTTAB-NETPR_VE TO L_F_NETPR_VE,
G_T_OUTTAB-NETPR_UM TO L_F_NETPR_UM,
G_T_OUTTAB-ERDAT_VE TO L_F_ERDAT_VE,
G_T_OUTTAB-ERDAT_UM TO L_F_ERDAT_UM,
G_T_OUTTAB-PLAN TO L_F_PLAN,
G_T_OUTTAB-IST TO L_F_IST,
G_T_OUTTAB-OBLIGO TO L_F_OBLIGO,
G_T_OUTTAB-WIP TO L_F_WIP,
SY-DATUM TO L_F_DATUM.
CONCATENATE G_T_OUTTAB-PRATX G_T_OUTTAB-POSID G_T_OUTTAB-POST1
G_T_OUTTAB-WWGBE G_T_OUTTAB-WWGFE G_T_OUTTAB-VERNA
G_T_OUTTAB-STTXT_INT G_T_OUTTAB-STTXT_EXT
L_F_NETPR_VE L_F_ERDAT_VE L_F_NETPR_UM L_F_ERDAT_UM
L_F_PLAN L_F_IST L_F_OBLIGO L_F_WIP G_T_OUTTAB-VBELN_VE
G_T_OUTTAB-VBELN_UM L_F_DATUM
INTO LR_TAB SEPARATED BY CON_TAB.
APPEND LR_TAB TO LT_TAB.
ENDLOOP.
IF PC = 'X'.
LV_FILE = FILENAME.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
FILENAME = LV_FILE
FILETYPE = 'ASC'
TABLES
DATA_TAB = LT_TAB
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.
LEAVE PROGRAM.
ELSE.
DESCRIBE TABLE LT_TAB LINES L_F_COUNT.
SUBTRACT 1 FROM L_F_COUNT.
MESSAGE I145 WITH L_F_COUNT FILENAME.
ENDIF.
ELSEIF AP = 'X'.
OPEN DATASET FILENAME FOR OUTPUT IN TEXT MODE.
IF SY-SUBRC NE 0.
MESSAGE S041(S9) WITH FILENAME.
EXIT.
ENDIF.
LOOP AT LT_TAB INTO LR_TAB.
TRANSFER LR_TAB TO FILENAME.
ENDLOOP.
IF SY-SUBRC = 0.
CLOSE DATASET FILENAME.
DESCRIBE TABLE LT_TAB LINES L_F_COUNT.
SUBTRACT 1 FROM L_F_COUNT.
MESSAGE I145 WITH L_F_COUNT FILENAME.
ENDIF.
ENDIF.
ENDFORM. " DOWNLOAD_FILE
Regards,
Vasanth
‎2007 Jun 12 3:11 PM
hi,
once u try with this FM <b>KCD_EXCEL_OLE_TO_INT_CONVERT</b>
has a restriction of field width not greater than 32 characters.
regards,
Ashokreddy