Cláusula PATH

A cláusula PATH especifica uma lista de esquemas adicionais a serem procurados ao corresponder chamadas de funções e de procedimentos para suas implementações. O esquema no qual a chamada se encaixa é incluído implicitamente na cláusula PATH.

A cláusula PATH é utilizada para resolver função não qualificada e nomes de procedimentos nas ferramentas de acordo com o seguinte algoritmo.

Uma única função ou procedimento deve corresponder ao nome não qualificado ou as ferramentas relatarão um erro. Você pode corrigir o erro qualificando o nome da função ou procedimento com um schemaId:
  1. No módulo atual (se houver algum) é feita uma procura por uma função ou procedimento correspondente. As funções ou procedimentos no escopo do módulo são visíveis apenas no módulo que as contém. Se funções ou procedimentos com o mesmo nome forem localizados no módulo e esquema atuais, as funções ou procedimentos no escopo do módulo terão precedência sobre funções ou procedimentos com escopo definido pelo esquema.
  2. O <node schema> (mas nenhum de seus modules contidos) e o <SQL-broker schema> ou os esquemas identificados pela cláusula PATH são pesquisados quanto à função ou procedimento correspondente.
Nota: O schemaId deve ser um nome completo de esquema.

Ao iniciar uma função ou procedimento, o nome que você utiliza deve ser qualificado pelo nome do esquema. O comportamento depende das circunstâncias:

No caso de uma rotina de módulo:
  • Se o esquema for especificado, a rotina de esquema nomeada será iniciada. As funções integradas escalares, excluindo CAST, EXTRACT e registros especiais, são consideradas como definidas dentro de um esquema implicitamente declarado denominado SQL.
  • Se o esquema não for especificado e a instrução de chamada estiver em uma rotina de módulo e a rotina do nome fornecido existir no módulo local, essa rotina local será iniciada.
  • Se o esquema não for especificado, e a instrução de chamada estiver em uma rotina do módulo, e não existir uma rotina com o nome especificado no módulo local, em todos os esquemas no caminho de esquema será feita uma procura por uma rotina com o mesmo nome.

    Se existir uma função correspondente em um esquema, ela será utilizada. Se existir uma função de correspondência em mais de um esquema, ocorrerá um erro de tempo de compilação. Se não houver função correspondente, o SQL do esquema será pesquisado.

    Esta regra e a regra precedente implicam que uma rotina de módulo local tem prioridade sobre uma rotina interna com o mesmo nome.

No caso de uma rotina de esquema:
  • Se o esquema for especificado, a rotina de esquema nomeada será iniciada. As funções integradas escalares, excluindo CAST, EXTRACT e registros especiais, são consideradas como definidas dentro de um esquema implicitamente declarado denominado SQL.
  • Se o esquema não for especificado e o responsável pela chamada for uma rotina de esquema e existir uma rotina do nome fornecido no esquema local, essa rotina local será iniciada.
  • Se o esquema não for especificado e a instrução de chamada estiver em uma rotina de esquema e a rotina do nome fornecido não existir no esquema local, será pesquisada uma rotina com o mesmo nome em todos os esquemas no caminho do esquema.

    Se existir uma função correspondente em um esquema, ela será utilizada. Se existir uma função de correspondência em mais de um esquema, ocorrerá um erro de tempo de compilação. Se não houver função correspondente, o SQL do esquema será pesquisado.

    Esta regra e a regra precedente implicam que uma rotina de esquema local tem prioridade sobre uma rotina interna com o mesmo nome.

O <esquema do nó> é definido como o esquema que contém o fluxo de mensagens do nó.

O <node schema> é especificado desta maneira para fornecer compatibilidade com versões anteriores do WebSphere Message Broker.

Quando <node schema> for o único esquema referenciado, a mensagem XML do intermediário não inclui os recursos extras contidos no WebSphere Message Broker V6.0.

Os intermediários de versões anteriores do WebSphere Message Broker não suportam vários esquemas, por exemplo, bibliotecas de sub-rotinas para reutilização. Para implementar um intermediário em uma versão anterior do produto, coloque todas as sub-rotinas ESQL no mesmo esquema do fluxo de mensagens e o nó que inicia as sub-rotinas ESQL.

As ferramentas Eclipse utilizam a sintaxe ESQL do WebSphere Message Broker V6.0 em validação do assistente de conteúdo e do código-fonte. Ao gerar código ESQL do intermediário, as ferramentas Eclipse podem gerar código de estilo V2.1 para compatibilidade com versões anteriores.

O esquema do intermediário do fluxo de mensagens deve conter, no nível do esquema, qualquer um dos seguintes itens em seus arquivos ESQL:
  • Uma função de nível de esquema
  • Um procedimento de nível de esquema
  • Uma constante de nível de esquema
  • Uma constante de nível do módulo
  • Uma variável de nível do módulo

Sem a presença de qualquer um dos itens precedentes, as ferramentas Eclipse gerarão a ESQL do intermediário sem os wrappers Principais de módulo e função. Esse estilo é aceito pelos intermediários V2.1 e V5.0. No entanto, se você utilizar um intermediário V2.1, não é possível utilizar nenhuma sintaxe V5.0 ou V6.0 no código, por exemplo, espaço de nomes.

Os nomes de funções e procedimentos devem ser exclusivos em seu esquema ou módulo.

Exemplos

O exemplo a seguir inclui um caminho em um esquema chamado CommonUtils:
BROKER SCHEMA CommonUtils
PATH SpecialUtils;

MODULE ....
O próximo exemplo inclui um caminho no esquema padrão:
PATH CommonUtils, SpecialUtils;

MODULE ....
Conceitos relacionados
Visão Geral do ESQL
Tarefas relacionadas
Desenvolvendo ESQL
Referências relacionadas
Diagramas de Sintaxe: Tipos Disponíveis
instruções ESQL
Instrução BROKER SCHEMA
Instrução CREATE MODULE
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Última atualização : 2009-02-13 16:12:43

ak05105_