4D v16.3EXECUTE FORMULA |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
EXECUTE FORMULA
|
EXECUTE FORMULA ( instruçao ) | ||||||||
Parâmetro | Tipo | Descrição | ||||||
instruçao | String |
![]() |
Código a executar | |||||
EXECUTE FORMULA executa instruçao como uma linha de código. A cadeia de instrução deve ser de uma só linha. Se instruçao é uma cadeia vazia,EXECUTE FORMULA não faz nada.
A regra é que se a instrução pode ser executada como um método de uma linha, então se executará corretamente. O comando EXECUTE FORMULA deve ser utilizado com precaução, já que diminui a velocidade de execução. Em um banco compilado, o código da instrução não está compilado. Isto significa que a instrução será executada, mas não será verificada pelo compilador no momento da compilação.
Nota: a execução de fórmulas em modo compilado pode ser otimizada utilizando uma memória caché (ver [#cmd id="63" anchor="2882913"/] abaixo).
A instrução pode estar em:
A instrução pode incluir variáveis processo e interprocesso. A instrução não pode conter instruções de controle de fluxo, (Se, While, etc) porque a instrução deve ter só uma linha de código.
Para garantir que a instrução será avaliada corretamente, independente da linguagem 4D ou da versão usadas, recomenda-se usar a sintaxe token para elementos cujo nome possa variar entre as diferentes versões (comandos, tabelas, campos, constantes). Por exemplo, para inserir o comando Current time entre 'Current time:C178'. Para saber mais, veja Usar tokens em fórmulas.
Por otimização, cada fórmula executada vía EXECUTE FORMULA em modo compilado pode ser armazenada em uma memória caché na memória dedicada. A fórmula é armazenada em caché em forma tokenizada. Uma vez que se coloca na caché, suas execuções posteriores estão altamente otimizadas já que o passo de tokenização se evita.
O tamanho da cache é zero como padrão (sem caché); deve ser criada ou ajustada com o comando SET DATABASE PARAMETER. Por exemplo:
SET DATABASE PARAMETER(Number of formulas in cache;0) //sem caché de fórmulas
SET DATABASE PARAMETER(Number of formulas in cache;3) //até três fórmulas podem ser armazenadas em cache para cada processo
O comando EXECUTE FORMULA utiliza a caché só quando se chama desde um banco de dados ou componente compilado.
Se quiser executar instruções usando chamadas para comandos 4D e tabelas. Já que esses elementos poderiam ser renomeados, pode-se garantir a correta execução em versões futuras de seu aplicativo ao usar a sintaxe token, como mostrado abaixo:
EXECUTE FORMULA("Year of:C25 ([Products:5]Creation_Date:2])+$add")
Produto: 4D
Tema: Fórmulas
Número
63
Modificado: 4D v11 SQL
Modificado: 4D v15 R4
Manual de linguagem 4D ( 4D v16)
Manual de linguagem 4D ( 4D v16.1)
Manual de linguagem 4D ( 4D v16.2)
Manual de linguagem 4D ( 4D v16.3)