WebSphere Message Broker, Versão 8.0.0.5 Sistemas operacionais: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Consulte as informações sobre a versão mais recente do produto em IBM Integration Bus, Versão 9.0

função ASBITSTREAM

A função de campo ASBITSTREAM gera um fluxo de bits para a subárvore de um determinado campo de acordo com as regras do analisador que possui o campo.

A função de campo ASBITSTREAM utiliza parâmetros fornecidos pelo responsável pela chamada para:
  • Codificação
  • CCSID
  • Conjunto de Mensagens
  • Tipo de Mensagem
  • Formato de Mensagem
  • Opções
A função ASBITSTREAM remove a limitação da função BITSTREAM existente, que pode ser utilizada apenas em uma árvore produzida por um analisador que pertence a um nó de entrada.

A função BITSTREAM é mantida apenas para compatibilidade com versões anteriores.

Sintaxe

Ler diagrama de sintaxeManter visual do diagrama de sintaxe
>>-ASBITSTREAM -( -FieldReference--+------------------------------+--)-><
                                   | .-<<-----------------------. |      
                                   | V                          | |      
                                   '---+-OPTIONS--expression--+-+-'      
                                       +-ENCODING--expression-+          
                                       +-CCSID--expression----+          
                                       +-SET--expression------+          
                                       +-TYPE--expression-----+          
                                       '-FORMAT--expression---'          

Observe que cada cláusula pode ocorrer apenas uma vez.

ASBITSTREAM retorna um valor de tipo BLOB que contém uma representação de fluxo de bits do campo que é apontado por FieldReference e seus filhos.

O algoritmo para fazer sito varia de analisador para analisador e de acordo com as opções especificadas. Todos os analisadores suportam os seguintes modos:
  • RootBitStream, no qual o algoritmo que gera o fluxo de bits é o mesmo que o algoritmo que é utilizado por um nó de saída. Neste modo, um resultado significativo é obtido apenas se o campo apontado estiver no topo de uma subárvore com uma estrutura apropriada.
  • EmbeddedBitStream, na qual o algoritmo que gera o fluxo de bits não é apenas o mesmo algoritmo usado por um nó de saída, mas é também
    • Codificação
    • CCSID
    • Conjunto de Mensagens
    • Tipo de Mensagem
    • Formato de Mensagem
    são determinados, se não estiverem explicitamente especificados, da mesma forma que o nó output. Ou seja, eles são determinados pela pesquisa de irmãos anteriores de FieldReference na suposição de que representam cabeçalhos.

    Dessa forma, o algoritmo para determinar estas propriedades é essencialmente igual ao utilizado para a função BITSTREAM.

Alguns analisadores também suportam outro modo, FolderBitStream, que gera um fluxo de bits significativo para qualquer subárvore, desde que o campo apontado represente uma pasta.

Em todos os casos, o fluxo de bits obtido possui a característica que pode ser fornecida a uma instrução CREATE com a cláusula PARSE, utilizando o mesmo DOMAIN e OPTIONS para reproduzir a subárvore original.

Quando a função for chamada, quaisquer expressões de cláusula serão avaliadas. Será emitida uma exceção se qualquer uma das expressões não resultar em um valor de tipo apropriado.

Se qualquer parâmetro for NULL, o resultado será NULL.

Cláusula Type Valor Padrão
OPTIONS Número Inteiro RootBitStream & ValidateNone
ENCODING Número Inteiro 0
CCSID Número Inteiro 0
SET Caractere Cadeia de comprimento zero
TYPE Caractere Cadeia de comprimento zero
FORMAT Caractere Cadeia de comprimento zero

Para obter detalhes da sintaxe da cláusula TYPE, consulte Especificando Namespaces na Propriedade Mensagem.

Embora a cláusula OPTIONS aceite qualquer expressão que retorna um valor de tipo inteiro, ela apenas é significativa para gerar valores de opções da lista de constantes fornecidas, utilizando a função BITOR se mais de uma opção for requerida.

O valor gerado se torna um inteiro e pode ser salvo em uma variável, transmitido como um parâmetro para uma função ou utilizado diretamente em uma chamada de ASBITSTREAM. A lista de constantes definidas globalmente é:
        Validate master options...
        ValidateContentAndValue
        ValidateValue		  -- Pode ser utilizado com ValidateContent
        ValidateContent		-- Pode ser utilizado com ValidateValue
        ValidateNone

        Validate failure action options...
        ValidateException
        ValidateExceptionList
        ValidateLocalError
        ValidateUserTrace
Nota:
  1. Para obter detalhes completos sobre as opções de validação, consulte Propriedades de Validação.

APIs equivalentes a C e Java™

Observe que as opções equivalentes não estão disponíveis em:
  • Os métodos MBElement da API do nó do plugin Java createElementAsLastChildFromBitstream() e toBitstream()
  • Os métodos da API do nó de plugin C cniCreateElementAsLastChildFromBitstream() e cniElementAsBitstream.

Apenas uma opção de cada grupo pode ser especificada, com exceção de ValidateValue e ValidateContent, que podem ser utilizados juntos para obter a validação de conteúdo e valor. Se você não especificar uma opção em um grupo, a opção em negrito será utilizada.

A cláusula ENCODING aceita qualquer expressão que retorne um valor de tipo integer. No entanto, apenas será significativo gerar valores de codificação a partir da lista de constantes fornecidas:
       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 a codificação do gerenciador de filas.

Os valores que são utilizados para a cláusula CCSID segue o sistema de numeração normal. Por exemplo, 1200 = UCS-2, 1208 = UTF-8.

Além dos valores especiais, 0 e -1 são suportados:
  • 0 utiliza o CCSID do gerenciador de filas
  • -1 utiliza os CCSIDs conforme determinado pelo próprio analisador. Este valor está reservado.

Para cláusulas ausentes, são utilizados os valores padrão especificados. Utilize o CCSID e os valores padrão de codificação, porque eles utilizam seus valores a partir da codificação e das definições de CCSID do gerenciador de filas.

Da mesma forma, utilize os valores padrão para cada uma das opções de conjunto de mensagens, tipo e formato, pois muitos analisadores não requerem informações sobre conjunto de mensagens, tipo ou formato; portanto, qualquer valor válido é suficiente.

Quando todas as expressões forem avaliadas, o fluxo de bits apropriado será gerado.
Nota: Como esta função possui um grande número de cláusulas, uma sintaxe alternativa é suportada, na qual os parâmetros são fornecidos como uma lista separada por vírgulas em vez de separada por cláusulas denominadas. Neste caso, as expressões devem estar na seguinte ordem:
ENCODING -> CCSID -> SET -> TYPE -> FORMAT -> OPTIONS

A lista pode ser truncada em qualquer ponto e uma expressão totalmente vazia pode ser utilizada para quaisquer cláusulas nas quais você não fornece um valor.

Exemplos

      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 | Downloads | Biblioteca | Suporte | Feedback

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

        
        Última atualização:
        
        Última atualização: 2015-02-28 18:29:57


Tópico de ReferênciaTópico de Referência | Versão 8.0.0.5 | ak05510_