TurboPL Referenz

Datenbankjobs

Top  Previous  Next

Ein Datenbankjob ist ein als Programm formulierter Datenbankbericht, in dem bei der Ausführung Datenbankfelder für Platzhalter eingesetzt werden. Darüberhinaus gibt es viele teilweise ausgeklügelte Anweisungen und Befehle, mit denen auch komplexe Auswertungen durchgeführt werden können.

Ein Datenbankjob ist entweder ein Serienbrief oder ein Report. Der Unterschied besteht nur darin, dass bei einem Serienbrief nach jedem Datensatz bzw. jeder Datensatzkombination eine neue Seite begonnen wird, beim Report dies unterbleibt. Die erste Zeile des Datenbankjobs legt fest, um was es sich handelt:

Serienbriefe beginnen mit .LETTER oder ohne Angabe
Reports beginnen mit .REPORT

Ein Datenbankjob hat folgenden Aufbau:

..Art des Datenbankjobs: Letter oder Report
.Report
 
..Steuerbefehle
.PL 66
 
.Prolog
..Ausgaben, die nur einmal zu Beginn des Datenbankjobs gemacht werden
 
.Kopf
..Ausgaben, die zu Beginn jeder Seite erscheinen
 
.Fuß
..Ausgabe, die am Ende jeder Seite erscheinen
 
.Gruppe
..Ausgaben, die für jede Gruppe einmal gemacht werden
 
.Daten
..Ausgaben, die für jeden Datensatz abgearbeitet werden
 
.Epilog
..Ausgaben, die nur einmal am Ende des Datenbankjobs gemacht werden

Die Reihenfolge der Bereiche muss eingehalten werden. Jeder Bereich kann aber auch weggelassen werden.

Beispiel für einen Serienbrief mit verschachteltem Unterreport:

.LETTER
.DATA
$KUNDEN.Vorname $KUNDEN.Name
$KUNDEN.Straße
 
$KUNDEN.PLZ $KUNDEN.Ort
 
Sehr geehrter Kunde,
 
leider müssen wir feststellen, dass folgende Rechnungen noch offen stehen:
.SUB NOT BESTELL.Bezahlt
               $(BESTELL.Datum:12 BESTELL.Betrag:12:2)
.ENDSUB BESTELL.Datum
Bitte begleichen Sie den Gesamtbetrag von DM $(SUM(BESTELL.Betrag):1:2) bis zum $(DateStr(Today+14))...

Wie in Modulen dürfen auch die Zeilen in einem Datenbankjob 255 Zeichen nicht überschreiten.