Tabellen (3)
Tabellen für Aufbau des Queries. Wird mit Selektionsvorlagen gearbeitet, wird dieser Teil normalerweise nicht verwendet, da die Selektionsdaten bereits das Grundgerüst enthalten.
Für diesen Schritt sind Datenbank-Kenntnisse erforderlich (faros-Schema und Progress-4GL bzw. OpenEdge ABL). Im Gegensatz zu SQL werden die Bedingungen fix von oben nach unten abgearbeitet. Wird OUTER-JOIN nicht angegeben handelt es sich um INNER-JOIN's.

| Wert | Beschreibung |
|---|---|
| Gewählte DB-Tabellen | In der Rubrik vorhandene Datenbasis werden alle möglichen Datenbank-Tabellen angezeigt und können mit Doppelklick oder Button Mit dem Button Die bereits mit der Selektionsvorlage ausgewählten Tabellen werden aus Gründen der Uebersichtlichkeit hier nicht angezeigt; ersichtlich sind sie jedoch im Folder Bedingungen (4). Die ausgewählten Tabellen können mit den nachfolgend beschriebenen Buttons wie folgt bearbeitet werden: |
| Markierte Zeile nach oben verschieben | |
| Markierte Zeile nach unten verschieben | |
| Dieser Button wird nicht mehr unterstützt; deshalb ist er ausgeblendet | |
| Der JOIN zu der übergeordneten Tabelle wird automatisch generiert (aufgrund der Regeln von OpenEdge). Dies ist jedoch heikel; die Empfehlung ist, diese Funktion nur zu verwenden wenn Sie die Regeln verstanden haben. Es ist sicherer, die JOIN-Bedingung in der WHERE-Klausel eindeutig festzulegen | |
| Nur zusammen mit OUTER-JOIN einsetzbar: Die Bedingung ist erfüllt, wenn die Bedingung NICHT erfüllt ist. Dies ist eine Erweiterung von SYSE gegenüber der Original OpenEdge-Syntax und darf nur verwendet werden, wenn kein individueller Ausgabefilter bei der Subfunktion hinterlegt ist | |
| Erster Record der Bedingung verwenden; Normalfall ausser bei erstem Record. Wird weder FIRST noch LAST gewählt, steht das für EACH (alle Records die Bedingung erfüllen, gibt zusammen mit JOIN eine Vervielfachung der Anzahl Records wenn Bedingung nicht eindeutig) | |
| Letzter Record; sonst analog zu Find first | |
| Record muss nicht vorhanden sein; dies entspricht dem LEFT OUTER JOIN in SQL. In diesem Fall sind die entsprechenden Felder leer | |
| Markierte Zeile zurücksetzen | |
| Platzhalter | Hier können Variable definiert werden, die erst bei der Ausführung erfasst werden können, um das Query zu steuern. Syntax Nr,Feldbezeichnung,Typ,oblig,Funkt,Checkprogramm, Codeart,Doku,Vorgabewert xx 9,9 Für leere Felder am Schluss können Kommas weggelassen werden. |
| Nr (1. Feld) | Feld-Nummer (1-9) für Verwendung in Bedingungen |
| Feldbezeichnung (2. Feld) | Dieser Text wird im Startbild angezeigt |
| Typ (3. Feld) | Feldtyp, muss vorhanden sein |
| INT | Zahl ohne Dezimalstellen |
| DECI | Dezimalzahl |
| CHAR | Beliebiges Zeichen |
| DATE | Datum |
| LOG | Logisches Feld (Y,J,S,O,True,Yes für Ja und N,No,False für Nein) Die Eingabe wird auf Gültigkeit überprüft. |
| oblig (4. Feld) | oblig wenn Feld obligatorisch ist, sonst leer |
| Funkt (5. Feld) | Funktion gemäss nachfolgender Liste. Dies steuert Eingabehilfen |
| DTAW | Auswahl-Möglichkeit mit Funktion DTAW |
| ORT | Auswahl via PLZ-Stamm (Ort) |
| PLZ | Auswahl via PLZ-Stamm (PLZ) |
| AWLG | Auswahl via Liegenschaftsstamm (Verträger-Nr) |
| VLOB | Auswahl via Objektstamm |
| VLOBMF | Auswahl via Objektstamm mit Mehrfachauswahl |
| ADRW | Auswahl via Adressverwaltung (BezNr) |
| CODN | Auswahl via Codetabelle (siehe auch 6. und 7. Feld) |
| CODNMF | Auswahl via Codetabelle mit Mehrfachauswahl |
| AWAB | Auswahl via Abo-Verwaltung (Vorgnr) |
| AWMS | Auswahl via Abo-Kategorie (Merkmalart, Merkmal 1,2,3) |
| KAL | Auswahl via Kalender |
| KALS | Auswahl via Kalender oder mit Schlüsselwörter: Erlaubte Schlüsselwörter: FIRSTDAY_CURRMONTH = Erster Tag des aktuellen Monats FIRSTDAY_CURRYEAR = Erster Tag des aktuellen Jahres FIRSTDAY_NEXTMONTH = Erster Tag des nächsten Monats FIRSTDAY_NEXTYEAR = Erster Tag des nächsten Jahres FIRSTDAY_PREVMONTH = Erster Tag des vorhergehenden Monats FIRSTDAY_PREVYEAR = Erster Tag des vorhergehenden Jahres FIRSTDAY_WEEK = Erster Wochentag LASTDAY_CURRMONTH = Letzter Tag des aktuellen Monats LASTDAY_CURRYEAR = Letzter Tag des aktuellen Jahres LASTDAY_NEXTMONTH = Letzter Tag des nächsten Monats LASTDAY_NEXTYEAR = Letzter Tag des nächsten Jahres LASTDAY_PREVMONTH = Letzter Tag des vorhergehenden Monats LASTDAY_PREVYEAR = Letzter Tag des vorhergehenden Jahres TODAY = Tagesdatum PS: Es können auch + / - Anzahl Tage angegeben werden z.B. FIRSTDAY_PREVMONTH-1 |
| Checkprogramm (6. Feld) | Gewünschtes Prüfprogramm für Parameter (aktuell nur ein Programm vorhanden): checkcode.p Prüfen mit Codeverwaltung |
| Codeart (7. Feld) | Bei Funktion CODN und CODNMF: gewünschte Codetabelle |
| Doku (8. Feld) | Uebernehmen Platzhalter in Titeltext bei SYMT und SYPR : V = Vor Titeltext N = Nach Titeltext leer = nicht übernehmen Wichtig: In der Funktion PMAW muss bei Formular PROTOKOL im Feld Protokoll-Titel mind. der Paramater #T# angewählt sein (sonst wird kein Titel angezeigt) |
| Vorgabewert (9. Feld) | Vorgabewert für Ausführung; kann bei Ausführung noch überschrieben werden Spezialfall: TODAY = Tagesdatum Dieser Parameter sollte nur noch bei Selektionsvorlagen verwendet werden; in SYSE ist die nachfolgend beschriebene Variante besser geeignet |
| xx | Vorgabewerte für Platzhalter im Anschluss an Eintrag in. Dieser Eintrag überschreibt auch allfällige Werte aus der Selektionsvorlage xx Vorgabewert für Ausführung; kann bei Start der Verarbeitung aber überschrieben werden. xx Vorgabewert für Ausführung; dieser Wert kann bei Start der Verarbeitung nicht verändert werden (Feld ist insensitive). |
| [9,9] | Es kann ein Gültigkeitsbereich in eckigen Klammern erfasst werden, damit nur ein bestimmter Bereich erfasst werden kann. [von,bis] bei Datentyp INT, DECI und CHAR: untere und obere Limite des Feldes bei Datentyp DATE: Abweichung von Tagesdatum zurück bzw. im Voraus; es wird kein Vorzeichen angegeben. Beispiel: [5,60] bedeutet, dass alle Datum heute-5 bis heute+60 Tage akzeptiert werden. |