Establecer valores nulos en el dominio MRM

Puede utilizar un proceso nulo implícito o explícito para establecer el valor de un elemento en NULL en un mensaje de salida.

Acerca de esta tarea

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

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

La sentencia equivalente es la siguiente:

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

Si establece el elemento en un valor no nulo, estas dos sentencias proporcionarán resultados idénticos. No obstante, si desea establecer el valor en nulo, estas dos sentencias no proporcionan el mismo resultado:

Procedimiento

  1. Si utiliza la sentencia siguiente para establecer el elemento en NULL, 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 ni el 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 corresponde) ni su valor se incluyen en la corriente de bits de salida. Normalmente, la ausencia del elemento se transmite mediante dos delimitadores adyacentes.
    • Para un elemento CWF o de longitud fija, el contenido de la secuencia de bits de salida depende de si se establece la propiedad Valor predeterminado para el elemento. Si se establece esta propiedad, el valor predeterminado se incluye en la secuencia de bits. Si no se estableció la propiedad, se genera una excepción.

    Este comportamiento se llama proceso de nulos implícito.

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

    Este comportamiento se llama proceso de nulos explícito.

Resultados

Si se establece un elemento complejo en NULL, dicho elemento y todos sus elementos hijo se suprimen.