Acceder a mensajes incorporados en el dominio MRM

Si ha definido un mensaje de varias partes, tendrá como mínimo un mensaje incorporado en otro. Dentro del tipo complejo general que representa los mensajes de nivel superior, puede modelar el mensaje de nivel inferior de uno de los modos siguientes:
  • Un elemento (denominado E_outer1 en el ejemplo siguiente) con la propiedad Tipo establecida en un tipo complejo que se ha definido con la propiedad Composición establecida en Mensaje
  • Un tipo complejo con la propiedad Composición establecida en Mensaje (denominado t_Embedded en el ejemplo siguiente)
El ESQL que necesita escribir para manipular el mensaje de nivel inferior varía en función de qué modelo de los anteriores ha utilizado. Por ejemplo, suponga que ha definido:
  • Un mensaje de nivel superior M_outer que tiene la propiedad Tipo establecida en t_Outer.
  • Un mensaje de nivel inferior M_inner1 que tiene el Tipo establecido en t_Inner1
  • Un mensaje de nivel inferior M_inner2 que tiene el Tipo establecido en t_Inner2
  • Escriba t_Outer que tiene el primer elemento hijo E_outer1 y el segundo elemento hijo definido como un tipo complejo denominado t_Embedded
  • Escriba t_Embedded que tiene la propiedad Composición establecida en Mensaje
  • Escriba t_Inner1 que tiene el primer elemento hijo denominado E_inner11
  • Escriba t_Inner2 que tiene el primer elemento hijo denominado E_inner21
  • Escriba t_outer1 que tiene la propiedad Composición establecida en Mensaje
  • El elemento E_outer1 que tiene la propiedad Tipo establecida en t_outer1
Si desea establecer el valor de E_inner11, codifique el ESQL siguiente:
SET OutputRoot.MRM.E_outer1.M_inner1.E_inner11 = 'FRED';
Si desea establecer el valor de E_inner21, codifique el ESQL siguiente:
SET OutputRoot.MRM.M_inner2.E_inner21 = 'FRED';

Si copia cabeceras de mensajes del mensaje de entrada en el mensaje de salida y el tipo de mensaje de entrada contiene una vía de acceso, sólo se copiará en el tipo de mensaje de salida el nombre de nivel superior de la vía de acceso.

Cuando configure un flujo de mensajes para manejar mensajes incorporados, en lugar de un nombre puede especificar la vía de acceso de un tipo de mensaje de una cabecera MQRFH2 (si hay alguna en el mensaje de entrada) o de la propiedad Tipo de mensaje del nodo de entrada (por ejemplo, para el mensaje modelado más arriba, la vía de acceso se puede especificar como M_Outer/M_Inner1/M_Inner2 en lugar de sólo M_Outer).

Si ha especificado que el mensaje de entrada tiene un formato físico de CWF o XML, cualquier prefijo de tipo de mensaje se concatenará delante del tipo de mensaje del nodo de entrada o MQRFH2, proporcionando una vía de acceso a utilizar (si desea ver más información, consulte el apartado Mensajes de varias partes). El MRM utiliza el primer elemento de la vía de acceso como el tipo de mensaje de nivel superior y, a continuación, pasa progresivamente hacia el interior cuando encuentra un tipo complejo con la propiedad Composición establecida en Mensaje.

Si ha especificado que el mensaje de entrada tiene un formato físico de TDS, se implementará un proceso diferente que utiliza claves de mensaje. Esto se describe en Formato TDS: Mensajes de varias partes.

Si desea ver más información sobre las concatenaciones de vía de acceso, consulte el apartado Propiedades de conjunto de mensajes.

Conceptos relacionados
Visión general de flujos de mensajes
Visión general de ESQL
Modelado de mensajes
Mensajes de varias partes
Formato TDS: Mensajes de varias partes
Tareas relacionadas
Diseñar un flujo de mensajes
Definir el contenido del flujo de mensajes
Gestión de archivos ESQL
Desarrollo de modelos de mensaje
Referencia relacionada
Nodo Compute
Nodo Database
Nodo Filter
Referencia de ESQL
Sentencia SET
Propiedades de conjunto de mensajes
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión
Copyright IBM Corporation 1999, 2006 Última actualización: 22/08/2006
ac17410_