✒️ABAP Los archivos locales y el upload de datos
ABAP Los archivos locales y el upload de datos
Archivos locales: Upload de datos
1. Tratamiento de archivos locales
- Uso de clase CL_GUI_FRONTEND_SERVICES (Clase que contiene métodos para manejo de archivos)
- Clase: Objeto ABAP que se crea mediante trx SE24. Permite agrupar características, para luego ser asignadas a
grupos de liberación y definir datos del documento tomados en cuenta en elección de estrategia. (ABAP Avanzado)
- Método: Interface con parámetro que permite recibir valores cuando es invocado y devolver
valores después de invocación.
- Para visualizar métodos disponibles en clase, se edita programa ABAP y se presiona botón Modelo (Pattern).
-> Se marca opción Patrón p.objetos ABAP (ABAP Object Patterns) => continuar
-> en campo Clase/Interface => Nombre de clase a visualizar
-> En campo Método (Method) se presiona F4.
-> Visualización de los métodos de la clase.
- Métodos a revisar:
-> FILE_OPEN_DIALOG: Mostrar pantalla de navegación para seleccionar archivo de PC
-> GUI_DOWNLOAD: Descargar datos de programas a archivos de PC
-> GUI_UPLOAD: Bajar datos de PC a programas.
- Otra forma de visualizar clase CL_GUI_FRONTEND_SERVICES es a través de Class Builder => Trx SE24.
2. Búsqueda de archivos en la PC
- Uso de método FILE_OPEN_DIALOG.
Ejm.:
DATA: tl_filetable TYPE filetable,
stl_file_tabla 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 su-subrc EQ 0.
MOVE stl_file_table TO p_path.
ENDIF.
- Parámetros del Método:
-> WINDOW_TITLE: Título a ventana de búsqueda.
-> DEFAULT_FILENAME: Contiene nombre de archivo que buscamos en PC. Literal " * " para ver todos los archivos
de los directorios.
-> FILE_TABLE: Contiene ruta y nombre de archivo seleccionado.
- Método tiene definidas Excepciones. Cada una tiene relacionada una descripción que contempla cada error posible.
- Recomendable usar método en programas ABAP que trabajen con archivos locales, facilita interacción
usuario<=>programa y evita errores de tipeo de datos.
3. Lectura de datos de los archivos locales
- Método GUI_UPLOAD.
Ejm.:
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.
Nota: los corchetes en nombre de tabla interna, es requisito del método y se indica contenido de tabla interna, para
cumplir con requisito de sintaxis del método.
Parámetros importantes del método
-> FILENAME: Contiene directorio y nombre del archivo local con el que se está trabajando.
-> FILETYPE: Contiene la extensión del archivo con que se está trabajando.
Tipos Admitidos: BIN (archivo binario), ASC (Archivo ASCII), DAT(Archivo excel. Columnas separadas
con tabs), WK1 (Archivos de Excel y de Lotus).
Nota: Para subir archivo de Excel, no debe tener extensión xls, sino modificar extensión csv para poder ser
leído por función de Upload de manera correcta.
-> HAS_FIELD_SEPARATOR: Indica que archivo local tiene separadores.
-> DATA_TAB: Tabla interna donde se almacena los datos del archivo local.
Nota: En método están definidas excepciones que se contemplan para cada uno de los errores que se pueden generar
al ejecutarlo. En algunos programas ABAP, se usan las funciones WS_UPLOAD y UPLOAD. No es recomendable
su uso debido a que actualmente son considerados objetos obsoletos de SAP.
 
 
 
Sobre el autor
Publicación académica de Darwin Enrique Terraza Berdugo, en su ámbito de estudios para la Carrera Consultor ABAP.
Darwin Enrique Terraza Berdugo
Colombia - Legajo: MM57E
✒️Autor de: 60 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor ABAP Nivel Inicial
- Carrera Consultor Basis NetWeaver Nivel Avanzado
- Carrera Consultor Basis NetWeaver Nivel Inicial
Disponibilidad Laboral: PartTime
Certificación Académica de Darwin Terraza