✒️ABAP Los archivos locales y el upload de datos
ABAP Los archivos locales y el upload de datos
Tratamiento de archivos locales
Mediante la clase CL_GUI_FRONTEND_SERVICES que provee metodos utiles para el tratamiento de archivos.
Para viasualizar todos los metodos diponibles en la clase , editamos un programa ABAP y presionamos el boton Modelo (Pattern)
Aqui marcamos Patron p.objetos ABAP (ABAP objects patterns) y presionamos continuar
En la siguiente pantalla escribimos lo siguiente
(°) Metodo CALL
Clase/ Interface = CL_GUI_FRONTEND_SERVICES
Metodo : (Presionamos F4) (Veremos una pantalla con todos los metodos de la clase.)
Detalle de los metodos.
FILE_OPEN_DIALOG .- Muestra la pantalla de navegacion al usuario , para que pueda seleccionar el archivo del directorio de su PC
GUI_DOWNLOAD .- Descargar datos de los programas a archivos de la PC
GUI_UPLOAD .- Bajar datos de la PC a nuestro programas
**Otra forma de visualizar el contenido CL_GUI_FRONTEND_SERVICES es ingresando al CLASS BUILDER que es la transaccion SE24
Busqueda de archivo en la PC
Utilizaremos el metodo CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG
DATA: tl_filetable TYPE filetable,
stl_file_table TYPE file_table,
vl_rc TYPE i.
CALL METHOD cl_gui_frontend_services=>file_open_dialog
EXPORTING
default_filename = '*'
CHANGING
rc = vl_rc
file_table = tl_filetable.
READ TABLE tl_filetable INDEX 1 INTO stl_file_table.
IF sy-subrc EQ 0.
MOVE stl_file_table TO p_path.
ENDIF.
Analizamos los parametros del metodo =>file_open_dialog
WINDOW_TITLE .- Asigna un titulo a la ventana de busqueda.
DEFAULT_FILENAME .- Contiene el nombre del archivo que buscamos en nuestra PC, Si colocamos '*' podremos ver todos los archivos que se ven en el directorio
FILE_TABLE .- contiene la ruta y nombre del archivo seleccionado
***Recomendable la utilizacion de =>file_open_dialog , cuando se trabaja con archivos locales.
Lectura de datos de los archivos locales.
Utilizaremos CL_GUI_FRONTEND_SERVICES=>GUI_UPLOAD
* 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[] "requisito del metodo, es para cumplir un requisito de sintaxis
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.
* Error al levantar el archivo de entrada
MESSAGE e000(z_prueba) WITH text-004.
ENDIF.
Parametros :
FILENAME = Directorio y archivo local con el que estamos trabajando
FILETYPE = Extension del archivo.
BIN archivos binarios (JPG,PNG,GIF,MPG, MOV,AVI, DOC , ZIP) , ASC (HTML,.txt,.text), DAT (Para Excel , las columnas son separadas utilizando tabs, la lineas son separadas con salto de linea), WK1 (Para archivos excel y lotus)
**Si deseamos levantar un excel este debe tener la extencion .CSV
HAS_FIELD_SEPARATOR : Indica que el archivo local tiene separador
DATA_TAB : Es la tabla interna donde almacenamos los datos del archivo local.
WS_UPLOAD y UPLOAD son metodos obsoletos
 
 
 
Sobre el autor
Publicación académica de Fabian Samir Geldres Del Carpio, en su ámbito de estudios para la Carrera Consultor ABAP.
Fabian Samir Geldres Del Carpio
Profesión: Computación E Informatica - Peru - Legajo: XT66M
✒️Autor de: 51 Publicaciones Académicas
🎓Cursando Actualmente: Consultor Funcional Módulo PP
🎓Egresado del módulo:
Certificación Académica de Fabian Geldres