Prozessierung eines Formulars 

Jedes Formular besteht aus einer oder mehreren Seiten. Die erste Seite im Baum ist die Startseite. Mit ihr beginnt die Abarbeitung (Prozessierung) des Formulars. Die Prozessierung einer Seite (und damit der Knoten) erfolgt in der im Baum festgelegten Reihenfolge.

Ist eine Seite abgearbeitet (gefüllt) und die Prozessierung des Formulars ist noch nicht beendet (noch nicht alle Texte oder Daten sind ausgegeben), so wird eine weitere Seite prozessiert. Welche Seite als Folgeseite verwendet wird, kann statisch bei der Definition des Formulars (Folgeseite) oder dynamisch zur Laufzeit (manueller Seitenumbruch) festgelegt werden.

Eine bestimmte Seite wird solange wiederholt, bis die Prozessierung des Formulars beendet ist.

Haupt- und Nebenfenster

Jede Seite enthält ein oder mehrere Fenster. Die Aufbereitungsvorschriften für die Texte und Daten in einem Fenster werden einem Smart Style (siehe auch Smart Styles), entnommen. Die Bereitstellung der Texte erfolgt in Abhängigkeit von den Daten und wird durch eine Ausgabesteuerung beschrieben. Jedes Fenster verweist auf eine Ausgabesteuerung.

Alle Fenster einer Seite müssen unterschiedliche technische Namen haben. Jedes Fenster kann jedoch auf mehreren Seiten vorhanden sein. Tritt ein Fenster auf mehreren Seiten auf, so verweist es immer auf die gleiche Ausgabesteuerung.

Maximal ein Fenster kann als Hauptfenster ausgezeichnet werden. Es muß auf allen Seiten, auf denen es auftritt, als Hauptfenster gekennzeichnet werden. Alle anderen Fenster werden als Nebenfenster bezeichnet.

Die Prozessierung eines Fensters besteht in der Abarbeitung der zugeordneten Ausgabesteuerung. Die Prozessierung des Fensters auf einer Seite endet, wenn das Fenster gefüllt ist. Beim Hauptfenster wird die Abarbeitung der Ausgabesteuerung unterbrochen und wieder aufgenommen, wenn das Haupfenster auf einer folgenden Seite erneut prozessiert wird. Bei Nebenfenstern wird die Ausgabesteuerung erneut (von Anfang an) abgearbeitet, wenn das Nebenfenster auf einer folgenden Seite erneut prozessiert wird.

Der wesentliche Unterschied zwischen einem Haupt- und einem Nebenfenster besteht also darin, daß der durch die Ausgabesteuerung des Hauptfensters ermittelte Inhalt auf mehrere Seiten verteilt werden kann (Fließtext, automatischer Seitenumbruch von Text und Daten), während dies bei Nebenfenstern nicht möglich ist.

Die Prozessierung eines Fensters kann an Bedingungen geknüpft werden (nur auf der ersten Seite, nicht auf der ersten Seite, usw.). Trifft eine solche Bedingung nicht zu, so wird die Prozessierung des Fensters auf der vorliegenden Seite komplett unterdrückt.

Ausgabesteuerung

Die Ausgabesteuerung eines Fensters beschreibt, wie aufgrund der vorgegebenen Daten der Inhalt eines Fensters zusammengesetzt und aufbereitet wird.

Die Ausgabesteuerung wird durch die Knoten in der Hierarchiestruktur (Baum) definiert, deren Wurzelknoten das Fenster ist. Die Knoten des Baumes besitzen verschiedenen Typen und haben dementsprechend verschiedene Eigenschaften (Art der Abarbeitung, Anzahl der Nachfolger, usw.). Jedem Knoten können Ausgabeoptionen und Bedingungen zugeordnet werden.

Die Abarbeitung einer Ausgabesteuerung besteht in der Abarbeitung der Nachfolger des Wurzelknotens in der Reihenfolge ihres Auftretens im Baum. Die Abarbeitung eines Knotens erfolgt in folgenden Schritten:

  1. Ist dem Knoten eine Bedingung zugeordnet, so wird diese Bedingung ausgewertet. Ist die Bedingung nicht erfüllt, so wird der Knoten (einschließlich seiner direkten Nachfolger) nicht abgearbeitet.
  2. Es wird die dem Knoten zugeordnete Aktion ausgeführt (z.B. Ausgabe eines Textes in das Fenster, Abarbeitung von Programmzeilen, usw.).
  3. Die direkten Nachfolger (Söhne) des Knotens im Baum werden abgearbeitet. Die Reihenfolge des Abarbeitung (sequentiell von oben nach unten, nur zu bestimmten Zeitpunkten, alternativ, wiederholt) ist vom Typ des Knotens abhängig.
  4. Sind einem Knoten Ausgabeoptionen zugeordnet, so gelten diese Ausgabeoptionen für alle Ausgaben in dem Fenster, das durch den Knoten und seine Nachfolger beschrieben wird.

Als Bedingung für die Abarbeitung eines Knotens sind zulässig:

Folgende Ausgabeoptionen können festgelegt werden: