‎2007 Apr 17 1:31 PM
Hallow
here in my code I read file from server and its working well
Now I wont write the file in itab to different place in server (ex. 😧
program
2)
How I do that?
regards
OPEN DATASET file_ser IN TEXT MODE
ENCODING DEFAULT FOR INPUT.
IF sy-subrc NE 0.
no_file = 'X'.
ELSE.
DO.
READ DATASET file_ser INTO irec.
IF sy-subrc NE 0.
EXIT.
ENDIF.
APPEND irec TO itab.
ENDDO.
ENDIF.
CLOSE DATASET file_ser.
‎2007 Apr 17 1:38 PM
This example, shows both, it reads in a file from the application server, and then writes the contents to another file name on the application server. So in reality it is a "Copying" program, you can change the file paths to what ever you want.
report zrich_0001.
Parameters: d1 type localfile default '/usr/sap/TST/SYS/Data1.txt',
d2 type localfile default '/usr/sap/TST/SYS/Data2.txt'.
data: itab type table of string.
data: wa type string.
start-of-selection.
* Read file
open dataset d1 for input in text mode.
if sy-subrc = 0.
do.
read dataset d1 into wa.
if sy-subrc <> 0.
exit.
endif.
append wa to itab.
enddo.
endif.
close dataset d1.
* Copy to new file
open dataset d2 for output in text mode.
loop at itab into wa.
transfer wa to d2.
endloop.
close dataset d2.
Regards,
Rich Heilman
‎2007 Apr 17 1:33 PM
Hi antonio,
1. This kind of logic.
2. OPEN DATA 'xyz' for INPUT
loop at itab.
TRANSFER ITAB to 'xyz'.
ENDLOOP.
close dataset.
regards,
amit m.
‎2007 Apr 17 1:36 PM
hi,
try the following example
DATA file TYPE string VALUE `/usr/test.Z`.
OPEN DATASET file FOR OUTPUT IN BINARY MODE
FILTER 'compress'.
...
CLOSE DATASET file.
regards,
Navneeth.K
‎2007 Apr 17 1:37 PM
‎2007 Apr 17 1:37 PM
Hi,
Try the following code n let me know.
*"Table declarations...................................................
tables: kna1.
*"Selection screen elements............................................
select-options: s_kunnr for kna1-kunnr. " Customer Number 1
"----
Type declaration of the structure to hold Customer master *
"----
data:
begin of fs_kna1,
kunnr type kna1-kunnr, " Customer Number 1
adrnr type kna1-adrnr, " Address
anred type kna1-anred, " Title
erdat type kna1-erdat, " Date on which Record Was reated
ernam type kna1-ernam, " Name of Person who Created
end of fs_kna1.
"----
Internal table to hold Customer master *
"----
data:
t_kna1 like standard table
of fs_kna1.
"----
Type declaration of the structure to hold file data *
"----
data:
begin of fs_table,
str type string,
end of fs_table.
"----
Internal table to hold file data *
"----
data:
t_table like standard table
of fs_table.
field-symbols: <fs>.
*" Data declarations...................................................
"----
Work variables *
"----
data:
w_char(50) type c.
select kunnr " Customer Number 1
adrnr " Address
anred " Title
erdat " Date on which Record Was reated
ernam " Name of Person who Created
from kna1
into table t_kna1
where kunnr in s_kunnr.
if sy-subrc eq 0.
loop at t_kna1 into fs_kna1.
do.
assign component sy-index of structure fs_kna1 to <fs>.
if sy-subrc ne 0.
exit.
else.
move <fs> to w_char.
if sy-index eq 1.
fs_table-str = <fs>.
else.
concatenate fs_table-str ',' w_char into fs_table-str.
endif. " IF SY-INDEX...
endif. " IF SY-SUBRC...
enddo. " DO...
append fs_table to t_table.
endloop. " LOOP AT T_KNA1...
endif. " IF SY-SUBRC...
call function 'GUI_DOWNLOAD'
exporting
BIN_FILESIZE =
filename = 'C:\Assign\kna1'
FILETYPE = 'ASC'
APPEND = ' '
WRITE_FIELD_SEPARATOR = ' '
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_table
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.
endif.
regards,
kiran kumar k
‎2007 Apr 17 1:38 PM
This example, shows both, it reads in a file from the application server, and then writes the contents to another file name on the application server. So in reality it is a "Copying" program, you can change the file paths to what ever you want.
report zrich_0001.
Parameters: d1 type localfile default '/usr/sap/TST/SYS/Data1.txt',
d2 type localfile default '/usr/sap/TST/SYS/Data2.txt'.
data: itab type table of string.
data: wa type string.
start-of-selection.
* Read file
open dataset d1 for input in text mode.
if sy-subrc = 0.
do.
read dataset d1 into wa.
if sy-subrc <> 0.
exit.
endif.
append wa to itab.
enddo.
endif.
close dataset d1.
* Copy to new file
open dataset d2 for output in text mode.
loop at itab into wa.
transfer wa to d2.
endloop.
close dataset d2.
Regards,
Rich Heilman
‎2007 Apr 17 1:42 PM
Hi,
peudocode:
1st create a internal table (itab_path) which will have all the file path store in it.
LOOP at itab_path into wa_path
CONCATENATE wa_path c_slash l_filename INTO v_fpath.
OPEN DATASET v_fpath FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
IF sy-subrc EQ 0.
LOOP AT itab INTO wa_itab.
CONCATENATE wa_itab-field1
wa_itab-field2
wa_itab-field3
INTO l_file
SEPARATED BY
c_tab.
TRANSFER l_file TO v_fpath.
ENDLOOP.
ENDIF.
CLOSE DATASET v_fpath.
ENDLOOP.
Reward is useful,
Regards,
Tanmay