4D v16.3

EXECUTER FORMULE

Accueil

 
4D v16.3
EXECUTER FORMULE

EXECUTER FORMULE 


 

EXECUTER FORMULE ( instruction ) 
Paramètre Type   Description
instruction  Chaîne in Code à exécuter

EXECUTER FORMULE exécute instruction comme une ligne de code. Cette chaîne d'instructions doit comporter une seule ligne. Si instruction est une chaîne vide, EXECUTER FORMULE ne fait rien.

Le principe est que si instruction peut être exécutée comme une méthode d'une seule ligne, alors elle s'exécutera correctement. La commande EXECUTER FORMULE doit être utilisée avec précautions, car elle ralentit la vitesse d'exécution. Dans une base compilée, le code d'instruction n'est pas compilé. Cela signifie que l'instruction sera bien exécutée, mais ne sera pas vérifiée par le compilateur au moment de la compilation.

Note : L'exécution de formules en mode compilé peut être optimisée à l'aide d'un cache (cf. paragraphe "Cache de formules en mode compilé" ci-dessous).

L'instruction peut notamment contenir les éléments suivants :

  • un appel à une méthode projet,
  • un appel à une commande 4D,
  • une assignation.

La formule peut utiliser des variables process et interprocess. En revanche, instruction ne doit pas contenir d'instructions de contrôle de flux (Si, Tant que...) car le code doit "tenir" sur une seule ligne.

Pour assurer une évaluation correcte de l'instruction quelle que soit la langue ou la version de 4D, il est recommandé d'utiliser la syntaxe tokenisée pour les éléments dont le nom peut varier au fil des versions (commandes, tables, champs, constantes). Par exemple, pour insérer la commande Heure courante, saisissez 'Current time:C178'. Pour plus d'informations sur ce point, reportez-vous à la section Utiliser des tokens dans les formules.

A des fins d'optimisation, chaque formule exécutée via EXECUTER FORMULE en mode compilé peut être conservée en mémoire dans un cache dédié. La formule est stockée sous forme de références (tokens). Une fois placée dans le cache, une formule s'exécutera de manière beaucoup plus rapide par la suite car la phase de tokenisation sera évitée.

La taille du cache est de zéro par défaut (pas de cache) ; vous devez le créer et l'ajuster à l'aide de la commande FIXER PARAMETRE BASE. Par exemple :

 FIXER PARAMETRE BASE(Nombre de formules en cache;0) //pas de cache de formules
 FIXER PARAMETRE BASE(Nombre de formules en cache;3) //jusqu'à trois formules peuvent être en cache pour chaque process

La commande EXECUTER FORMULE utilise le cache uniquement lorsqu'elle est appelée depuis une base ou un composant exécuté(e) en mode compilé.

Exemple  

Vous souhaitez exécuter des formules comportant des appels à des commandes 4D et à des tables. Ces éléments pouvant potentiellement être renommés, vous pouvez vous assurer d'une exécution correcte dans les versions futures de votre application en utilisant la syntaxe tokenisée :

 EXECUTER FORMULE("Year of:C25 ([Produits:5]Date_Creation:2])+$ajout")



Voir aussi  

EDITER FORMULE
FIXER PARAMETRE BASE
Nom commande

 
PROPRIÉTÉS 

Produit : 4D
Thème : Formules
Numéro : 63
Nom intl. : EXECUTE FORMULA

 
HISTORIQUE 

Modifié : 4D v11 SQL
Modifié : 4D v15 R4

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v16)
4D - Langage ( 4D v16.1)
4D - Langage ( 4D v16.2)
4D - Langage ( 4D v16.3)