1| Tratamientos de archivos locales
ABAP nos proporciona una serie de metodos muy utiles para el traamiento de archivos locales mediante
la clase CL_FRONTEND_SERVICES.
Para visualizar todos los métodos disponibles en la clase, editamos un programa ABAP y presionamos el boton
Modelo (Pattern) y despues marcamos la opcion Patron p.objetos ABAP (ABAP Patterns) y presionamos continuar.
En la sig. pantalla escribimos lo sig.
Clase/Interface : CL_GUI_FRONTEND_SERVICES
y luego presionamos F4 en Método(Method) y veremos la sig pantalla con todo los metrodos de la clase
Veremos en detalle los sig. métodos:
- FILE_OPEN_DIALOG:Para mostrar la pantalla de navegacion que permita al usuario poder seleccionar el
archivo del directorio de su PC.
- GUI_DOWNLOAD: Para descargar datos de los programas a archivos en la PC.
- GUI_UPLOAD: Para bajar datos de los archivos en la PC a nuestros programas.
Otra forma de visualizar el contenido de las clase CL_GUI_FRONTEND_SERVICES es ingresando al Class
Builder que es la transaccion SE24.
2| Búsqueda de archivos en la PC
Para buscar archivos locales en el directorio de nuestra PC utilizamos el metodo FILE_OPEN_DIALOG.
Ej.
DATA: tl_filetable TYPE filetable,
stl_file_table TYPE file_table,
vl_rc TYPE i.
CALL METHOD cl_gui_frontend_services=>file_open_diaog
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.
Parametros mas importantes del Metodo:
- WINDOWS_TITLE: asigna un titulo a la ventana de busqueda.
- DEFAULT_T_FILENAME: contiene el nombre del archivo que buscamos en nuestra PC. Si colocamos * podemos
ver todos los archivos que se encuentran en el directorio.
- FILE_TABLE: contiene la ruta y el nombre del archivo seleccionado.
El metodo tambien tiene excepciones definidas, cada una de ellas tiene asociada una descripción que contempla
cada uno de los errores posibles que pueden ocurrir al ocupar dicho método.
Es recomendable la utilizacion del metodo en los programas ABAP que trabajan con archivos locales, ya que
facilita la interacción entre el usuario u el programa.
3| Lectura de datos de los archivos locales
Para leer datos de los archivos locales en las tablas internas de nuestros programas, utilizaremos el
método GUI_UPLOAD.
Los parámetros mas importantes del método :
-FILENAME: Contiene el directorio y nombre del archivo local con el que estamos trabajando.
-FILETYPE: Contiene el tipo o extensión del archivo local.
Los tipos de archivos admitidos son:
BIN: Para archivos binarios
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.
HAS_FIELD_SEPARATOR: Indica que el archivo local tiene separadores.
DATA_TAB: Es la tabla interna donde almacenaremos los datos del archivo local.
NOTA: En algunos programas ABAP se utilizan las funciones WS_UPLOAD y UPLOAD. No es recomendable la utilización
de estas funciones debido a que actualmente son considerados objetos obsoletos por SAP.