- Gruppenwechsel
-
Gruppenwechsel (englisch control break) ist ein Begriff der Datenverarbeitung und bezeichnet den Sachverhalt, dass ein zu verarbeitender Datensatz eines sortierten, sequentiell zu verarbeitenden Eingabe-Datenbestands nicht zur selben Gruppierung gehört wie der unmittelbar vorher verarbeitete. Das zugehörige Verarbeitungsprinzip wird Gruppenkontrolle, Gruppenwechsellogik oder Gruppenwechselverarbeitung genannt. Eine Gruppenwechselverarbeitung ist in der Regel Bestandteil eines Stapelprogramms, meist wird dabei eine Datei verarbeitet. Ein Gruppenwechsel liegt vor, wenn der Ordnungsbegriff eines Datensatzes von dem des vorausgehenden Satzes abweicht. Ein solcher Wechsel erfordert oft spezielle Verarbeitungsschritte wie die Ausgabe einer Summenzeile der vorausgehenden Gruppe sowie die Initialisierung von Variablen für die folgenden Gruppe.[1]
Für Stapelverarbeitungsprogramme gibt es standardisierte Lösungsentwürfe, die eine Gruppenwechselverarbeitung beinhalten, beispielsweise die DIN 66260. Durch die seit den 1980er Jahren immer mehr an Bedeutung gewinnende interaktive Dialogverarbeitung spielt der Gruppenwechsel eine weniger dominierende Rolle[1]. Außerdem enthalten manche höheren Programmiersprachen (wie beispielsweise RPG oder ABAP) eine integrierte Unterstützung der Gruppenverarbeitung [2]. Ebenso wird die Gruppenwechselbehandlung von den meisten Reportgeneratoren unterstützt.
Von einem mehrstufigen Gruppenwechsel spricht man, wenn mehr als ein Ordnungsbegriff anzuwenden ist. Die Ordnungsbegriffe müssen dabei eine hierarchische Abhängigkeit aufweisen, das heißt, die Datensätze sind zuerst nach dem ersten Ordnungsbegriff sortiert und innerhalb des ersten Ordnungsbegriffs nach dem zweiten usw.
Die Sicherstellung der korrekten Sortierfolge der Eingabedaten und – bei gleichzeitiger Verarbeitung mehrerer Eingabedateien – das Bestimmen der korrekten Lesereihenfolge stehen bei manchen Problemstellungen mit der Gruppenwechselverarbeitung in engem Zusammenhang (siehe auch normierte Programmierung).
Inhaltsverzeichnis
Lösungsprinzip
Das übliche Lösungsverfahren sieht für einen einstufigen Gruppenwechsel zwei geschaltete Schleifen vor. Das Abbruchkriterium der äußeren Schleife ist, dass keine Datensätze mehr vorliegen, d. h. bei einer sequentiellen Dateiverarbeitung, dass das Ende der Datei erreicht wurde. Der erste Datensatz ist dabei noch vor der Schleife zu lesen. Innerhalb dieser Schleife wird zunächst der sogenannte Gruppenvorlauf durchgeführt, dieser beinhaltet vor allem das Festhalten des Ordnungskriteriums des aktuellen Datensatzes (zum Beispiel die Personalnummer), um einen Wechsel erkennen zu können. Außerdem sind an dieser Stelle alle Variablen zu initialisieren, die sich auf die Gruppe beziehen, beispielsweise Zähler zur Summenbildung und Informationen zwischenzuspeichern, die in späteren Stufen noch benötigt werden (z. B. Name und Adresse des Mitarbeiters).
An den Gruppenvorlauf schließt sich die innere Schleife an. Das Abbruchkriterium ist wie bei der äußeren Schleife das Dateiende, zudem auch der Wechsel des Ordnungskriteriums der Gruppe. In der inneren Schleife findet die eigentliche Verarbeitung des Satzes statt, dies kann die Ausgabe einer Datenzeile auf einem Drucker oder die Aktualisierung von Summenvariablen für die nächsthöhere Gruppenstufe sein. Am Ende der inneren Schleife ist der nächste Datensatz aus der Datei zu lesen.
Wenn das Abbruchkriterium der inneren Schleife erreicht wurde, liegt ein Wechsel der Gruppe vor, der aktuelle Datensatz bezieht sich dabei bereits auf die folgende Gruppe. Nach der inneren Schleife erfolgt der sogenannte Gruppennachlauf (gelegentlich selbst auch „Gruppenwechsel“ genannt); dieser beinhaltet beispielsweise die Ausgabe einer Summenzeile für die Gruppe.
Nach Erreichen des Abbruchkriteriums der äußeren Schleife kann noch eine Abschlussverarbeitung durchgeführt werden, beispielsweise die Ausgabe einer Gesamtsummenzeile.
Bei einem mehrstufigen Gruppenwechsel besteht der Verarbeitungsteil einer äußeren Gruppe aus der Gruppenwechselsequenz der inneren Gruppe mit Vorlauf, weiterer geschachtelter Schleife und Nachlauf. Die Abbruchbedingung der inneren Schleife beinhalten immer auch die der äußeren, also auch den Wechsel der übergeordneten Gruppenkriterien. Das Lesen der nächsten Satzes findet am Ende der innersten Schleife statt.
Literatur
- Daniel D. McCracken, Donald G. Golden: COBOL: Strukturierte Programmierung mit Cobol 85. 7. Auflage, Oldenbourg Wissenschaftsverlag, München 2001, ISBN 978-3-486-25625-3.
Weblinks
- Richard Lackes, Markus Siepermann: Stichwort: Gruppenwechsel. Im: Gabler Wirtschaftslexikon. Springer Fachmedien Wiesbaden GmbH
- Dean Mellas: Understanding Control Break Logic. In: Programming Logic and Design, Third Edition Introductory (Präsentationensfolien).
Einzelnachweise
- ↑ a b Hans Herbert Schulze: Das Rororo Computer Lexikon. Rowohlt Taschenbuch Verlag, Reinbek bei Hamburg 1984, ISBN 3-499-18105-3, Seite 253.
- ↑ Ulrich Mende: Softwareentwicklung Für R/3: Data Dictionary, ABAP/4, Schnittstellen. Springer Verlag, Berlin 1998, ISBN 3-540-62849-5, Seite 136.
Wikimedia Foundation.