Verwendung
Aktivieren Sie diese Option in der Eigenschaften-Anzeige zum BSP-Element, wenn dieses Element wiederholt den eigenen Inhalt durchlaufen, d.h. also eine Schleife implementieren soll.
Aktivitäten
Zusätzlich zur Aktivierung dieser Option ist die Interface-Methode
DO_AT_ITERATION der Elementhandler-Klasse zu redefinieren.Diese Methode wird jeweils am Ende einer Iteration aufgerufen. Mit Hilfe des Rückgabeparameters
RC steuern Sie, ob die Schleife beendet (RC=CO_ELEMENT_DONE) oder erneut durchlaufen (RC=CO_ELEMENT_CONTINUE) wird.Beispiel
Angenommen, es soll ein wiederholter Textaufruf mit einem einfachen <do>-Element realisiert werden, bei dem die Anzahl der Iterationen über das zugehörige Attribut
howOften gesetzt wird.Beispiel:
<loops:do howOften = "10">
Hello World !
</loops:do>
Der Wert des Attributs
howOften wird dabei zu Beginn des Element-Aufrufs in der Methode DO_AT_BEGINNING verwendet, um den Schleifenzähler count zu initialisieren:
method IF_BSP_ELEMENT~DO_AT_BEGINNING . if howOften > 0. count = howOften - 1. rc = CO_ELEMENT_CONTINUE. else. rc = CO_ELEMENT_DONE. endmethod. |
In der Methode
Die Implementierung von
DO_AT_ITERATION könnte in diesem Falle etwa so aussehen:
method IF_BSP_ELEMENT~DO_AT_ITERATION . if count <> 0. count = count - 1. rc = CO_ELEMENT_CONTINUE. else. rc = CO_ELEMENT_DONE. endif. endmethod. |
Beachten Sie, daß die Methode
Der Aufruf von
DO_AT_ITERATION erfolgt sobald der Element-Inhalt prozessiert wurde. Die Methode DO_AT_END wird dagegen in jedem Fall und zwar nur einmal aufgerufen; in diesem Falle erfolgt der Aufruf nach Abschluß der Iteration.