Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com

Home

 
4D v20 R7
EXECUTE FORMULA

EXECUTE FORMULA 


 

EXECUTE FORMULA ( Anweisung ) 
Parameter Typ   Beschreibung
Anweisung  String in 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:

  • Aufruf einer Funktion (Projektmethode, die einen Wert zurückgibt)
  • Aufruf eines 4D Befehls
  • Eine Zuweisung

Hinweise: 

  • Ist Anweisung eine Projektmethode, sollten Sie EXECUTE METHOD verwenden, da Sie hier auch Parameter übergeben können.
  • Sie sollten in Anweisung keine Befehle zur Variablendeklaration aufrufen, wie z.B. _O_C_DATE, da dies zu Konflikten im Code führen kann.

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")



Siehe auch 

Command name
EDIT FORMULA
SET DATABASE PARAMETER

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Formel
Nummer: 63

Dieser Befehl kann in preemptive Prozessen laufen

 
SEITENINHALT 
 
GESCHICHTE 

Geändert: 4D v11 SQL
Geändert: 4D v15 R4

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v20 R7)