WebSphere Message Broker, Versión 8.0.0.5 Sistemas operativos: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Consulte la información sobre la última versión del producto en IBM Integration Bus, Versión 9.0

Función ASBITSTREAM

La función del campo ASBITSTREAM genera una corriente de bits para el subárbol de un campo determinado según las normas del analizador que es el propietario del campo.

La función del campo ASBITSTREAM utiliza parámetros suministrados por el emisor de la llamada para:
  • Codificación
  • CCSID
  • Conjunto de mensajes
  • Tipo de mensaje
  • Formato del mensaje
  • Opciones
La función ASBITSTREAM suprime la limitación de la función BITSTREAM , que se puede utilizar solamente en un árbol generado por un analizador perteneciente a un nodo de entrada.

La función BITSTREAM sólo se conserva por compatibilidad con versiones anteriores.

Sintaxis

Leer el esquema de sintaxisOmitir el esquema de sintaxis visual
>>-ASBITSTREAM -( -ReferenciaCampo--+-----------------------------+--)-><
                                    | .-<<----------------------. |      
                                    | V                         | |      
                                    '---+-OPTIONS--expresión--+-+-'      
                                        +-ENCODING--expresión-+          
                                        +-CCSID--expresión----+          
                                        +-SET--expresión------+          
                                        +-TYPE--expresión-----+          
                                        '-FORMAT--expresión---'          

Observe que cada cláusula puede aparece únicamente una vez.

ASBITSTREAM rdevuelve un valor de tipo BLOB que contiene una representación de corriente de bits del campo al que apunta ReferenciaCampo y sus hijos.

El algoritmo para hacer esto varía según el analizador y en función de las opciones especificadas. Todos los analizadores dan soporte a las modalidades siguientes:
  • RootBitStream, en el que el algoritmo que genera la corriente de bits es el mismo que el algoritmo que utiliza un nodo de salida. En esta modalidad, se obtiene un resultado significativo solamente si el campo al que se apunta está a la cabeza de un subárbol con una estructura adecuada.
  • EmbeddedBitStream, en el que no sólo el algoritmo que genera la corriente de bits es el mismo que el algoritmo que utiliza un nodo de salida, sino también lo siguiente
    • Codificación
    • CCSID
    • Conjunto de mensajes
    • Tipo de mensaje
    • Formato del mensaje
    si no se han especificado explícitamente del mismo modo que el nodo de salida. Esto es, se determinan buscando los elementos hermano anteriores de ReferenciaCampo presuponiendo que representan cabeceras.

    De este modo, el algoritmo para determinar estas propiedades es esencialmente el mismo que se utiliza para la función BITSTREAM.

Algunos analizadores también dan soporte a otra modalidad, FolderBitStream, que genera una corriente de bits significativos para cualquier subárbol, siempre que el campo apuntado represente una carpeta.

En todos los casos, la corriente de bits obtenida puede proporcionarse a una sentencia CREATE con una cláusula PARSE, utilizando los mismos DOMAIN y OPTIONS para reproducir el subárbol original.

Cuando se llama a la función, se evalúa cualquier expresión de la cláusula. Se genera una excepción si cualquiera de las expresiones no dan como resultado un valor del tipo apropiado.

Si cualquier parámetro es NULL el resultado es NULL.

Cláusula Tipo Valor predeterminado
OPTIONS Entero RootBitStream & ValidateNone
ENCODING Entero 0
CCSID Entero 0
SET Carácter Serie de caracteres de longitud cero
TYPE Carácter Serie de caracteres de longitud cero
FORMAT Carácter Serie de caracteres de longitud cero

Para obtener detalles de la sintaxis de la cláusula TYPE, consulte Especificación de espacios de nombres en la propiedad Mensaje.

Aunque la cláusula OPTIONS acepta cualquier expresión que devuelve un valor de tipo entero, solo tiene sentido generar valores de opciones a partir de la lista de constantes suministradas, utilizando la función BITOR si se necesita más de una opción.

El valor generado se convierte en un entero y se puede guardar en una variable, pasarlo como parámetro a una función o utilizarse directamente en una llamada ASBITSTREAM. La lista de constantes definidas globalmente es:
        Opciones de validación maestras...
        ValidateContentAndValue
        ValidateValue		-- Se puede utilizar con ValidateContent
        ValidateContent		-- Se puede utilizar con ValidateValue
        ValidateNone

        Opciones de validación de acciones de error...
        ValidateException
        ValidateExceptionList
        ValidateLocalError
        ValidateUserTrace
Nota:
  1. Para obtener detalles completos sobre las opciones de validación, consulte Propiedades de validación.

API equivalentes Java™ y C

Tenga presente que las opciones equivalentes no están disponibles en:
  • Los métodos MBElement de API de nodo de plugin Java createElementAsLastChildFromBitstream() and toBitstream()
  • Los métodos de API de nodo de plugin C cniCreateElementAsLastChildFromBitstream() y cniElementAsBitstream.

Puede especificar solamente una opción de cada grupo, con la excepción ValidateValue y ValidateContent, que se pueden utilizar conjuntamente para obtener la validación de contenido y valor. Si no especifica una opción en un grupo, se utiliza la opción que está en negrita.

La cláusula ENCODING acepta cualquier expresión que devuelve un valor de tipo entero. No obstante, solo tiene sentido generar valores de codificación de la lista de constantes proporcionada:
       0
       MQENC_INTEGER_NORMAL
       MQENC_INTEGER_REVERSED
       MQENC_DECIMAL_NORMAL
       MQENC_DECIMAL_REVERSED
       MQENC_FLOAT_IEEE_NORMAL
       MQENC_FLOAT_IEEE_REVERSED
       MQENC_FLOAT_S390
0 utiliza la codificación del gestor de colas.

Los valores utilizados para la cláusula CCSID siguen el sistema de numeración normal. Por ejemplo, 1200 = UCS-2, 1208 = UTF-8.

Asimismo, se da soporte a los valores especiales 0 y -1:
  • 0 utiliza el CCSID del gestor de colas
  • -1 utiliza el CCSID según lo determina el propio analizador. Este valor está reservado.

Para cláusulas no presentes, se utilizan los valores predeterminados dados. Se le recomienda que utilice los valores predeterminados de codificación y CCSID debido a que toman los valores de los valores de codificación del gestor de colas y de CCSID.

Del mismo modo, utilice los valores predeterminados para cada una de las opciones de tipo, formato y conjunto de mensajes porque muchos analizadores no necesitan información acerca del tipo, formato o conjunto de mensajes; por lo que cualquier valor es suficiente.

Cuando se evalúan las expresiones, se genera la corriente de bits adecuada.
Nota: Debido a que esta función tiene un gran número de cláusulas, se da soporte a una sintaxis alternativa en la que los parámetros se proporcionan en una lista separados por comas en lugar de mediante cláusulas con nombres. En este caso, las expresiones deben tener el orden siguiente:
ENCODING -> CCSID -> SET -> TYPE -> FORMAT -> OPTIONS

La lista se puede truncar en cualquier punto y se puede utilizar una expresión vacía para cualquier cláusula en la que no proporcione un valor.

Ejemplos

      DECLARE options INTEGER BITOR(FolderBitStream, ValidateContent, 
                                    ValidateValue);
      SET result = ASBITSTREAM(cursor OPTIONS options CCSID 1208);
      SET Result = ASBITSTREAM(Environment.Variables.MQRFH2.Data,,1208
                               ,,,,options);
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Comentarios

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Última actualización:
        
        Última actualización: 2015-02-28 16:59:57


Tema de referenciaTema de referencia | Versión 8.0.0.5 | ak05510_