Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
EXECUTE FORMULA
|
EXECUTE FORMULA ( Anweisung ) | ||||||||
Parameter | Typ | Beschreibung | ||||||
Anweisung | String |
![]() |
Auszuführender Code | |||||
Der Befehl EXECUTE FORMULA führt Anweisung als eine Codezeile aus. Dieser Befehl kommt zum Einsatz, wenn Sie eine Anweisung bewerten müssen, die ein Benutzer erstellen oder ändern kann.
Die Anweisung muss in einer Zeile sein. Ist Anweisung ein leerer String, führt EXECUTE FORMULA nichts aus. Als Faustregel gilt: Anweisung wird korrekt ausgeführt, wenn sie als einzeilige Methode ausführbar ist.
Sie sollten den Befehl nur selten verwenden, da er die Ausführungsgeschwindigkeit verlangsamt. In einer kompilierten Datenbank ist die Codezeile nicht kompiliert, d.h. Anweisung wird ausgeführt, jedoch nicht vom Compiler in Kompilierzeit geprüft. Eine Case of-Schleife ist in jedem Fall schneller.
Hinweis: Die Ausführung von Formeln im kompilierten Modus lässt sich durch Verwendung des Cache optimieren (siehe nächsten Absatz Cache für Formeln im kompilierten Modus).
Anweisung kann folgende Elemente enthalten:
Hinweise:
Anweisung kann Prozessvariablen und Interprozessvariablen enthalten, jedoch keine Elemente für Befehlsfolgen, wie If, Case of, Else, da nur einzeiliger Code möglich ist.
Um sicherzustellen, dass Anweisung unabhängig von der 4D Programmiersprache oder Version korrekt bewertet wird, empfehlen wir die Syntax mit Tokens bei Elementen zu verwenden, deren Name sich zwischen verschiedenen Versionen ändern kann (Befehle, Tabellen, Felder, Konstanten). Um beispielsweise den Befehl Current time einzufügen, geben Sie 'Current time:C178' ein. Weitere Informationen dazu finden Sie im Abschnitt Tokens in Formeln verwenden.
Für Optimierungszwecke lässt sich jede Formel, die über den Befehl EXECUTE FORMULA im kompilierten Modus ausgeführt wird, in einem neuen spezifischen Cache im Speicher beibehalten. Die Formel wird als Token abgespeichert. Liegt sie einmal im Cache, sind nachfolgende Ausführungen in hohem Maße optimiert, da die Tokenisierung übersprungen wird.
Die Größe des Cache ist standardmäßig Null (kein Cache); sie muss über den Befehl SET DATABASE PARAMETER erstellt bzw. angepasst werden.
SET DATABASE PARAMETER(Number of formulas in cache;0) //Kein Cache für Formeln
SET DATABASE PARAMETER(Number of formulas in cache;3) //Bis zu drei Formeln können für alle Prozesse im Cache gespeichert werden
Der Befehl EXECUTE FORMULA verwendet den Cache nur, wenn er über eine kompilierte Datenbank oder Komponente aufgerufen wird.
Sie wollen Formeln ausführen, die Aufrufe von 4D Befehlen und Tabellen enthalten. Da diese u.U. umbenannt werden, können Sie für die korrekte Ausführung in zukünftigen Versionen sorgen, wenn Sie die Syntax mit Tokens verwenden:
EXECUTE FORMULA("Year of:C25 ([Products:5]Creation_Date:2])+$add")
Produkt: 4D
Thema: Formel
Nummer:
63
Geändert: 4D v11 SQL
Geändert: 4D v15 R4
4D Programmiersprache ( 4D v20 R7)