Nota:
los archivos grabados con la sentencia OPEN DATASET , TRANSFER , no se visualizan bien en el programa Notepad de Windows
debido a que se aprecian todos los datos juntos como si fuera una sola línea,
pero si se abren con WordPad, Excel u otra herramienta estos datos se aprecian
bien organizados.
EJEMPLO GRABAR ARCHIVO A RUTA EN UN
SERVIDOR.
REPORT ZTMP_PRUEBA.
TYPES : BEGIN OF ST_DEMO,
REG_NO(10) TYPE C,
NAME(20) TYPE C,
ADDR(20) TYPE C,
END OF ST_DEMO.
DATA : WA_DEMO TYPE ST_DEMO,
IT_DEMO TYPE TABLE OF ST_DEMO,
L_FNAME TYPE STRING .
PARAMETERS: P_FNAME(128) TYPE C DEFAULT '/usr/sap/SRI/SYS/src/DOWN.TXT' OBLIGATORY.
L_FNAME = P_FNAME.
WA_DEMO-REG_NO = '100001'.
WA_DEMO-NAME = 'ANAND'.
WA_DEMO-ADDR = 'NAGARKOVIL'.
APPEND WA_DEMO TO IT_DEMO.
WA_DEMO-REG_NO = '100002'.
WA_DEMO-NAME = 'VIKRAM'.
WA_DEMO-ADDR = 'CHENNAI'.
APPEND WA_DEMO TO IT_DEMO.
OPEN DATASET L_FNAME FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
WRITE :5 'REG NUM',16 'NAME',37 'ADDRESS' .
LOOP AT IT_DEMO INTO WA_DEMO.
IF SY-SUBRC = 0.
TRANSFER WA_DEMO TO L_FNAME.
WRITE :/5 WA_DEMO-REG_NO,16 WA_DEMO-NAME,37 WA_DEMO-ADDR.
ENDIF.
ENDLOOP.
TYPES : BEGIN OF ST_DEMO,
REG_NO(10) TYPE C,
NAME(20) TYPE C,
ADDR(20) TYPE C,
END OF ST_DEMO.
DATA : WA_DEMO TYPE ST_DEMO,
IT_DEMO TYPE TABLE OF ST_DEMO,
L_FNAME TYPE STRING .
PARAMETERS: P_FNAME(128) TYPE C DEFAULT '/usr/sap/SRI/SYS/src/DOWN.TXT' OBLIGATORY.
L_FNAME = P_FNAME.
WA_DEMO-REG_NO = '100001'.
WA_DEMO-NAME = 'ANAND'.
WA_DEMO-ADDR = 'NAGARKOVIL'.
APPEND WA_DEMO TO IT_DEMO.
WA_DEMO-REG_NO = '100002'.
WA_DEMO-NAME = 'VIKRAM'.
WA_DEMO-ADDR = 'CHENNAI'.
APPEND WA_DEMO TO IT_DEMO.
OPEN DATASET L_FNAME FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
WRITE :5 'REG NUM',16 'NAME',37 'ADDRESS' .
LOOP AT IT_DEMO INTO WA_DEMO.
IF SY-SUBRC = 0.
TRANSFER WA_DEMO TO L_FNAME.
WRITE :/5 WA_DEMO-REG_NO,16 WA_DEMO-NAME,37 WA_DEMO-ADDR.
ENDIF.
ENDLOOP.
http://help.sap.com/saphelp_40b/helpdata/en/34/55cad198482bc0e10000009b38f91f/content.htm
http://help.sap.com/saphelp_40b/helpdata/en/34/8e73b06df74873e10000009b38f9b8/content.htm
EJEMPLO GRABAR ARCHIVO A RUTA EN UN
SERVIDOR.
REPORT ZTMP_PRUEBA2.
DATA: BEGIN OF t_itab OCCURS 0,
line(2500),
END OF t_itab.
DATA RUTA_ARC TYPE STRING.
RUTA_ARC = '/CVPL/PRUEBA.TXT'.
OPEN DATASET RUTA_ARC FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
LOOP AT t_itab.
TRANSFER t_itab TO RUTA_ARC.
ENDLOOP.
DATA: BEGIN OF t_itab OCCURS 0,
line(2500),
END OF t_itab.
DATA RUTA_ARC TYPE STRING.
RUTA_ARC = '/CVPL/PRUEBA.TXT'.
OPEN DATASET RUTA_ARC FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
LOOP AT t_itab.
TRANSFER t_itab TO RUTA_ARC.
ENDLOOP.
PARA
GRABAR ARCHIVOS A RUTAS de PCs CLIENTES
DATA RUTA_ARC TYPE STRING.RUTA_ARC = 'C:\TEMPORAL\PRUEBA.TXT'.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
* BIN_FILESIZE =
filename = RUTA_ARC
filetype = 'ASC'
trunc_trailing_blanks_eol = space
TABLES
data_tab = t_itab
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
.
EXPORTING
* BIN_FILESIZE =
filename = RUTA_ARC
filetype = 'ASC'
trunc_trailing_blanks_eol = space
TABLES
data_tab = t_itab
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
.
No hay comentarios:
Publicar un comentario