Nodo DataUpdate

Este tema contiene las siguientes secciones:

Finalidad

Utilice el nodo DataUpdate para interactuar con una base de datos en el origen de datos ODBC especificado. El nodo DataUpdate está en un formato especializado de nodo Database y la interacción está restringida a la actualización de una o más filas de una tabla dentro de la base de datos. Defina lo que se actualiza definiendo sentencias de correlación que utilizan los datos del mensaje de entrada de manera que se identifique la acción necesaria.

Puede establecer una propiedad para controlar si la actualización realizada en la base de datos se compromete inmediatamente o se pospone hasta que finaliza el flujo de mensajes, en cuyo momento la actualización se compromete o se retrotrae de acuerdo con el estado de finalización global del flujo de mensajes.

El nodo DataUpdate se representa en el área de trabajo por el icono siguiente:

Icono de nodo DataUpdate

Utilización de este nodo en un flujo de mensajes

Suponga que ha añadido los detalles de un nuevo producto, un teclado, a la base de datos de existencias. En este momento recibe un mensaje del departamento de mercancías que indica que se han entregado 500 teclados en su edificio. Puede utilizar el nodo DataUpdate para cambiar la cantidad de teclados en la base de datos de cero a 500.

Configuración del nodo DataUpdate

Después de transferir una instancia del nodo DataUpdate a un flujo de mensajes, puede configurarla. Pulse el botón derecho del ratón en el nodo en la vista de editor y pulse Propiedades. Se visualizan las propiedades básicas de nodo.

Todas las propiedades obligatorias para las que se debe entrar un valor (las que no tienen definido un valor por omisión) se marcan con un asterisco en el diálogo de propiedades.

Configure el nodo DataUpdate como se describe a continuación:

  1. Especifique en Origen de datos el nombre por el que se conoce la base de datos adecuada en el sistema en el que se va a ejecutar este flujo de mensajes. El intermediario se conecta a esta base de datos con la información de ID de usuario y contraseña que se ha especificado en el mandato mqsicreatebroker, mqsichangebroker o mqsisetdbparms.

    En sistemas z/OS, el intermediario utiliza el ID de tarea iniciada por el intermediario.

  2. En Sentencia, identifique la rutina de correlación asociada que se va a ejecutar en este nodo. Por omisión, el nombre asignado a la rutina de correlación es idéntico al nombre del archivo de correlaciones en el que se define. El nombre por omisión del archivo es el nombre del flujo de mensajes concatenado con el nombre del nodo cuando se incluye en el flujo de mensajes (por ejemplo, MFlow1_DataUpdate.mfmap para el primer nodo DataUpdate en el flujo de mensajes MFlow1). No puede especificar un valor que incluye espacios.

    Si pulsa Examinar junto a este campo de entrada, aparece un diálogo que muestra todas las rutinas de correlación disponibles a las que este nodo puede acceder. Seleccione la rutina que desea y pulse Aceptar. El nombre de rutina se establece enSentencia.

    Para trabajar con la rutina de correlación asociada con 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 de Navegador.

    Una rutina de correlación es específica al tipo de nodo al que está asociada; no puede utilizar una rutina de correlación desarrollada para un nodo DataUpdate en ningún otro nodo que utilice correlaciones (por ejemplo, un nodo DataInsert). Si ha creado una rutina de correlación, no puede llamarla desde ninguna otra rutina, aunque sí puede llamarla desde una rutina de ESQL.

  3. Seleccione el valor Transacción en el menú desplegable. Los valores son:
    • Automático (el valor por omisión). El flujo de mensajes, del que forma parte el nodo DataUpdate, se compromete si esto es satisfactorio. Es decir, se llevan a cabo las acciones definidas en las correlaciones y el mensaje continúa a través del flujo de mensajes. Si el flujo de mensajes no se ejecuta correctamente, se restituye. Por lo tanto, si selecciona Automático significa que la capacidad para confirmar o restituir la acción del nodo DataUpdate en la base de datos depende de si todo el flujo de mensajes ha sido correcto o ha generado un error.
    • Confirmar. Si desea confirmar todas las acciones no confirmadas ejecutadas en este flujo de mensajes en la base de datos conectada a este nodo, sin tener en cuenta si el flujo de mensajes en conjunto se ejecutó o no satisfactoriamente, seleccione Confirmar. Los cambios realizados en la base de datos se confirman incluso si el flujo de mensajes falla.
  4. Seleccione Básico en el navegador del diálogo de propiedades y seleccione o deseleccione los dos recuadros de selección:
    • Si desea que los mensajes de aviso de base de datos se procesen como errores y que el nodo propague el mensaje de salida hasta el terminal de anomalías, seleccione el recuadro Tratar los avisos como errores. Al principio el recuadro está sin seleccionar.

      Al seleccionar el recuadro, el nodo trata como errores todos los códigos de retorno positivos procedentes de la base de datos base y genera excepciones de la misma forma que lo hace para los errores negativos o más graves.

      Si no selecciona este recuadro, el nodo procesa los avisos como si fueran códigos de retornos normales y no emite ninguna excepción. El aviso más significativo generado es no encontrado, que puede manejarse como un código de retorno normal de forma segura en la mayoría de las circunstancias.

    • Si desea que el intermediario genere una excepción cuando se detecte un error en la base de datos, seleccione el recuadro Generar excepción cuando se produce un error en la base de datos. Al principio el recuadro está seleccionado.

      Si deselecciona el recuadro, deberá manejar el error en el flujo de mensajes para garantizar la integridad del intermediario y de la base de datos: el error se ignora si no lo maneja a través de su propio proceso, porque ha elegido no invocar el manejo de errores por omisión que realiza el intermediario. Por ejemplo, podría conectar el terminal de anomalías a una subrutina de proceso de errores.

  5. Seleccione Descripción en el navegador del diálogo de propiedades para entrar una descripción breve, una descripción larga o ambas.
  6. Pulse Aplicar para realizar los cambios en el nodo DataUpdate sin cerrar el diálogo de propiedades. Pulse Aceptar para aplicar los cambios y cerrar el diálogo de propiedades.

    Pulse Cancelar para cerrar el diálogo y descartar todos los cambios realizados en las propiedades.

Terminales y propiedades

Los terminales de nodo DataUpdate se describen en la tabla siguiente.

Terminal Descripción
Terminal de entrada Terminal de entrada que acepta un mensaje para que el nodo lo procese.
Terminal de anomalías Terminal de salida al que se propaga el mensaje de entrada si se detecta una anomalía durante un cálculo. Si ha seleccionado Tratar los avisos como errores, el nodo propaga el mensaje a este terminal aún cuando el proceso se haya completado satisfactoriamente.
Terminal de salida Terminal de salida que imprime el mensaje después de la ejecución de la sentencia de base de datos.

En las siguientes tablas se 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 se debe entrar un valor cuando no se ha definido ningún valor por omisión), la columna con la cabecera C indica si la propiedad es configurable (se puede cambiar el valor cuando se añade el flujo de mensajes al archivo bar para difundirlo).

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   Nombre de origen de datos ODBC de la base de datos en la que residen las tablas a las que se hacen referencia en las correlaciones asociadas a este nodo (identificadas por la propiedad Sentencia).
Sentencia No DataUpdate Nombre de la rutina de correlación que contiene las sentencias que se van a ejecutar contra la base de datos o el árbol de mensajes. La rutina es exclusiva a este tipo de nodo.
Transacción No Automático Modalidad de transacción para el nodo. Puede ser Automático o Confirmar.
Tratar los avisos como errores No Sin seleccionar Trata los avisos SQL como errores. Si selecciona el recuadro, se lleva a cabo la acción.
Generar excepción cuando se produce un error en la base de datos No Seleccionada Los errores de base de datos pueden provocar que el intermediario genere una excepción. Si selecciona el recuadro, se lleva a cabo la acción.

Las propiedades de descripción del nodo DataUpdate se describen en la siguiente tabla.

Propiedad O C Valor por omisión Descripción
Descripción corta No No   Breve descripción del nodo.
Descripción larga No No   Texto que describe la utilidad del nodo en el flujo de mensajes.

Conceptos relacionados
Flujos de mensajes
Flujos de mensajes, correlaciones y ESQL

Tareas relacionadas
Configuración de DB2
Cómo decidir los nodos que utilizar
Configuración de flujos de mensajes coordinados
Manejo de errores en flujos de mensajes
Desarrollo de correlaciones
Edición de propiedades configurables

Referencia relacionada
Mandato mqsichangebroker
Mandato mqsicreatebroker
Mandato mqsisetdbparms
Nodo Database
Nodo DataInsert