✒️ABAP Los archivos locales y el upload de datos
ABAP Los archivos locales y el upload de datos
TRATAMIENTO DE ARCHIVOS LOCALES
Frecuentemente es necesario importar/exportar información desde/hacia un archivo localizado en una PC.
ABAP proporciona los métodos GUI_DOWNLOAD y GUI_UPLOAP para el tratamiento de archivos locales mediante la clase CL_GUI_FRONTEND_SERVICES.
Para visualizar todos los métodos disponibles en la clase, se edita un programa ABAP y se presiona el botón Pattern o Patrones.
GUI_DOWNLOAD
Se utiliza para grabar datos en archivos locales. Esta función carga el contenido de una tabla interna a un archivo plano en la PC. Los parámetros más importantes son:
- FILENAME: Debe ser de tipo string y determina el nombre del dataset.
- FILETYPE: Determina el tipo de archivo. Los tipos de archivo admitidos son: BIN (para archivos bibarios-zip), ASC (para archivos ASCII), DAT (para archivos excel), WK1(para archivos excel y lotus).
- WRITE_FIELD_SEPARATOR: Permite indicar si es un archivo topo PNR.
- HAS_FIELD_SEPARATOR: indica que el archivo local tiene separadores.
- DATA_TAB: Indica cual es la tabla interna.
Podemos generar la estructura de la llamada del método a través del botón de la barra de herramientas "Modelo". Para ello presionamos el botón y seleccionamos la opción "Patrón para objetos ABAP".
En la siguiente ventana de diálogo, a la derecha del texto "Clase/Interace" introducimos el nombre de la clase "CL_GUI_FRONTEND_SERVICES" y en el campo "Método" escribimos "GUI_DOWNLOAD" y se generará el patrón para el método:
Para lograr la "carga" se deben seguir los siguientes pasos:
- Declaración de tipos y variables.
- Carga de los datos a transferir de la tabla.
- Invocación al método GUI_DOWNLOAD. -> CALL METHOD cl_gui_frontend_services=>gui_download
Una vez ejecutado dicho método, se habrá grabado el archivo en la ruta especificada en el parámetro c_path.
GUI_UPLOAD
Se utiliza para levantar el contenido de un archivo local, es decir un archivo ubicado en la PC, a una tabla interna de modo de tenerlo disponible en memoria para poder ser procesado.
Para efectuar el "upload" se debe utilizar el método GUI_UPLOAD de la clase y los pasos a seguir son similares a los descritos en el método GUI_DOWNLOAD.
FILE_OPEN_DIALOG
Se utiliza para la búsqueda de archivos en el directorio de la PC. Los pasos a seguir son los siguientes:
1. Declaración de la pantalla de selección.
PARAMETERS: p_file TYPE file_name.
2. Evento ON VALUE-REQUEST sobre el parameter en el que se especifica la ruta del archivo.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file
DATA: v_usr_action TYPE i,
v_path TYPE string, "Directorio del archivo"
v_fullpath TYPE string, "Ruta del archivo completa"
v_filename TYPE string, "Nombre del archivo"
CALL METHOD cl_gui_frontend_services=>file_save_dialog
EXPORTING ...
CHANGING ...
EXCEPTIONS...
IF xxxx IS INITIAL
...
ENDIF.
CALL METHOD cl_gui_frontend_services=>file_save_dialog
Muestra un popup donde se puede seleccionar dónde guardar un fichero.
cl_gui_frontend_services=>directory_browse
Recupera la lista de ficheros dentro de un directorio.
cl_gui_frontend_services=>get_computer_name
Recupera el nombre del PC en SAP.
cl_gui_frontend_services=>clipboard_export
Exporta el contenido de una tabla interna al portapapeles.
Para tener en cuenta: la clase CL_GUI_FRONTEND_SERVICES puede accederse a través de la Transacción SE24 (Class Builder).
 
 
 
Sobre el autor
Publicación académica de Sergio Armando Beltran Castaneda, en su ámbito de estudios para la Carrera Consultor ABAP.
Sergio Armando Beltran Castaneda
Profesión: Ingeniero de Sistemas con Especialización en Gerencia de Proyectos - Colombia - Legajo: WK55K
✒️Autor de: 70 Publicaciones Académicas
🎓Cursando Actualmente: Consultor ABAP Nivel Avanzado
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
Presentación:
Soy ingeniero de sistemas desde hace mas de 10 años y quiero enfocarme en el mundo sap, iniciando en el lenguaje abap, con miras a ampliar mi conocimiento profesional y laboral.
Certificación Académica de Sergio Beltran