Iniciación a SherpaBots

Iniciación a SherpaBots

1. Tipos de Eventos

Los eventos más utilizados son los que hemos visto: SquareExcel y SQL con sus respectivas acciones (SQL) Stop, Alarma, OK, Error. Ahora veremos una serie de tipos de Eventos que también son útiles con un poco más de detalle. De todas formas, la documentación completa sobre la app Modulooper la podemos encontrar aquí.

Veamos, a continuación, los eventos más útiles:

1.1 Variables

Se utiliza para generar variables a partir de sentencias SQL. El resultado se guarda generando variables con el nombre del campo y añadiendo antes “V_”. Así, si ponemos esta SQL:

SELECT ‘NACHO’ AS NOMBRE FROM SQUARE.VISAGRA

Creará la variable V_NOMBRE y podrá ser utilizada a partir de ese momento en cualquier otra consulta del modulooper. Por ello, se suele utilizar al principio y se cogen todas las variables necesarias, ya que un segundo evento de tipo “Variables” invalida el anterior. 

En el pantallazo vemos cómo sacamos las variables para el modulooper del EDITOR DE MODUFORMS, que a partir de la primera variable podremos sacar las variables: $V_APP, $V_BLOQUE, $V_CAMPO, $V_ETIQUETA, $V_ORDEN, $V_ID.

Luego vemos, otras consultas donde se usan:

1.2 Flyout

Este evento se usa para generar un archivo de texto a partir de una SQL.
Se utiliza para extraer información de SherpaBots. El resultado es la creación de un archivo basado en una sentencia SQL que alimenta a una de las estructuras diseñadas para texto o Excel. 

Existe la opción de depositarlo en un directorio y/o permitir que sea descargable al acabar el upload en la pantalla. 

Para esta segunda opción, hay que indicar en el campo acción el valor Download.

Vemos aquí un modulooper que se dedica a traducir a lenguaje PowerBI una serie de datos que tenemos almacenados en la base de datos:

Alguno de los ejemplos:

Aquí vemos como de una tabla se sacan y modifican una serie de campos para generar un archivo de texto donde se define el separador, el delimitador y el destino donde se depositará.

 

Esto se configurará en la tabla square.flyout_head:

 

1.3 Mail

El tipo de evento Mail se utiliza para enviar una información por mail, que no esté ligado a un Stop ni a un Aviso, en los casos en que el proceso acaba OK. Para que se ejecute este tipo de evento, el evento tendrá que ser OK.
Su utilización es similar a los mails con aviso o stop, utilizando el editor de soporte para diseñar el mensaje.  Tenemos, además, el Evento
Mail con adjunto:

Igual que el anterior, pero en esta ocasión, adjunta el archivo relacionado en la carga de ese modulooper.

También tenemos la posibilidad de indicar un fichero adjunto diferente al correspondiente a la carga, utilizando una sentencia SQL que devuelva un campo llamado ADJUNTO:

De esta forma, el fichero que se adjuntará será el resultado de la consulta en vez del archivo relacionado con la carga.

1.4 Trigger

Este tipo de evento hace referencia a otro modulooper. Un trigger es una secuencia de eventos que normalmente se utilizan desde dos o más moduloopers. Permite reaprovechar código cuando las operaciones son similares para diferentes uploads sobre un mismo tipo de información (ETTs, proveedores…)

Por ejemplo la carga de Manpower que es una de las cuatro ETTs que se integran en SherpaBots alude a dos procesos comunes que comparten las otras ETTs.

Para aludir a otro modulooper mediante este tipo de evento simplemente hay que poner el nombre del modulooper en la caja de SENTENCIA/FÓRMULA 

Al hacer click sobre el Trigger:

 Nos lleva al modulooper en cuestión:

1.5 Include

Otra manera de aludir a otro proceso, en este caso un fichero php es hacerlo mediante un evento include y el nombre del fichero en cuestión que tiene que estar en square/extras. Se utiliza para casos particulares en los que no es posible realizar alguna función con el resto de eventos Estándar de Modulooper.

Un ejemplo lo vemos en el Moduform CREAR UPLOAD. Pondremos el nombre del php en la caja de SENTENCIA/FÓRMULA.

1.6 Bucle 

Este evento, permite incluir un SELECT (Bucle) y ejecutar una serie de consultas (Sentencia) para cada resultado del bucle. En estas sentencias, que pueden ir separadas por “;” en caso de ser más de una, podemos utilizar como variables, información generada en el SELECT del bucle. Para ello, tenemos que incluir el nombre del campo entre corchetes. Por ejemplo:

Bucle: SELECT DNI, NOMBRE FROM TABLA WHERE CONDICION = FILTRO

Sentencia: DELETE FROM TABLA WHERE DNI = ‘[DNI]’

Ese segundo DNI entre corchetes será sustituido por el correspondiente valor de la consulta SQL incluida como Bucle.

Varios ejemplos pueden verse, en las cargas de las ETTs, concretamente en el proceso común de las ETTs 2:

Deja una respuesta