Cree ESQL para personalizar el funcionamiento de un nodo Compute, Database o Filter dentro de un archivo ESQL.
Antes de empezar
Para llevar a cabo esta tarea, ya ha de haber realizado la siguiente:
Dentro del archivo ESQL, cree un módulo que esté asociado con un nodo en el flujo de mensajes. Un módulo puede estar asociado con un solo nódulo de un tipo determinado (Compute, Database o Filter). Dentro del módulo, puede crear y utilizar funciones y procedimientos así como las sentencias y funciones suministradas. También puede crear variables y constantes locales.
Si ha creado constantes, funciones o procedimientos a nivel del esquema del intermediario, también podrá hacer referencia a éstos dentro del módulo. Puede definir rutinas a un nivel en el que varios módulos distintos puedan utilizarlas, lo que le ahorrará tiempo en el desarrollo y trabajo de mantenimiento.
Para crear ESQL para un nodo:
(Si ya ha creado el archivo por omisión y pulsa Abrir ESQL, el archivo se abrirá en la vista del editor y se creará un nuevo módulo que aparecerá resaltado.)
Al final del archivo ESQL se creará un módulo de esquema para ese nodo. Su contenido exacto depende del tipo de nodo.El siguiente módulo se crea para un nodo Compute
CREATE COMPUTE MODULE <nombre_módulo> CREATE FUNCTION Main() RETURNS BOOLEAN BEGIN -- CALL CopyMessageHeaders(); -- CALL CopyEntireMessage(); RETURN TRUE; END; CREATE PROCEDURE CopyMessageHeaders() BEGIN DECLARE I INTEGER 1; DECLARE J INTEGER CARDINALITY(InputRoot.*[]); WHILE I < J DO SET OutputRoot.*[I] = InputRoot.*[I]; SET I = I + 1; END WHILE; END; CREATE PROCEDURE CopyEntireMessage() BEGIN SET OutputRoot = InputRoot; END; END MODULE;
El nombre del módulo se determina mediante el valor que se haya establecido para la propiedad del nodo correspondiente. El valor por omisión es <nombre_flujo_mensajes>_<tipo_nodo>. La función Principal contiene llamadas a dos procedimientos, descritos más adelante, que se declaran dentro del módulo del nodo Compute, a continuación de la función Principal. Estas llamadas están comentadas. Si desea incluir la función que proporcionan, quite la marca de comentario de dichas líneas y colóquelas en el punto adecuado del ESQL que ha creado para Principal.
Si está efectuando una migración desde la versión 2.1, este procedimiento es el equivalente al código generado cuando se selecciona el botón Copiar cabeceras de mensajes en el diálogo de propiedades del nodo Compute.
Si está efectuando una migración desde la versión 2.1, este procedimiento es el equivalente al código generado cuando se selecciona el botón Copiar mensaje completo en el diálogo de propiedades del nodo Compute.
Si crea un módulo ESQL para un nodo Database, se creará el siguiente módulo:
CREATE DATABASE MODULE <nombre_módulo> CREATE FUNCTION Main() RETURNS BOOLEAN BEGIN RETURN TRUE; END; END MODULE;
para un nodo Filter, el módulo es idéntico al creado para el nodo Database excepto en la primera línea, que es como sigue:
CREATE FILTER MODULE <nombre_módulo>
La mayor parte del ESQL ha de añadirse dentro de la función Principal, es decir, después de la sentencia BEGIN y antes de RETURN TRUE. Puede añadir al módulo sentencias DECLARE que no estén dentro de la función Principal. Para añadir una nueva línea al archivo, pulse Intro.
Para ayudarle a codificar ESQL válido, el editor visualiza una lista de sentencias y funciones válidas en el punto que indica el cursor. Para invocar esta ayuda, pulse
. En algunos sistemas, es posible que también pueda utilizar la combinación de teclas Control+Espacio. Desplace el contenido de la lista que se visualiza, resalte la que necesite y pulse Intro. El código adecuado se insertará en el módulo y la lista desaparecerá.La Asistencia de contenido se proporciona en las siguientes áreas:
La Asistencia de contenido funciona únicamente si ESQL puede analizarse correctamente. Errores como, por ejemplo, un END que falte después del BEGIN y demás sentencias de bloques indeterminadas, causan errores del analizador y la asistencia de contenido no puede facilitarse. Intente utilizar la Asistencia de contenido en otras áreas de alrededor de la sentencia donde no funciona, para ir determinando el jugar del error. De forma alternativa, puede guardar el archivo ESQL; al guardar el archivo se produce una validación y todos los errores de sintaxis se escriben en la vista Tareas. Consulte los errores indicados para comprender y corregir la sintaxis ESQL. Si utiliza la Asistencia de contenido para generar la mayoría de los elementos (como, por ejemplo sentencias de bloque), éstas se especificarán correctamente y habrá menos posibilidades de error.
Si lo prefiere, puede abrir el archivo ESQL directamente y crear el módulo dentro del archivo utilizando el editor. Para ello:
Sea cual sea el método que utilice para abrir el archivo ESQL, recuerde que el editor proporciona funciones para ayudarle a codificar ESQL. Esta sección se refiere a la asistencia de contenido, pero el editor dispone de más funciones. Para obtener más información sobre dichas funciones, consulte el apartado Editor ESQL.
Conceptos relacionados
Flujos de mensajes
Esquema de intermediario
Módulos ESQL
Tareas relacionadas
Desarrollo de aplicaciones de flujos de mensajes
Modificación de ESQL para un nodo
Modificación de los valores del editor de ESQL
Referencia relacionada
Nodos incorporados
ESQL
Editor ESQL
Avisos |
Marcas registradas |
Descargas |
Biblioteca |
Soporte |
Información de retorno (feedback)
![]() ![]() |
ak09033_ |