Ver Mensaje Individual
  #4  
Viejo 28/03/07, 21:09:37
Avatar de Claudia Valdespino
Claudia Valdespino Claudia Valdespino is offline
Member
 
Fecha de Ingreso: mar 2007
Localización: Lima - Perú
Mensajes: 54
Hola, para levantar un archivo del servidor puedes usar el siguiente código:

perform obtener_archivos_directorio using v_ruta
changing t_texto[].
*&---------------------------------------------------------------------*
*& Form obtener_archivos_directorio
*&---------------------------------------------------------------------*
* Se encarga de obtener la lista (nombres) de archivos que se
* encuentran en la ruta de archivo especificada
*----------------------------------------------------------------------*
form obtener_archivos_directorio using p_dirname type c
changing p_archivos like t_fichero[].

data: lw_searchpoints type ty_searchpoints,
errno(3) type c,
errmsg(40) type c,
name(75) type c,
w_archivo like t_fichero.

clear lw_searchpoints.

refresh p_archivos.
concatenate p_dirname '/' into lw_searchpoints-dirname.
lw_searchpoints-sp_name = '*'.

call 'C_DIR_READ_FINISH' " just to be sure
id 'ERRNO' field errno
id 'ERRMSG' field errmsg.
clear: errno, errmsg.

call 'C_DIR_READ_START' id 'DIR' field lw_searchpoints-dirname
id 'FILE' field lw_searchpoints-sp_name
id 'ERRNO' field errno
id 'ERRMSG' field errmsg.

if sy-subrc <> 0.
exit.
endif.

do.
call 'C_DIR_READ_NEXT'
id 'NAME' field name.

if sy-subrc = 0.
clear w_archivo.
w_archivo-texto = name.
append w_archivo to p_archivos.
else.
exit.
endif.
enddo.

close dataset lw_searchpoints-dirname.
endform. "obtener_archivos_directorio

* Recorre cada uno de los archivos cargados del servidor y almacena la data
loop at t_texto.
concatenate v_ruta_ori '/' t_texto-texto into w_arch.
perform procesar_archivo using w_arch
changing itab_ops[].
endloop.

*&---------------------------------------------------------------------*
*& Form procesar archivo
*&---------------------------------------------------------------------*
* Se encarga de leer un archivo de una ruta para procesarlo y
* obtener los datos que contiene para almacenarlo en una estructura
*----------------------------------------------------------------------*
form procesar_archivo using p_filename type c
changing p_fichero like t_fichero[].

data lw_fichero like t_fichero.

refresh p_fichero.

open dataset p_filename for input in text mode encoding default.

if sy-subrc = 0.
do.
read dataset p_filename into lw_fichero-texto.
if sy-subrc <> 0.
exit.
endif.
append lw_fichero to p_fichero.
enddo.

close dataset p_filename.
clear lw_fichero.
else.
message e666 with 'OPEN DATASET:' 'No se pudo abrir fichero' p_filename.
endif.
endform. "procesar_archivo


Luego, con un split pones la data en el campo respectivo de tu tabla interna. Espero que te sirva de ayuda
__________________
Saludos,

Claudia V.
Responder Con Cita