Limit für Verarbeitungsschleifen
Mit diesem Natural Profil- und Session-Parameter können Sie das allgemeine Limit für Verarbeitungsschleifen in Natural-Programmen bestimmen, d.h. wieviele Datensätze eine Verarbeitungsschleife in einer Natural-Anwendung maximal verarbeiten darf.
Dieses Limit gilt für alle Statements, mit denen Datensätze aus der Datenbank gelesen werden, d.h.:
Statements, die eine Verarbeitungsschleife auslösen, wie zum Beispiel
READ
,
FIND
,
HISTOGRAM
oder
SELECT
und
Statements, mit denen nur ein einzelner Datensatz gelesen wird, wie zum
Beispiel FIND
UNIQUE
,
FIND
NUMBER
,
FIND
FIRST
, GET
(SAME
) und
SELECT
SINGLE
.
Alle gelesenen Datensätze werden gezählt und das Ergebnis dieser Zählung
wird mit dem im LT
-Parameter gesetzten Wert verglichen.
Hierbei werden alle gelesenen Datensätze mitgezählt, auch solche, die aufgrund
einer WHERE
-Klausel eines FIND
-, READ
-
oder HISTOGRAM
-Statements zurückgewiesen und nicht
weiterverarbeitet werden. Das mit dem LT
-Parameter
gesetzte Limit hat keine Auswirkung auf die Statements STORE
,
UPDATE
, DELETE
, END TRANSACTION
und
BACKOUT TRANSACTION
.
Wird ein Datensatz von der Datenbank gelesen, wird die Anzahl der
gelesenen Datensätze erhöht, bevor sie mit dem Wert des
LT
-Parameters verglichen wird. Übersteigt der erhöhte
Zählwert den aktuellen LT
-Wert, wird der Natural-Fehler
NAT1003 (Global limit for database calls reached
)
ausgegeben. Der Wert der gezählten gelesenen Datensätze wird immer dann auf
Null gesetzt, wenn ein Natural-Programm auf Level 1 gestartet wird. Der Wert
wird allerdings nicht zurückgesetzt, wenn das Programm auf Level 1 ein anderes
Natural-Objekt aufruft (weitere Informationen hierzu siehe
Mehrere
Stufen (Levels) aufgerufener Objekte im
Leitfaden zur Programmierung). Deshalb wird mit dem
LT
-Parameter die Anzahl der Datensätze begrenzt, die von
einem Level 1-Programm und von den Objekten gelesenen wurden, die von diesem
Programm auf einem anderen Level als Level 1 aufgerufen wurden.
Wird der Wert des LT
-Parameters dynamisch in einem
Programm mittels einem SET GLOBALS
LT=n
-Statement geändert, wird der neue
Limit-Wert beim nächsten Statement wirksam, das einen Datensatz von der
Datenbank liest.
In einer Natural-Session kann der Profilparameter
LT
durch den Session-Parameter LT
überschrieben werden.
Mögliche Werte | 0 - 2147483647
In einer Session: ( |
Maximale Anzahl der Datensätze, die in einer gegebenen Verarbeitungsschleife gelesen werden können. Hierbei werden alle gelesenen Datensätze mitgezählt, auch solche,
die aufgrund einer
|
|
---|---|---|---|
Standard-Einstellung | 99999999 |
||
Dynamische Spezifikation | ja | ||
Spezifikation in Session | ja | Gültige Statements: | SET
GLOBALS , siehe Anmerkung.
|
Gültiges Kommando: | GLOBALS ,
siehe Anmerkung.
|
||
Programmierschnittstelle (API) | USR1005N |
Siehe SYSEXT - Natural Application Programming Interfaces in der Utilities-Dokumentation. |
Anmerkung:
Wird der LT
-Parameter mit einem SET
GLOBALS
-Statement oder einem SET GLOBALS
-Systemkommando
benutzt, kann der einstellbare Limit-Wert nicht größer als der
LT
-Wert sein, der im in der Natural
Parameterdatei NATPARM
gesetzt wurde.