En este tutorial vamos a ver como diseñar un proceso de carga masiva de ficheros a partir de un conjunto de archivos de hoja de cálculo que se depositan en una determinada carpeta.
Tenemos dos opciones de diseño del job:
- Que el job esté siempre en ejecución esperando a que se introduzca el fichero en la carpeta para arrancar el proceso.
- Que el job se ejecute periódicamente de manera programada.
Para la primera opción utilizaremos un componente de la famila «wait for» (tWaitForFile,tWaitForSocket, tWaitForSqlData) estos componentes están permanentemente escuchando cada período que les indiquemos, para comprobar que se dé un determinado suceso. En nuestro ejemplo, utlizaremos tWaitForFile dado que estamos esperando la entrada de ficheros a un directorio.
Lo configuramos indicando el directorio que debe escanear, el tiempo en segundos de cada iteración y si queremos que solo detecte un tipo de fichero, podemos usar la mascara de la opción file mask. mediante el uso del caracter * podemos por ejemplo filtrar que nos saque ficheros csv («*.csv) o de excel («*.xls*» ).
Al arrancar el job vemos que el proceso queda latente hasta que dejamos un fichero que cumple las condiciones en el directorio.
En ambos diseños de proceso necesitamos un componente que nos liste todos los ficheros que hay en la carpeta. Esta lista de ficheros nos lo genera el componente tFileList que lo podemos conectar con el flujo iterate del componente tWaitForFile.
La configuración del tFilelist no difiere demasiado del tWaitForFile: