✒️ABAP Los archivos locales y el download de datos
ABAP Los archivos locales y el download de datos
1. Grabación de datos en archivos locales.
Para grabar datos existentes en las tablas internas de nuestros programas a archivos ubicados en la PC, utilizaremos el método GUI_DOWNLOAD de la clase CL_GUI_FRONTEND_SERVICES. Ejemplo
DATA: vl_file TYPE string.
IF p_path IS INITIAL.
MESSAGE s000(z_prueba) WITH text-003.
ELSE.
vl_file = p_path. * Se abre el archivo de entrada para lectura
CALL METHOD cl_gui_frontend_services=>gui_upload
EXPORTING
filename = vl_file
filetype = 'ASC'
has_field_separator = ''
CHANGING
data_tab = ti_archivo[]
EXCEPTIONS
file_open_error = 1
file_read_error = 2
no_batch = 3
gui_refuse_filetransfer = 4
invalid_type = 5
no_authority = 6
unknown_error = 7
bad_data_format = 8
header_not_allowed = 9
separator_not_allowed = 10
header_too_long = 11
unknown_dp_error = 12
access_denied = 13
dp_out_of_memory = 14
disk_full = 15
dp_timeout = 16
not_supported_by_gui = 17
error_no_gui = 18
OTHERS = 19.
IF sy-subrc NE 0.
MESSAGE e000(z_prueba) WITH text-004.
ENDIF.
IF ti_archivo[] IS INITIAL.
MESSAGE s000(z_prueba) WITH text-005.
ENDIF.
ENDIF.
Analicemos algunos parámetros del método:
- FILENAME: contiene el directorio y nombre del archivo a descargar a la PC.
- FILETYPE: contiene el tipo o extensión del archivo que descargamos a la PC
- BIN: para archivos binarios. Se debe especificar la longitud del archivo en el parámetro BIN_FILESIZE. La tabla interna que se utiliza debe tener un solo campo del tipo X.
- ASC: para archivos ASCII.
- DAT: para archivos Excel, las columnas son separadas utilizando Tabs. Las líneas son separadas con saltos de línea.
- WK1: para archivos Excel y de lotus.
- WRITE_FIELD_SEPARATOR: indica si se generara un separator de archivo o no y cuál será.
- DATA_TAB: es la tabla interna donde almacenaremos los datos del archivo local. Esta debe tener la misma estructura del archivo.
 
 
 
Sobre el autor
Publicación académica de Edward Henry Rosario Piezal, en su ámbito de estudios para la Carrera Consultor ABAP.
Edward Henry Rosario Piezal
Profesión: Ingeniero en Sistema - Republica Dominicana - Legajo: FM99R
✒️Autor de: 68 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Certificación Académica de Edward Rosario