MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Funcion q coja fichero del servidor y lo devuelva en itab (foro/showthread.php?t=4540)

Vero2007 22/03/07 17:00:47

Funcion q coja fichero del servidor y lo devuelva en itab
 
Hola, necesito saber si alguien conoce alguna funcion que coja un fichero del servidor (no de local) y lo vuelque todo su contenido en una tabla interna.

CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = l_direccion
TABLES
DATA_TAB = i_fileIn .

Esta funcion vale pero solo para ficheros que estan en local, pero en el servidor.

Si alquien lo sabe por favor que me lo diga, lo necesito.

DCErick 22/03/07 18:31:29

Trata con Open DataSet

DCErick 23/03/07 16:03:50

Esta funcion funciona en fondo, implementa el uso de Open Data Set,


EPS_GET_DIRECTORY_LISTING

Claudia Valdespino 28/03/07 21:09:37

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 :D

DCErick 29/03/07 00:28:04

Creo que es mejor usar la funcion EPS_GET_DIRECTORY_LISTING,
Si ya esta hecho por sap, no veo por que escribir una funcion para hacerlo.

El codigo que pone Claudia es un estracto de la funcion de SAP, agregandole un poco mas de funcionalidad para poner la ruta completa a los nombres de archivo encontrados.

Solo como punto de vista.

poketina 16/07/07 12:26:03

Hola !! se puede usar el open dataset para un fichero que cojo de local ?? necesito subir un fichero de texto a una tabla interna y puede q esté en local o puede q esté en el servidor..
gracias !!!:)


Husos Horarios son GMT. La hora en este momento es 01:47:33.

www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web