Módulos ESQL

Un módulo es una secuencia de declaraciones que definen variables y su inicialización y una secuencia de declaraciones de subrutinas (función y procedimiento) que definen un comportamiento específico para un nodo de flujo de mensajes.

CREATE tipo_nodo MODULE y finalizar con una sentencia END MODULE. El tipo_nodo debe ser uno de los siguientes: COMPUTE, DATABASE o FILTER. El punto de entrada del código ESQL es la función denominada MAIN, que tiene el ámbito MODULE.

Cada módulo se identifica mediante un nombre que sigue a CREATE tipo_nodo MODULE. El nombre puede crearse automáticamente con un valor por omisión, que el usuario puede modificar, o puede crearlo el propio usuario. El nombre se maneja de manera indiferente a las mayúsculas y minúsculas (es decir, utilizar el nombre con cualquier combinación de letras mayúsculas y minúsculas no afecta a la declaración). En esto se diferencia de los nombres que se declaran para esquemas, constantes, variables y etiquetas, que se manejan de manera sensible a las mayúsculas y minúsculas y que se deben especificar con exactitud, tal como los ha declarado.

Debe crear el código para un módulo en un archivo ESQL que tenga el sufijo .esql. Debe crear este archivo en el mismo esquema de intermediario que el nodo que hace referencia a él. Debe haber un módulo del tipo correcto para cada nodo correspondiente, que sea específico de ese nodo y que ningún otro nodo pueda utilizarlo.

Al crear un archivo ESQL (o finalizar una tarea que crea uno), debe indicar el proyecto de flujo de mensajes y el esquema de intermediario con el que el archivo está asociado, así como especificar el nombre del archivo.

En el archivo ESQL, el nombre de cada módulo se determina mediante el valor de la propiedad correspondiente del nodo de flujo de mensajes. Por ejemplo, la propiedad Módulo ESQL para el nodo Compute especifica el nombre del módulo del nodo en el archivo ESQL. El valor por omisión de esta propiedad es el nombre del nodo. Puede especificar un nombre distinto, pero debe asegurarse de que el valor de la propiedad y el nombre del módulo que proporciona la función necesaria son el mismo.

El módulo debe contener la función MAIN, que es el punto de entrada del módulo. Se incluye automáticamente si el módulo se crea de manera automática. En MAIN, puede crear código ESQL para configurar el comportamiento del nodo. Si incluye ESQL en el módulo que declara las variables, constantes, funciones y procedimientos, éstos serán sólo de ámbito local y únicamente podrán utilizarse en este módulo.

Si desea volver a utilizar constantes, funciones o procedimientos ESQL, debe declararlos en el nivel de esquema de procedimiento. Luego, puede hacer referencia a ellos desde cualquier recurso en ese esquema de intermediario, en el mismo proyecto o en otro. Si desea utilizar esta técnica, califique por completo el procedimiento o incluya una sentencia PATH que defina el calificador. La sentencia PATH debe estar codificada en el mismo archivo ESQL, pero no dentro de MODULE.

Conceptos relacionados
Flujos de mensajes
Correlaciones

Tareas relacionadas
Desarrollo de aplicaciones de flujos de mensajes
Desarrollo de ESQL

Referencia relacionada
Nodos incorporados
ESQL
Sentencia CREATE FUNCTION
Sentencia CREATE MODULE
Sentencia CREATE PROCEDURE
Sentencia DECLARE