
1- Tratamiento de Archivos Locales
ABAP proporciona una serie de Métodos (como si fueran funciones) para el tratamiento de archivos locales ubicados en la PC mediante la clase CL_GUI_FRONTEND_SERVICES.
Para visualizaros se entra por el Editor ABAP y se presiona el botón Modelo. Luego se selecciona la opcíon Patrón p.objetos ABAP. En la ventana siguiente se escribe CL_GUI_FRONTEND_SERVICES en Clase/Interface y por último, en el renglón siguiente (Método) se presiona F4. Otra forma es a través de la Trx SE24..
FILE_OPEN_DIALOG: Para mostrar la pantalla de Navegación dentro de la PC para seleccionar el Archivo.
GUI_DOWNLOAD: Para descargar datos de los Programas a la PC.
GUI_UPLOAD: Para pasar datos de la PC a los Programas.
2- Búsqueda de Archivos en la PC
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 = '*' "Todos los archivos
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.
Parámetros más importantes:
WINDOW_TITLE: Asigna un Título a la Ventana de Búsqueda.
DEFAULT_FILENAME: Nombre del Archivo a Buscar. Con un asterisco se pueden ver todos.
FILE_TABLE: Contiene la Ruta al Archivo Seleccionado.
3- Lectura de Datos de los Archivos Locales
Se utiliza el Método CL_GUI_FRONTEND_SERVICES=>GUI_UPLOAD.
CALL METHOD cl_gui_frontend_services=>gui_upload
EXPORTING filename = vl_file filetype = 'ASC' has_field_separator = ' '
CHANGING data_tab = ti_archivo []
EXCEPTIONS
errores = 1 a 18
OTHERS = 19.
IF sy-subrc NE 0.
MESSAGE e000(z_prueba) WITH text-004.
ENDIF:
Parámetros más importantes:
FILENAME: Contiene el Directorio y el Nombre del Archivo Local.
FILETYPE: Contiene el Tipo o Extensión del Archivo Local. Puede ser BIN, ASC, DAT (excel espec.) y WK1(excel y lotus).
HAS_FIELD_SEPARATOR: Indica que el archivo local tiene Separadores..
DATA_TAB: Tabla Interna donde se almacenarán los datos del Archivo Local.