MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 22/03/07, 17:00:47
Vero2007 Vero2007 is offline
Member
 
Fecha de Ingreso: mar 2007
Mensajes: 38
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.
Responder Con Cita
  #2  
Viejo 22/03/07, 18:31:29
Avatar de DCErick
DCErick DCErick is offline
Moderator
 
Fecha de Ingreso: mar 2006
Localización: Monterrey
Mensajes: 1,090
Trata con Open DataSet
__________________
-------------------
¿Dudas para descargar manuales? Ver este tema ->
Responder Con Cita
  #3  
Viejo 23/03/07, 16:03:50
Avatar de DCErick
DCErick DCErick is offline
Moderator
 
Fecha de Ingreso: mar 2006
Localización: Monterrey
Mensajes: 1,090
Esta funcion funciona en fondo, implementa el uso de Open Data Set,


EPS_GET_DIRECTORY_LISTING
__________________
-------------------
¿Dudas para descargar manuales? Ver este tema ->

Úlima edición por DCErick fecha: 29/03/07 a las 00:22:13.
Responder Con Cita
  #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
  #5  
Viejo 29/03/07, 00:28:04
Avatar de DCErick
DCErick DCErick is offline
Moderator
 
Fecha de Ingreso: mar 2006
Localización: Monterrey
Mensajes: 1,090
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.
__________________
-------------------
¿Dudas para descargar manuales? Ver este tema ->
Responder Con Cita
  #6  
Viejo 16/07/07, 12:26:03
poketina poketina is offline
Senior Member
 
Fecha de Ingreso: jul 2006
Mensajes: 105
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 !!!
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 23:52:44.


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