Eine typische Anforderung beim Arbeiten mit Untertabellenansichten ist es, eine Schleife über alle Zeilen der Untertabellenansicht durchzuführen, in der jeweiligen Zeile eine Bedingung zu prüfen (z.B. ob ein bestimmter Eintrag in einer Auswahlliste getroffen wurde) und abhängig von dieser Prüfung Werte in der Zeile zu ändern oder diese zu summieren. In diesem Beispiel gehen wir davon aus, dass in einer Untertabellenansicht kontierung in einer Spalte konto mit einer Auswahlliste vorhanden ist. Für alle Zeilen, in denen in dieser Auswahlliste das Konto 4400 ausgewählt ist, soll eine Summe über die Spalte nettobetrag gebildet und in ein Dezimalfeld dezimalSumme4400 geschrieben werden. Die Funktion soll immer ausgeführt werden, wenn ein Wert in der Konto- oder der Nettobetrag-Spalte geändert wird. Dazu können Sie die folgende Funktion erstellen:
Die von Ihnen erstellte Funktion wird über die jr_loop_table-Methode aufgerufen. Dazu hinterlegen Sie den folgenden Aufruf beim OnChange-Event der konto-Spalte und der nettobetrag-Spalte: jr_loop_table(„kontierung“, summe4400);
Die Loop-Methode ruft Ihre Funktion nun pro Zeile auf, so dass jeweils überprüft wird, ob das Konto 4400 ausgewählt wurde. Wenn ja, wird der Wert aus der Spalte nettobetrag zur die Variable summe addiert. Diese Variable wird außerhalb der Funktion summe4400 definiert, da es sich um eine globale Variable handelt, die Ihren Wert bei jedem Aufruf der Funktion behalten muss.