Gatilhos

O Gatilho permite estabelecer uma atualização dinâmica dos dados através da definição de critérios, isto é, a partir da digitação de um dado é possível atualizar automaticamente outros campos.

Procedimentos

Para definir um gatilho:

1. Selecione Gatilhos.

São apresentados alguns gatilhos já cadastrados utilizados pelo próprio Sistema.

2. Clique em Incluir  e preencha os seguintes campos:
Campo: nome do campo que ao ser alterado inicia o processo de atualização.
Seqüência: número seqüencial gerado pelo sistema para cada gatilho.
Cnt. Domínio: nome contra-domínio, ou seja, campo que  deverá ser atualizado automaticamente.
Tipo: selecione o tipo do gatilho, que pode ser:

P - Primário para atualizações visuais e externas do mesmo arquivo.

E - Estrangeiro para atualizações de dados em outros arquivos.

X - Posicionamento para posicionar o arquivo mencionado no Alias sem efetuar nenhuma atualização. Utilizado para casos em que o usuário deseja estabelecer um relacionamento entre os arquivos.

Regra: expressão em linguagem AdvPL a ser transportada para o contra-domínio.
Posiciona: selecione a opção Sim para movimentar o ponteiro em outro arquivo com base na expressão definida em PROCURA. (SEEK), ou Não, caso contrário.
Alias: aliás do arquivo, as três letras iniciais do arquivo cujo ponteiro deve ser movimentado.
Ordem: número da chave de índice a ser utilizada para movimentação do ponteiro.
Procura: expressão em linguagem que determina o posicionamento do ponteiro (SEEK).
Condição: informe a condição, Execblocks, etc, que irão determinar quando o gatilho deve ser executado.

Exemplo:

Para definir que o gatilho do campo/seqüência L2_PRODUTO/001 será somente executado no móduloSIGALOJA, deve-se informar no campo Condição, a expressão nModulo ==12.

Assim, este gatilho somente será executado no módulo, cuja numeração seja igual a 12 (neste caso, SIGALOJA).

 

31b346fd-12cc-4ac0-a276-c1fabc3b5c78Observação:

Caso esteja trabalhando com o tipo P e fizer referências a campos do próprio arquivo, estes devem ser precedidos da notação M->, que representa a variável de memória. Exemplo: M->C6_QTDVEN.

Exemplo: Ao criar o campo Saldo (B1_SALDO) no Arquivo de Produtos, pode-se definir um gatilho para atualizar automaticamente este campo, quando houver a inclusão de uma previsão de venda para o produto (C4_PRODUTO). A regra deve determinar que o Saldo do Produto será a soma de sua quantidade atual  e a quantidade da Previsão de Venda.

3. Confira os dados e confirme.