TurboPL Referenz sub Kommando |
Top Previous Next |
Syntax sub [Selektion] Erklärung Die Anweisungen zwischen sub und endsub werden für alle mit dem aktuellen Datensatz der Primärtabelle verknüpften Datensätze ausgeführt. Ein Subreport führt, wenn es sich um die Primärtabelle handelt (und keine Verschachtelung vorliegt) zu einer kompletten (eventuell durch einen Filter eingeschränkten) Bearbeitung der Tabelle. Handelt es sich nicht um die Primärtabelle oder um einen verschachtelten Subreport, so werden die zum aktuellen Datensatz gehörenden Sätze der im Subreport angesprochenen Tabellen bearbeitet. Innerhalb des Subreports wird die Primärtabelle vorübergehend auf die dort angesprochene Tabelle (falls es sich um eine handelt) bzw. die letzte bei der Relationsbildung (falls mehrere Tabellen vom Subreport betroffen sind) gesetzt. Subreports dienen zur Bearbeitung aller an einen Datensatz der Primärdatei gekoppelten Datensätze einer Sekundärdatei. Beispiel Tabelle Felder ------------------------------------------------------------ KUNDEN Name, Vorname ARTIKEL Bezeichnung, Einzelpreis BESTELL Bestelldatum, Kunde(L->KUNDEN), Bezahlt POSTEN Bestellung(L->BESTELL), Artikel(L->ARTIKEL), Menge primtableis KUNDEN Jeder einzelne Subreport kann mit einer eigenen Selektion versehen werden. Diese Selektion wirkt dann nur auf diesen, nicht aber auf darin verschachtelte Subreports. Die in der Selektion angesprochenen Tabellen werden ebenfalls zur Bildung der Relation (Datensatzkombinationen) herangezogen. Von denjenigen Tabellen, die ausschließlich in der Selektion angesprochen werden (und nicht mehr im Innern des Subreports), wird (falls überhaupt ein angekoppelter Satz vorhanden ist), nur eine Kombination gebildet. Beispiel primtableis KUNDEN Falls sich ein Subreport auf nur eine Tabelle bezieht, kann eine Sortierung der zu bearbeiteten Datensätze erzwungen werden. Dazu wird das Sortierkriterium in Form einer Indexbeschreibung dem endsub nachgestellt. Beispiel Das folgende Programmfragment setzt zunächst einen Filter auf die Tabelle KUNDEN. Innerhalb des Subreports werden daraufhin die Datensätze in der dem Filter entsprechenden Indexreihenfolge erzeugt (hier Land,PLZ). Das nach ENDSUB angegebene Sortierkriterium sorgt dann dafür, dass die dem Subreport zugeführten Datensätze dieser Reihenfolge (Name,Vorname) entsprechen. primtableis KUNDEN Siehe auch |