Utilice el nodo DataUpdate para interactuar con una base de datos en el origen de datos ODBC especificado. El nodo DataUpdate es una forma especializada del nodo Database y la interacción está limitada a la actualización de una o más filas de una tabla de la base de datos. Los elementos a actualizar se definen mediante sentencias de correlación que, de alguna manera, utilizan datos del mensaje de entrada para identificar la acción requerida.
Puede establecer una propiedad para controlar si la actualización de la base de datos se confirma inmediatamente o si se difiere hasta que el flujo de mensajes se complete, momento en el que la actualización se confirma o se restituye según el estado general de realización del flujo de mensajes.
El nodo DataUpdate se representa en el entorno de trabajo con el siguiente icono:
Por ejemplo, supongamos que ha añadido los detalles de un nuevo producto, un teclado, a la base de datos de almacenamiento. Y acaba de recibir un mensaje del departamento Goods In que indica que se han entregado 500 teclados a su empresa. Puede utilizar el nodo DataUpdate para cambiar la cantidad de teclados en la base de datos, de cero a 500.
Una vez ha puesto una instancia del nodo DataUpdate en un flujo de mensajes, puede configurarlo. Pulse el botón derecho del ratón en el nodo en la vista de editor y pulse Propiedades. Aparecen las propiedades básicas del nodo.
Todas las propiedades obligatorias para las que ha de entrar un valor (las que no tienen definido un valor por omisión) aparecen con un asterisco en el diálogo de propiedades.
Configure el nodo DataUpdate de la manera siguiente:
En sistemas z/OS, el intermediario utiliza el ID de tarea iniciada de intermediario o el ID de usuario y contraseña que se han especificado en el mandato mqsisetdbparms del JCL BIPSDBP del conjunto de datos de personalización <hlq>.SBIPPROC.
Si pulsa Examinar al lado de este campo de entrada, aparece un diálogo que lista todas las rutinas de correlación disponibles a las que puede acceder este nodo. Seleccione la rutina que desee y pulse Aceptar. El nombre de la rutina se establece en Sentencia.
Para trabajar con la rutina de correlación asociada a este nodo, pulse el botón derecho del ratón en el nodo y pulse Abrir correlaciones. Si la rutina de correlación no existe, se crea automáticamente con el nombre por omisión en el archivo por omisión. Si el archivo ya existe, también puede abrir el archivo <nombre_flujo>_<nombre_nodo>.mfmap en la vista Navegador.
Una rutina de correlación es específica del tipo de nodo al que está asociada; no se puede utilizar una rutina de correlación que ha desarrollado para el nodo DataUpdate con ningún otro nodo que utilice correlaciones (por ejemplo, un nodo DataInsert). Si crea una rutina de correlación, no puede llamarla desde ninguna otra rutina de correlación, aunque puede llamarla desde una rutina ESQL.
Cuando selecciona el recuadro, el nodo gestiona todos los códigos de retorno positivos de la base de datos como errores y genera excepciones igual que si se tratase de errores negativos o más graves.
Si no selecciona el recuadro, el nodo trata los avisos como códigos de retorno normales y no emite excepciones. El aviso más significativo es no encontrado que, en la mayoría de los casos, puede tratarse de forma segura como un código de retorno normal.
Si deselecciona el recuadro, deberá gestionarlo en el flujo de mensajes para asegurarse de la integridad del intermediario y de la base de datos: el error se ignora si no lo gestiona a través de su propio proceso, debido a que ha decidido no invocar el manejo de errores por omisión mediante el intermediario. Por ejemplo, podría conectar el terminal de anomalías a una subrutina de proceso de errores.
Pulse Cancelar para cerrar el diálogo y eliminar todos los cambios que ha efectuado en las propiedades.
En la tabla siguiente se describen los terminales del nodo DataUpdate:
Terminal | Descripción |
---|---|
In (de entrada) | El terminal de entrada que acepta un mensaje para que lo procese el nodo. |
Failure (de anomalías) | El terminal de salida al que se propaga el mensaje de entrada si se detecta una anomalía durante el cálculo. Si ha seleccionado Tratar los avisos como errores, el nodo propaga el mensaje a este terminal aunque el proceso se complete satisfactoriamente. |
Out (de salida) | El terminal de salida que efectúa la salida del mensaje después de la ejecución de la sentencia de base de datos. |
Las tablas siguientes describen las propiedades del nodo; la columna con la cabecera O indica si la propiedad es obligatoria (marcada con un asterisco en el diálogo de propiedades si tiene que entrar un valor cuando no hay definido ningún valor por omisión), la columna con la cabecera C indica si la propiedad es configurable (puede cambiar el valor cuando añade el flujo de mensajes al archivo bar para desplegarlo).
Las propiedades básicas del nodo DataUpdate se describen en la siguiente tabla.
Propiedad | O | C | Valor por omisión | Descripción |
---|---|---|---|---|
Origen de datos | No | Sí | El nombre del origen de datos ODBC de la base de datos en la que residen las tablas a las que se hace referencia en las correlaciones asociadas a este nodo (identificadas por la propiedad Sentencia). | |
Sentencia | Sí | No | DataUpdate | Nombre de la rutina de correlación que contiene las sentencias que se tienen que ejecutar contra la base de datos o el árbol de mensaje. La rutina es exclusiva de este tipo de nodo. |
Transacción | Sí | No | Automática | La modalidad de transacción para el nodo. Puede ser Automática o Confirmar. |
Tratar los avisos como errores | Sí | No | No seleccionado | Tratar los avisos SQL de base de datos como errores. Si selecciona el recuadro, se realizará esta acción. |
Generar excepción en error de la base de datos | Sí | No | Seleccionado | Los errores de la base de datos hacen que el intermediario genere una excepción. Si selecciona el recuadro, se realizará esta acción. |
En la tabla siguiente se describen las propiedades de descripción del nodo DataUpdate.
Propiedad | O | C | Valor por omisión | Descripción |
---|---|---|---|---|
Descripción corta | No | No | Descripción breve del nodo. | |
Descripción larga | No | No | Texto que describe el propósito del nodo en el flujo de mensajes. |