autonumber(a,b,c,d)
Gruppe |
Beim ersten Aufruf der Funktion (im ersten Profil-Lauf) wird der Nummernkreises a angelegt für dieses Profil (falls d nicht true ist). Der interne Zähler des Nummernkreises wird auf b gesetzt. Siehe Abschnitt Profilwerte (dort können Sie den internen Zähler auch anpassen). Der Rückgabewert der Funktion ist der aktuelle Wert des internen Zählers. Der Nummernkreis (und sein Wert) bleibt erhalten für den nächsten Funktionsaufruf bzw. den nächsten Profil-Lauf.
Bei jedem weiteren Aufruf der Funktion (mit diesem Nummernkreises) wird der interne Zähler um 1 erhöht (falls d nicht true ist). Überschreitet der Wert des internen Zählers das Maximum c oder unterschreitet er das Minimum b, wird er auf das Minimum b zurückgesetzt. Der Rückgabewert der Funktion ist der aktuelle Wert des internen Zählers.
Ist der Parameter d auf true gesetzt, dann wird der interne Zähler nicht hochgezählt. Zudem ist der Rückgabewert der Funktion dabei immer der Wert b+1 (also unabhängig vom Wert des internen Zählers).
Wichtiger Hinweis: Beachten Sie bitte, dass bei jedem Aufruf der Funktion die Parameter b und c verschiedene Werte haben können. Minimum und Maximum des Nummernkreises werden also nicht mit abgespeichert, sondern dynamisch gesetzt. Die Logik zur Bestimmung des aktuellen Wertes des internen Zählers bleibt dabei aber wie oben beschrieben.
Wichtiger Hinweis: Wenn diese Funktion ausgeführt wird, wird jeweils eine Verbindung zur Hauptdatenbank ("hub") hergestellt und wieder geschlossen. Beachten Sie bitte, dass dies zu großen Performanceeinbußen führen kann bei sehr häufigen Funktionsaufrufen.
Parameterbeschreibung
Parameter |
Beschreibung |
a |
Name des Nummernkreises. Wichtiger Hinweis: Case-sensitive! |
b |
Minimum des Nummernkreises. |
c |
Maximum des Nummernkreises. |
d |
(optional) Falls true, dann wird der Nummernkreis nicht hochgezählt. Zudem ist der Rückgabewert der Funktion dabei immer der Wert b+1 (also unabhängig vom Wert des internen Zählers). Default: false. Hinweis: Die Verwendung macht z. B. Sinn, wenn man nicht möchte, dass der Nummernkreis in Mapping-Tests hochgezählt wird. Dabei empfiehlt sich die Verwendung der System-Variable VAR_IS_TEST als Parameter. |
Beispiele
Die Aufrufe erfolgen in dieser Reihenfolge. Der erste Aufruf ist der erste Aufruf für dieses Profil und diesen Nummernkreis.
Parameter a |
Parameter b |
Parameter c |
Parameter d |
Ergebnis |
Interner Zähler |
Nummernkreis_1 |
10 |
13 |
|
10 |
10 |
Nummernkreis_1 |
10 |
13 |
|
11 |
11 |
Nummernkreis_1 |
10 |
13 |
|
12 |
12 |
Nummernkreis_1 |
10 |
13 |
true |
11 |
12 |
Nummernkreis_1 |
10 |
13 |
|
13 |
13 |
Nummernkreis_1 |
10 |
13 |
|
10 |
10 |
Nummernkreis_1 |
17 |
30 |
|
17 |
17 |