MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Buscar un txt en un directorio y grabarlo en una tabla (foro/showthread.php?t=46406)

minerva0112 03/11/11 14:31:41

Buscar un txt en un directorio y grabarlo en una tabla
 
Hola:

Favor me puede recomendar que funciones son las mas praticas pararealizar una busqueda de un archivo txt en un directorio y luego guardarlo en una tabla todo emn proceso de fondo gracias

beltsoft 04/11/11 01:47:48

Directorio
 
Hola minerva

Lo que quieres es extraer el contenido de un archivo TXT que se encuentra en un directorio por ejemplo /patito/archivo.txt y el contenido de este archivo guardarlo en una tabla interna y posteriormetecon estos datos guardarlos en una tabla ?

minerva0112 04/11/11 12:38:50



Exacto, creo que con un open data set puedo hacer parte de esto y luego seria de la tabla inerna a la tabla transparete

beltsoft 04/11/11 14:46:36

Subrutina transaccion c3gy
 
Hola

esta es la subrutina que yo uso para hacer este tipo de trabajos y es la misma que usa la transaccion C3GY para obtener archivos del servidor de aplicacion.

DATA:i_file_appl LIKE rcgfiletr-ftappl,
e_os_message TYPE c,
false TYPE boolean VALUE ' ',
l_file_empty TYPE boolean,
l_mode TYPE c,
l_data_tab(256) TYPE c OCCURS 100000 WITH HEADER LINE,
l_lines TYPE i,
true TYPE c VALUE 'X'.

CONSTANTS: lc_max_transfer_lines TYPE i VALUE 10000.

i_file_appl = p_arch. " esta es la ruta de donde debe de obtener el archivo

CONDENSE i_file_appl.

* open the file on the application server

OPEN DATASET i_file_appl FOR INPUT MESSAGE e_os_message
IN TEXT MODE ENCODING NON-UNICODE.
IF NOT sy-subrc IS INITIAL.
MESSAGE text-004 TYPE 'S' DISPLAY LIKE 'E'.
LEAVE LIST-PROCESSING.
ENDIF. " not sy-subrc is initial


* write packages to the front-end
l_file_empty = false.
l_mode = space. " at first we write into the file
WHILE l_file_empty = false.


* read all lines from application server file
CLEAR l_data_tab.
REFRESH l_data_tab.
l_lines = 0.
WHILE l_file_empty = false AND
l_lines < lc_max_transfer_lines.
READ DATASET i_file_appl INTO l_data_tab.
IF NOT sy-subrc IS INITIAL.
l_file_empty = true.
ELSE.
l_lines = l_lines + 1.
APPEND l_data_tab.
ENDIF.
ENDWHILE. " l_file_empty = false and

* check if data table is empty
READ TABLE l_data_tab INDEX 1. " tabla donde guarda los registros
ENDWHILE.

Todo se queda en la i_data_tab posteriormente mueve los datos a tu tabla interna.


Husos Horarios son GMT. La hora en este momento es 04:42:57.

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