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.
__________________
SSE BeltSoft México
Your Business, our motivation ...
|