Variáveis ESQL

Uma variável ESQL é um campo de dados utilizado para ajudar a processar uma mensagem.

Para utiliza uma variável, primeiro você deve declará-la e informar seu tipo. O tipo de dados de uma variável é fixo; se você escrever código ESQL que atribua um valor de tipo diferente, ou será implementado um lançamento implícito para o tipo de dados do destino ou ocorrerá uma exceção (se o lançamento implícito não for suportado).

Para definir uma variável e nomeá-la, utilize a instrução DECLARE.
Nota: Os nomes de variáveis ESQL fazem distinção entre maiúsculas e minúsculas, portanto, é importante certificar-se de utilizar o tipo de letra correto em todos os locais. A maneira mais simples de garantir isso é sempre definir variáveis utilizando nomes com letras maiúsculas.
O Message Broker Toolkit sinaliza, com marcadores de avisos, as variáveis que não foram definidas. É recomendável remover todos estes avisos antes de implementar um fluxo de mensagens.

Você pode designar um valor inicial para a variável na instrução DECLARE. Se um valor inicial não for especificado, as variáveis escalares serão inicializadas com o valor especial NULL, enquanto as variáveis ROW serão inicializadas em um estado vazio. Subseqüentemente, você pode alterar o valor da variável utilizando a instrução SET.

Existem três tipos de nó interno que podem conter código ESQL e, portanto, suportam a utilização de variáveis ESQL:

Escopo, Existência e Compartilhamento de Variáveis

Quão extensa e por quanto tempo uma variável ESQL específica fica disponível são descritos por seu escopo, existência e compartilhamento:

O escopo de uma variável é uma medida do intervalo no qual ela é visível. No ambiente do intermediário, o escopo de variáveis normalmente é limitado ao nó individual.

A existência de uma variável é uma medida do tempo durante o qual ela mantém seu valor. No ambiente do intermediário, a existência de uma variável varia, mas geralmente é restrita à existência de um encadeamento em um nó.

As características de compartilhamento de uma variável indicam se cada encadeamento tem sua própria cópia da variável ou se uma variável é compartilhada entre muitos encadeamentos. No ambiente do intermediário, as variáveis geralmente não são compartilhadas.

Tipos de Variável

Você pode utilizar a Instrução DECLARE para definir três tipos de variável:
Externo
As variáveis externas (definidas com a palavra-chave EXTERNAL) também são conhecidas como UDPS (Propriedades Definidas pelo Usuário): consulte Propriedades Definidas pelo Usuário no ESQL. Elas existem durante toda a existência de um fluxo de mensagens e são visíveis para todas as mensagens que passam pelo fluxo. Seus valores iniciais (opcionalmente configurados pela instrução DECLARE) podem ser modificados, no tempo de design, pelo editor de Fluxo de Mensagens ou, no tempo de implementação, pelo editor de BAR. Seus valores não podem ser modificados pelo ESQL.
Normal
As variáveis "normais" possuem uma existência de apenas uma mensagem que é transmitida por um nó. Elas são visíveis apenas a essa mensagem. Para definir uma variável "normal", omita as palavras-chave EXTERNAL e SHARED.
Compartilhado
As variáveis compartilhadas podem ser utilizadas para implementar um cache em memória no fluxo de mensagens, consulte Otimizando Tempos de Resposta do Fluxo de Mensagens. As variáveis compartilhadas têm uma existência longa e são visíveis para várias mensagens transmitidas por um fluxo, consulte Variáveis de Existência Longa. Elas ocorrem durante a existência do processo do grupo de execução, a existência do fluxo ou nó ou a existência do SQL do nó que declara a variável (aquele que for o mais curto). Elas são inicializadas quando a primeira mensagem é transmitida pelo fluxo ou nó, após a inicialização de cada intermediário.

Consulte também a opção ATOMIC do Instrução BEGIN ... END. A construção BEGIN ATOMIC é útil quando várias alterações precisam ser feitas em uma variável compartilhada e é importante evitar que outras instâncias vejam os estados intermediários dos dados.

Para obter informações sobre tipos específicos de variáveis, consulte:
Conceitos relacionados
Propriedades Definidas pelo Usuário no ESQL
Variáveis de Existência Longa
Visão Geral de Fluxos de Mensagens
Tarefas relacionadas
Desenvolvendo Fluxos de Mensagens
Desenvolvendo ESQL
Referências relacionadas
Nós Internos
Nó Compute
Nó Database
Nó Filter
Instrução DECLARE
Instrução BEGIN ... END
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback
Direitos Autorais IBM Corporation 1999, 2006 Última Atualização: 1 Sep 2006
ak01010_