Tempo aproximado para leitura: 00:08 min
Dúvida
Como criar um gatilho?
Ambiente
Cross Segmento - TOTVS Backoffice (Linha Protheus) - Financeiro - Todas as Versões.
Solução
No Metadado do Microsiga Protheus, existe o recurso que permite o preenchimento automático de campos a partir da ação de outro campo, sem a necessidade de criação de rotinas customizadas ou alteração das rotinas padrão do sistema.
Esse comportamento é controlado por meio dos gatilhos, configurados diretamente no dicionário de dados.
O Protheus disponibiliza três tipos de gatilho, cada um com uma finalidade específica, conforme descrito a seguir.
1. Gatilho Primário
O gatilho primário é o tipo mais utilizado no sistema. Sua configuração exige apenas a definição do:
Campo que disparará o gatilho
Campo de destino (contra domínio)
Regra de preenchimento
Após a validação do campo de disparo, o sistema preenche automaticamente o campo de contra domínio por meio da macroexecução da regra definida.
Quando o campo X7_SEEK estiver configurado com o valor “S”, o sistema efetuará o posicionamento da tabela indicada. Nesse cenário, o campo X7_REGRA pode conter o nome de um campo da tabela posicionada, cujo valor será atribuído ao campo de destino.
2. Gatilho Estrangeiro
O gatilho estrangeiro é responsável pelo preenchimento de um campo em uma tabela externa, definida pelo conjunto de parâmetros:
X7_ALIAS
X7_ORDEM
X7_CHAVE
Diferentemente do gatilho primário, esse tipo de gatilho é executado apenas no momento da confirmação da tela, e o preenchimento ocorre diretamente na base de dados, não atuando no buffer de memória.
3. Gatilho de Posicionamento
O gatilho de posicionamento é utilizado quando há necessidade de posicionar uma tabela específica, permitindo a recuperação de informações a partir de um determinado índice e chave definidos nos parâmetros do gatilho.
Campos Utilizados na Configuração dos Gatilhos
A seguir, estão descritos os principais campos envolvidos na configuração dos gatilhos no Protheus:
| Campo | Tipo | Descrição |
|---|---|---|
X7_CAMPO |
Caracter |
Campo que irá disparar o gatilho. Deve existir no SX3 e possuir o atributo X3_TRIGGER configurado como “S”. |
X7_SEQUENC |
Caracter |
Sequenciador dos gatilhos vinculados a um mesmo campo. |
X7_REGRA |
Caracter |
Regra de preenchimento atribuída ao campo de destino (contra domínio). O conteúdo é macroexecutado e seu resultado é atribuído ao campo definido em X7_CDOMIN. |
X7_CDOMIN |
Caracter |
Campo de destino (contra domínio) que receberá o valor resultante da execução da regra. |
X7_TIPO |
Caracter |
Tipo de gatilho. Valores aceitos: P (Primário), E (Estrangeiro) e X (Posicionamento). |
X7_SEEK |
Caracter |
Indica se haverá posicionamento de tabela. Valores aceitos: “S” (Sim) ou “N” (Não). |
X7_ALIAS |
Caracter |
Tabela que será posicionada durante a execução do gatilho. |
X7_ORDEM |
Numérico |
Número do índice que será utilizado para a pesquisa. |
X7_CHAVE |
Caracter |
Chave de pesquisa utilizada na tabela definida em X7_ALIAS. O conteúdo é macroexecutado e o resultado é utilizado como chave de busca. |
X7_CONDIC |
Caracter |
Função condicional que determina se o gatilho deverá ou não ser executado. |
X7_PROPRI |
Caracter |
Prioridade do parâmetro: “S” para Sistema ou “U” para Usuário. |
Importante
Em caso de dúvidas, sugerimos o acionamento da equipe de suporte framework.
O suporte padrão não presta auxílio na criação ou configuração de gatilhos. Esse processo deve ser analisado, validado e implementado pela equipe de TI da própria empresa ou através do HUB plataformas.
Saiba mais
0 Comentários