El objetivo es la importación de una carga de datos desde Excel a una tabla de datos previamente registrada utilizando una API (Application Programming Interface) → URL.../api/DataLoad/LoadExcelIntoDataTable, donde se deben ingresar los parámetros con el código de la tabla de datos de origen, el código de la columna y el código de la fila donde se encuentra el archivo en la tabla de datos de origen, y el código de la tabla de datos de destino. Los datos procesados se enviarán a la dataTable de destino, donde se pasan los códigos a través de estos parámetros a la API mediante QueryString. El proceso busca la información necesaria para llenar la tabla de datos en el archivo Excel, basándose en el nombre de la columna de la tabla de datos y el encabezado de las columnas en el archivo Excel, que deben coincidir. También se considera el tipo de datos de la tabla de datos de destino, intentando realizar conversiones de tipo cuando sea necesario.
Los requisitos previos de la funcionalidad en general son simplemente un usuario registrado en el T6, un formulario de datos con una columna del tipo archivo para subir el archivo Excel y una tabla de datos de destino.
Será necesario configurar algunos permisos de usuario como requisitos del sistema para poder crear el proceso y el disparador del workflow para realizar la carga de datos desde Excel al T6.
para expandir las opciones.
para expandir las opciones.
para expandir las opciones.El proceso se basa en las columnas de la tabla de datos de destino. Se importan todas las columnas de la tabla de destino que tienen una contraparte con el mismo nombre en Excel (encabezado). Es decir, las columnas presentes en el archivo de Excel que no existen en la tabla de datos son ignoradas. También se consideran la configuración de tipos y restricciones de la tabla de datos. Si la tabla de datos no puede tener un campo específico como nulo y el archivo no proporciona esta información, no será posible importar. En este caso, la información debe incluirse en el archivo de Excel o debe modificarse la tabla de datos para permitir la inserción del campo nulo.
El proceso busca en la tabla referenciada en dataTableSourceCode, el archivo de Excel en la columna y fila especificadas por los parámetros sourceRowCode y sourceColumnCode, respectivamente, e importa el archivo a la tabla de datos indicada en el parámetro dataTableDestinationCode.
Esta API recibe 4 parámetros a través de querystring:
REP_DATATABLE_COLUMNS en la columna codDataColumn y verificar en qué fila se encuentra el archivo de Excel agregado en la Tabla de datos de origen. (Esta información, junto con el parámetro sourceRowCode, especifica en qué columna de la tabla de origen está el archivo).Un ejemplo de cómo será la QueryString para su uso: URL.../api/DataLoad/LoadExcelIntoDataTable?dataTableSourceCode=***&sourceColumnCode=***&sourceRowCode=***&dataTableDestinationCode=***
El proceso solo importará el archivo en su totalidad, si ocurre algún error, todo el proceso será cancelado, revertido y se notificará en el menú de notificaciones.
Para utilizar la importación de datos desde Excel a las tablas de datos del T6, necesitaremos previamente un archivo de Excel para adjuntar a la tabla de origen.
Dentro del T6, necesitaremos crear una Tabla de datos de origen (Source), una tabla de datos de destino y un formulario de datos para cada tabla.
, se abrirá un asistente en el que nombraremos la columna y seleccionaremos el tipo. En esta tabla de datos es necesario que la columna creada sea del tipo archivo.
.
y abra el formulario de datos.
, se abrirá un asistente en el que nombraremos las columnas y seleccionaremos el tipo.En la creación de las columnas de la tabla de datos de destino es obligatorio que el nombre de las columnas sea exactamente el mismo que el de los encabezados del archivo de Excel, así como el tipo de columna debe ser compatible con el tipo de datos existentes en el archivo de Excel. Si el tipo no es compatible, el T6 intentará hacer la conversión.
Si el proceso falla, será necesario ajustar la tabla de datos o el archivo de Excel, pudiendo ser necesario renombrar las columnas de la tabla o el encabezado del archivo de Excel. La falla también puede ocurrir debido a restricciones en la tabla de datos, como campos nulos no permitidos o tipos de datos incompatibles.
.
y abra el formulario de datos (note que el formulario estará sin datos, solo con las columnas mostradas).
URL.../api/DataLoad/LoadExcelIntoDataTable?dataTableSourceCode=***&sourceColumnCode=***&sourceRowCode=***&dataTableDestinationCode=*** (podemos manipular los valores de los parámetros de la API mediante la función Instance(workflowParameter)).
, se abrirá un asistente, en el cual podremos asociar un responsable a la tarea a través de los parámetros, haga clic en finalizar.Si ocurre algún error en la inserción de la API, se generará una notificación del sistema informando sobre lo sucedido.
Para obtener información sobre la configuración e implementación de Swagger, acceda a nuestro centro de ayuda: Swagger.
Para abrir Swagger, utilizaremos el endpoint: URL.../swagger/index.html
La dirección URL proporcionada antes de la API dependerá de su dominio en la nube o, en el caso de un entorno local, de la configuración proporcionada en Internet Information Services (IIS).
Al acceder al endpoint, se abrirá una página que contiene todas las APIs del sistema. Localice la API (/api/DataLoad/LoadExcelIntoDataTable) y haga clic en
para expandirla:
Al expandir la API, también se muestran las posibles respuestas que el sistema puede devolver, así como una visualización detallada de la solicitud, por ejemplo: