En releases anteriores, podía intercalar un tipo simple dentro de un tipo compuesto en el modelo de mensajes. Esto permitía modelar el texto anónimo que puede aparecer entre los códigos XML. Se hace referencia a estos tipos simples como tipos simples intercalados para distinguirlos de los tipos simples de esquema XML. Este tema sólo es pertinente si trabaja con mensajes modelados en un release anterior y que se han importado mediante el Mandato mqsimigratemsgsets.
Cuando se analiza un mensaje MRM en un árbol lógico, los tipos simples intercalados no tienen identificadores que los definan de forma exclusiva en ESQL. Si desea consultar o actualizar los datos mantenidos en un tipo simple intercalado, debe hacer referencia al mismo en relación a otros objetos conocidos del mensaje.
Por ejemplo, si desea actualizar el tipo simple intercalado con el texto Mr. Smith, incluya al siguiente sentencia ESQL en el nodo Compute:
SET OutputRoot.MRM.Person.*[3] = 'Mr.Smith';
Esta sentencia establece el tercer elemento dependiente del elemento Person en Mr.Smith. Puesto que esta sentencia trata un elemento anónimo en el árbol (un tipo simple incorporado que no tiene nombre), puede establecer este valor sólo si conoce su posición en el árbol.
Suponga el siguiente mensaje XML de MRM:
<Mess1> <Elem1>abc</Elem1> <Elem2>def<Child1>ghi</Child1></Elem2> </Mess1>
Puede modelar este mensaje XML en el MRM utilizando los siguientes objetos.
La propiedad Tipo se establece en tMess1.
La propiedad Composición se establece en Conjunto ordenado.
El tipo complejo contiene los objetos siguientes:
La propiedad Tipo se establece en el tipo simple de esquema XML xsd:string.
La propiedad Tipo se establece en el tipo complejo tElem2.
La propiedad Composición se establece en Secuencia.
El tipo complejo contiene los objetos siguientes:
La propiedad Tipo se establece en el tipo simple de esquema XML xsd:string.
El tipo simple intercalado ComIbmMRM_BaseValueString que se integra en tMess2 se utiliza para analizar los datos def del mensaje de entrada. Si desea cambiar el valor de los datos asociados con el tipo simple intercalado en la salida, escriba el siguiente código ESQL:
SET OutputRoot.MRM.Elem2.*[1] = 'xyz';
Esto genera los siguientes mensajes de salida:
<Mess1> <Elem1>abc</Elem1> <Elem2>xyz<Child1>ghi</Child1></Elem2> </Mess1>
Si prefiere no modelar este mensaje en el MRM, puede obtener el mismo resultado con el siguiente código ESQL:
SET OutputRoot.XML.Elem2.*[1] = 'xyz';
Un tipo simple intercalado no tiene servicios para el manejo de nulos que se proporciona con los elementos. Si establece un tipo simple intercalado en un valor nulo, se suprime del árbol de mensajes.
En ESQL, los nombres de elementos se utilizan normalmente para hacer referencia a elementos MRM y actualizarlos. La excepción es cuando los tipos simples intercalados están en el mensaje. Si utiliza mensajes de varias partes, debe especificar el nombre del mensaje para calificar más aún las referencias del tipo de mensaje intercalado, si el mensaje no es el primer objeto de mensaje en la corriente de bits. Acceso a mensajes intercalados en el dominio MRM proporciona más información.
Conceptos relacionados
Flujos de mensajes
ESQL
Diseño de mensajes
Tareas relacionadas
Diseño de un flujo de mensajes
Definición del contenido del flujo de mensajes
Gestión de archivos ESQL
Migración de un conjunto de mensajes
Referencia relacionada
Nodo Compute
Nodo Database
Nodo Filter
ESQL
Sentencia SET
Avisos |
Marcas registradas |
Descargas |
Biblioteca |
Soporte |
Información de retorno (feedback)
![]() ![]() |
ac12260_ |