A função BITSTREAM retorna um valor de tipo BLOB que representa
o fluxo de bits descrito pelo campo especificado e seus filhos. Para mensagens de entrada, a parte apropriada do fluxo de bits de entrada é
utilizada.
Para mensagens construídas por nós Compute, o seguinte algoritmo é utilizado
para estabelecer o ENCODING, CCSID, conjunto de mensagens, tipo de mensagem e formato da mensagem:
- Se o campo endereçado tiver um irmão anterior e este irmão for a raiz
de uma subárvore que pertence a um analisador capaz de fornecer
um ENCODING e CCSID, estes valores serão obtidos e utilizados para gerar o
fluxo de bits solicitado. De outra maneira, são utilizados o ENCODING e CCSID padrão do intermediário (ou seja, os de seu gerenciador de filas).
- De forma semelhante, se o campo endereçado tiver um irmão anterior e este irmão for a raiz
de uma subárvore que pertence a um analisador capaz de fornecer
um conjunto de mensagens, tipo de mensagem e formato da mensagem, estes valores serão obtidos e utilizados para gerar o
fluxo de bits solicitado. Caso contrário, são utilizadas cadeias de comprimento zero.
Geralmente, esta função é utilizada para situações de
armazéns de mensagens, em que o fluxo de bits de uma mensagem
precisa ser armazenado em um banco de dados. A função retorna o fluxo de bits da parte física da mensagem de entrada,
identificada pelo parâmetro.
Em alguns casos, ela não retorna o fluxo de bits que representa
o campo real identificado. Por exemplo, as duas chamadas a seguir
retornam o mesmo valor:
BITSTREAM(Root.MQMD);
BITSTREAM(Root.MQMD.UserIdentifier);
porque elas estão contidas na mesma
parte da mensagem.