Ein Modul ist eine Folge von Deklarationen, die Variablen und ihre Initialisierung definieren, sowie eine Folge von Subroutinendeklarationen (Funktions- und Prozedurdeklarationen), die ein bestimmtes Verhalten für einen Nachrichtenflussknoten definieren.
Ein Modul muss mit der Anweisung CREATE Knotentyp MODULE beginnen und mit der Anweisung END MODULE enden. Der Knotentyp muss COMPUTE, DATABASE oder FILTER sein. Der Eingangspunkt des ESQL-Codes ist die MAIN-Funktion mit dem Bereich MODULE.
Jedes Modul wird durch einen Namen angegeben, der auf CREATE Knotentyp MODULE folgt. Der Name kann für Sie mit einem Standardwert erstellt werden, den Sie ändern können, oder Sie können ih selbst erstellen. Bei dem Namen muss die Groß-/Kleinschreibung nicht beachtet werden (d. h., Sie können den Namen mit einer beliebigen Kombination aus Groß- und Kleinbuchstaben verwenden, er stimmt trotzdem mit der Deklaration überein). Im Gegensatz dazu muss bei Namen, die Sie für Schemata, Konstanten, Variablen und Kennungen deklarieren, die Groß-/Kleinschreibung beachtet werden, und Sie müssen diese Namen genau so angeben, wie Sie sie deklariert haben.
Sie müssen den Code für ein Modul in einer ESQL-Datei mit dem Suffix .esql erstellen. Erstellen Sie diese Datei in demselben Broker-Schema wie der Knoten, der darauf verweist. Für jeden Knoten muss jeweils ein Modul des richtigen Typs vorhanden sein, das für diesen Knoten spezifisch ist und nicht von einem anderen Knoten verwendet werden kann.
Wenn Sie eine ESQL-Datei erstellen (oder eine Task ausführen, die eine ESQL-Datei erstellt), geben Sie das Nachrichtenflussprojekt und das Brokerschema an, denen die Datei zugeordnet ist, sowie den Namen für die Datei.
In der ESQL-Datei wird der Name der einzelnen Module durch den Wert der entsprechenden Eigenschaft des Nachrichtenflussknotens festgelegt. Die Eigenschaft ESQL-Modul für den Rechenknoten gibt beispielsweise den Namen des Moduls des Knotens in der ESQL-Datei an. Der Standardwert für diese Eigenschaft ist der Name des Knotens. Sie können einen anderen Namen angeben, müssen jedoch sicherstellen, dass der Wert der Eigenschaft und der Name des Moduls, das die erforderliche Funktion bereitstellt, identisch sind.
Das Modul muss die MAIN-Funktion enthalten, die den Eingangspunkt für das Modul darstellt. Diese wird automatisch eingefügt, wenn das Modul für Sie erstellt wird. In MAIN können Sie ESQL so codieren, dass das Verhalten des Knotens konfiguriert wird. Wenn Sie ESQL in das Modul einfügen, das Variablen, Konstanten, Funktionen und Prozeduren deklariert, haben diese nur einen lokalen Geltungsbereich und können nur in diesem Modul verwendet werden.
Wenn Sie ESQL-Konstanten, -Funktionen oder -Prozeduren wiederverwenden möchten, müssen Sie diese auf Brokerschemaebene deklarieren. Sie können dann von jeder Ressource in diesem Brokerschema, in demselben oder einem anderen Projekt, auf sie verweisen. Wenn Sie dieses Verfahren verwenden möchten, müssen Sie einen vollständig qualifizierten Namen für die Prozedur angeben oder eine PATH-Anweisung einfügen, die das Qualifikationsmerkmal festlegt. Die PATH-Anweisung muss in derselben ESQL-Datei, jedoch nicht innerhalb eines MODULS codiert sein.