Aufbau des Schleifen-Kommandos

Das Schleifenkommando gliedert sich, ähnlich wie das PDF-Kommando (siehe Paket EDI), in 3 Teile: Gruppenwechsel-Anfang, Schleifendurchlauf und Gruppenwechsel.

Ein Gruppenwechsel tritt auf, wenn eine Änderung in einem Schlüssel vorkommt. Konkret heißt dies, dass ein Gruppenwechsel bei der zeilenweisen Iteration auftritt, wenn von einer Zeile in die nächste gesprungen wird. Bei einer spaltenweisen Iteration tritt ein Gruppenwechsel auf, wenn von einer Spalte in die nächste gewechselt wird. und Gruppenwechsel.

Um die Steuerungsmöglichkeiten bei einem Gruppenwechsel so flexibel wie möglich, den Verwaltungsaufwand für den Benutzer gleichzeitig so niedrig wie möglich zu halten, verfügt das Schleifenkommando über drei Bereiche: Gruppenwechsel-Anfang, Schleifendurchlauf und Gruppenwechsel.

Der Bereich des Gruppenwechselanfang wird am Anfang jeder neuen Gruppe ausgeführt, der Gruppenwechsel (bzw. Gruppenwechselende) wird ausgeführt, nachdem das letzte Element der aktuellen Gruppe im Abschnitt "Schleifendurchlauf" verarbeitet wurde.

Wird die eingangs angeführte Tabelle (siehe Kapitel 9.41.1.5.1) zeilenweise durchlaufen, wobei die Zeilen und Spalten jeweils aufsteigend sortiert sind ("lesen wie ein Buch", Zeile 1 der Übersichtstabelle), tritt der Gruppenwechselanfang daher vor den Werten 1 (Zeile 1, Spalte 1), 4 (Zeile 2, Spalte 1) und 7 (Zeile 3, Spalte 1), der Gruppenwechsel nach den Werten 3 (Zeile 1, Spalte 3), 6 (Zeile 2, Spalte 3) und 9 (Zeile 3, Spalte 3) auf.

Die im Schleifenkommando angegebenen Variablen für den Zeilen- und Spaltenindex sowie den Arraywert besitzen jeweils die Werte des vorhergehenden Elements. Bei den Gruppenwechseln in diesem Beispiel daher folgende Werte:
... für den Gruppenwechselanfang bei 1: Spaltenwert = 1, Zeilenwert = 1, Inhaltswert = 1
... für den Gruppenwechsel bei 3: Spaltenwert = 3, Zeilenwert = 1, Inhaltswert = 3
... für den Gruppenwechselanfang bei 4: Spaltenwert = 1, Zeilenwert = 2, Inhaltswert = 4
... für den Gruppenwechsel bei 6: Spaltenwert = 3, Zeilenwert = 2, Inhaltswert = 6
... für den Gruppenwechselanfang bei 7: Spaltenwert = 1, Zeilenwert = 3, Inhaltswert = 7
... für den Gruppenwechsel bei 9: Spaltenwert = 3, Zeilenwert = 3, Inhaltswert = 9

Ein Gruppenwechselanfang findet nach dem letzten Gruppenwechsel nicht mehr statt und umgekehrt findet kein Gruppenwechsel vor dem ersten Gruppenwechselanfang statt.

Das folgende Beispiel soll mit einfachen Mitteln die Anwendung der Gruppenwechsel veranschaulichen. Dargestellt wird die bekannte Tabelle in einer Meldung in Tabellenform, wobei jede Zeile mit einem Pfeil beginnt und mit einem Zeilenumbruch beendet wird.

Beispiel: Anwendung von Gruppenwechseln

In der ersten Zeile wird das Feld initialisiert (leer gesetzt). Die zweite Zeile beinhaltet den Schleifenkopf. Die Defaultwerte resultieren in einem zeilenweisen Leseablauf („lesen wie ein Buch“), so dass außer der Variable für den Zelleninhalt keine Parameter separat befüllt werden müssen.
Der Ablauf findet nun folgendermaßen statt:

  1. Das Feld $ausgabe wird initialisiert (leer gesetzt)
  2. Es findet ein Gruppenwechselanfang statt, da eine neue Gruppe begonnen wird.
  3. $ausgabe enthält nun "->"
  4. Der Gruppenwechsel-Anfangsblock ist abgearbeitet, es beginnt der Schleifendurchlauf, der aktuelle Wert lautet "1"
  5. $ausgabe enthält nun "-> 1"
  6. Es findet kein Gruppenwechsel statt, der aktuelle Durchlauf ist abgearbeitet, es beginnt eine neuer Durchlauf, der aktuelle Wert lautet noch "2"
  7. Es findet kein Gruppenwechselanfang statt, es wird der Block "Schleifendurchlauf" ausgeführt, $ausgabe enthält „-> 1 2“
  8. Es findet kein Gruppenwechsel statt, der aktuelle Durchlauf ist abgearbeitet, es beginnt ein neuer Durchlauf, der aktuelle Wert lautet "3"
  9. Es findet kein Gruppenwechselanfang statt, "Schleifendurchlauf" wird ausgeführt, $ausgabe wird „3“ angehängt, der Inhalt lautet nun „-> 1 2 3“
  10. Es findet ein Gruppenwechsel statt, der aktuelle Wert lautet noch "3", $ausgabe wird ein Zeilenumbruch angehängt.
  11. Die Punkte 2 bis 10 wiederholen sich mit den veränderten Werten, bis der Wert "9" erreicht wird.
  12. Der Gruppenwchsel wird mit dem Wert "9" das letzte mal ausgeführt und die Schleife beendet.

Die Ausgabe des Bricks sieht folgendermaßen aus: