WIEDERHOLE Schleife

Top  Previous  Next

Die WIEDERHOLE-Schleife ermöglicht die Aufzählung aller Daten der selben Kategorie, die bei einer Abfrage zur Verfügung stehen.

 

In folgendem Beispiel werden mit der WIEDERHOLE-Schleife die Namen aller Mandanten aufgelistet, die in einem Akt erfasst sind:

 

|WIEDERHOLE *X Akt.AnzahlMandanten|

|Akt.Mandant[*X].Name|

|ENDE WIEDERHOLE|

 

Wenn es fünf Mandanten im Akt gibt, würde |Akt.Mandant[*X].Name| fünfmal dort stehen, und das *X durch 1,2,3,4,5 ersetzt werden.

 

Der letzte Teil (<Anzahl der Wiederholungen>) bezieht sich meist auf Personen bzw. Objekte im Akt. Daher gibt es eine einfache Möglichkeit auf diese Anzahl zuzugreifen.

 

In folgendem Beispiel soll die Vorlage eine Personen/Objekteliste der gewünschten Rolle erstellen:

 

|MAKEPERLIST <Name der Liste> R2[<Name der Rolle]|

 

R2 steht in diesem Fall für Rolle2 (Rolle1 gibt es nicht), statt R2 kann auch R2TL verwendet werden, dies steht für Rolle2TopLevel, hier werden nur Personen/Objekte mit der gewünschten Rolle aus der obersten ebene der Vertragsdaten genommen. Eine Personenliste kann auch zu untergeordneten Rollen erstellt werden:

 

|MAKEPERLIST <Name der Liste> R2[<Name der Rolle 1. Ebene][<Index der Person im Akt][Name der Rolle 2. Ebene]|

 

Bsp: |MAKEPERLIST Funktionsträger R2[Gesellschaft][1][Prokurist]|, würde eine Liste aller Prokuristen erstellen, die unter der ersten Gesellschaft des Aktes zugeordnet sind.

 

Danach kann auf diese Liste für WIEDERHOLE-Schleifen zugegriffen werden:

 

Die Anzahl der im Akt vorkommenden Personen, mit der Rolle <Name der Rolle>, kann mit !GET <Name der Liste>.Count abgerufen werden.

 

Bsp: |MAKEPERLIST Eigentuemer R2[Eigentuemer]|

|WIEDERHOLE *M !GET Eigentuemer.Count|

|Akt.Rolle2[Eigentuemer][*M].Name|

|ENDE WIEDERHOLE|

 

In unserem Beispiel würden nun die Namen aller Eigentümer, mit einer Leerzeile zwischen diesen, aufgelistet werden.

 

Eine andere Möglichkeit die Anzahl einer gewissen Rolle zu bestimmen ist Akt.AnzahlRolle2[<Name der Rolle>].

 

Auch hier können untergeordnete Rollen dazugenommen werden:

Akt.AnzahlRolle2[<Name der Rolle Ebene 1>][<Index der Person mit Rolle Ebene 1 aus dem Akt>][<Name der Rolle Ebene2>].

 

Der <Index der Person mit Rolle Ebene1 aus dem Akt> kann ebenfalls durch eine WIEDERHOLE-Schleife gesetzt werden. So sind geschachtelte Abfragen möglich:

 

BSP:

|WIEDERHOLE *X Akt.AnzahlRolle2[Gesellschaft]|

|WIEDERHOLE *Y

Akt.AnzahlRolle2[Gesellschaft][*X][Geschaeftsfuehrer]|

|Akt.Rolle2[Gesellschaft][*X][Geschaeftsfuehrer][*Y].Name|

|ENDE WIEDERHOLE|

|ENDE WIEDERHOLE|

 

Das Beispiel gibt die Namen aller Geschäftsführer, aller Gesellschaften im Akt aus.