Ir para o conteúdo

Função de Tempo de Execução Mvsql - Caller()

Resumo

As colunas da linha atual podem ser disponibilizadas para os objetos de dados abaixo. Esta função pode então acessar esses valores em vários locais.

Caller() pode ser usado em expressões em Regras CRUD dentro de Eventos, Manipuladores de Sucesso ou Manipuladores de Erro. Quando a função Caller() é usada em um Manipulador de Sucesso ou Erro, a Ação procurará um determinado campo da Regra de Ação da qual está sendo executada. Quando a função Caller() é usada em uma Regra de Ação, ela procura valores de campo do registro no Objeto de Negócio no qual o Evento está sendo executado. Veja o Exemplo de Uso com Manipulador de Sucesso para esclarecimento.

Funções de tempo de execução podem retornar mais de uma string se um parâmetro de tipo for especificado.

Nota

Esta função mvSQL só funcionará em regras CRUD, e não com outros objetos de dados criados em App Builder.

Sintaxe

CALLER(<name> [, datatype>])

Parâmetros

Nome

Uma string representando o nome do critério solicitado.

Tipo de Dados

Tipo de dados, string é padrão, opcional. Tipos de dados suportados:

  • String (padrão)
  • Numérico
  • UUID

Devoluções

Funções de tempo de execução sempre retornam uma string SQL. Elas não retornam NULL. Em vez disso, elas retornam um valor "vazio". O parâmetro type determina qual valor vazio é retornado:

  • Uma String vazia retorna ''
  • Um Numeric vazio retorna '0'
  • Um UUID vazio retorna uuid('00000000-0000-0000-0000-000000000000')

Observações

O CALLER() A função sempre retorna uma string SQL.

Exemplos

Exemplo de Segmentação de Outra Tabela

  • Uma linha da tabela Customer tem um evento Uppercase que tem como alvo outra tabela.

Esta regra poderia ser criada:

SELECT UPPER(CALLER('CustomerName')) as UppercasedName FROM CustomerArchive

O que seria avaliado em tempo de execução para:

SELECT UPPER('John Doe') as UppercasedName FROM CustomerArchive

Exemplo de Uso com Manipulador de Sucesso

  • O Objeto de Negócios '123' tem um Evento chamado 'event'
  • 'event' tem um tipo de Regra Ação com a Regra 'abc'
  • 'abc' tem um Evento de Manipulador de Sucesso, onde Ação do tipo Regra tem Regra 'def'
  • 'def' tem uma Expressão Caller('uuid')
  • Caller('uuid') tem como alvo o PK da Tabela de Destino para 'def' com 'bind' como o tipo de Destino
  • 'uuid' de Caller('uuid') existe pelo nome somente em 'abc', não no Objeto de Negócios '123'
  • No cenário apropriado, o Manipulador de Sucesso dispara e atualiza com sucesso o registro apropriado na Tabela de Destino de 'def' de acordo com a Regra