Version 6.0.3
Ab 4D Server Version 6 gibt es drei Möglichkeiten, den 4D Code auf dem Server-Rechner auszuführen:
Trigger
Serverprozeduren
Datenbankmethoden
Trigger
Trigger sind Tabellenereignisse, die ablaufen, wenn bestimmte Ereignisse auftreten, die das Sichern, Löschen und Laden von Datensätzen betreffen. Sie unterbinden unzulässige Operationen in den Datensätzen und schützen vor unabsichtlichem Löschen. In einem Rechnungssystem kann ein Trigger zum Beispiel dafür sorgen, daß eine Rechnung erst dann vollständig ist, wenn auch der dazugehörige Kunde eingetragen wurde.
Trigger werden auf dem Rechner ausgeführt, der die Datenbank-Engine enthält. Auf 4D Server werden Trigger innerhalb des aktuell laufenden Prozesses auf dem Server-Rechner ausgeführt, und nicht auf dem Client-Rechner. Mit 4D Server wird ein Trigger innerhalb des Benutzerprozesses ausgeführt, der die Operation in der Datenbank hervorruft. Der Trigger kann dagegen nicht auf die Prozeßvariablen des Benutzerprozesses zugreifen.
Weitere Informationen dazu finden Sie im Handbuch 4th Dimension Programmiersprache im Abschnitt Trigger.
Serverprozeduren
Serverprozeduren sind Projektmethoden, die Methoden in Prozessen ausführen, die auf dem Server-Rechner laufen. Weitere Informationen finden Sie im Abschnitt Serverprozeduren.
Datenbankmethoden
Fünf Datenbankmethoden werden auf dem Server-Rechner ausgeführt:
On Server Startup
On Server Shutdown
On Server Open Connection
On Server Close Connection
On Web Connection
Weitere Informationen dazu finden Sie in den folgenden Abschnitten
4D Server und Variablen
4D Server verwaltet eine Tabelle Interprozeßvariablen. Diese Variablen liegen auf dem Server-Rechner. Bei einer kompilierten Datenbank ist die Tabelle Interprozeßvariablen für Server und alle Client-Rechner gleich, jeder Rechner hat jedoch einen eigenen Variableninhalt.
Jede Serverprozedur hat eine eigene Tabelle Prozeßvariablen. Bei einer kompilierten Datenbank ist die Tabelle Prozeßvariablen für Server und alle Client-Rechner gleich, jeder Rechner hat jedoch einen eigenen Variableninhalt.
In interpretierter Form können Datenbankmethoden und Trigger während jeder Ausführungsphase Prozeßvariablen dynamisch erstellen und verwenden. Das geht nicht in kompilierter Form. Bei einer kompilierten Datenbank teilen sich Datenbankmethoden und Trigger eine gemeinsame Tabelle der Prozeßvariablen. (Die Definition ist identisch mit der anderer Prozesse).
Alle Serverprozeduren teilen sich die Interprozeßvariablen auf dem Server (da sie dort ablaufen), unabhängig von welchem Client sie gestartet wurden. Trigger teilen sich die gleichen Interprozeßvariablen wie die Serverprozeduren. Darüberhinaus greifen alle Trigger auf die gleichen Prozeßvariablen zu, während jede Serverprozedur bzw. jeder Serverprozeß eigene Prozeßvariablen erhalten.
4D Server und Mengen
Interprozeß- und Prozeßmengen werden auf dem Server-Rechner, lokale Mengen auf den Client-Rechnern verwaltet. Weitere Informationen finden Sie im Abschnitt 4D Server und Mengen.