Configuración de valores nulos en un mensaje en el dominio de MRM

Para establecer un valor de un elemento en un mensaje de salida, normalmente escribiría una sentencia ESQL parecida a la siguiente:

SET OutputRoot.MRM.Elem2.Child1 = 'xyz';  

o su sentencia equivalente:

SET OutputRoot.MRM.Elem2.Child1 VALUE = 'xyz';  

Si establece el elemento en un valor no nulo, estas dos sentencias dan resultados idénticos. Sin embargo, si desea establecer el valor en nulo, estas dos sentencias no tienen el mismo resultado:

  1. Si establece el elemento en NULL con la siguiente sentencia, el elemento se suprime del árbol de mensajes:
    SET OutputRoot.MRM.Elem2.Child1 = NULL; 

    El contenido de la corriente de bits de salida depende del formato físico:

    • Para un elemento XML, ni el atributo o código XML ni su valor se incluyen en la corriente de bits de salida.
    • Para un elemento TDS delimitado, ni el código (si procede) ni su valor se incluyen en la corriente de bits de salida. La falta del elemento normalmente se comunica por dos delimitadores adyacentes.
    • Para un elemento TDS de longitud fija o CWF, el contenido de la corriente de bits de salida depende de si se ha establecido la propiedad Valor por omisión para el elemento. Si se ha establecido esta propiedad, el valor por omisión se incluye en la corriente de bits. Si no se ha establecido la propiedad, se activa una excepción.

    Esto se denomina proceso nulo implícito.

  2. Si establece el valor de este elemento en NULL como se indica a continuación:
    SET OutputRoot.MRM.Elem2.Child1 VALUE = NULL;
    el elemento no se elimina del árbol de mensajes. En lugar de ello, se asigna al elemento un valor NULL especial. El contenido de la corriente de bits de salida depende de los valores de las propiedades de manejo de nulos de formato físico:

    Esto se denomina proceso explícito de valores nulos.

Si se establece un elemento complejo en NULL se suprime dicho elemento y todos los elementos dependientes del mismo.

Conceptos relacionados
Flujos de mensajes
ESQL
Diseño de mensajes
Formato físico personalizado - manejo de NULL
Formato físico XML - manejo de NULL
Formato de serie codificado/delimitado - manejo de NULL

Tareas relacionadas
Consulta de valores nulos en un mensaje en el dominio de MRM.
Diseño de un flujo de mensajes
Definición del contenido del flujo de mensajes
Gestión de archivos ESQL
Desarrollo de modelos de mensajes

Referencia relacionada
Nodo Compute
Nodo Database
Nodo Filter
ESQL
Sentencia SET