LE - Reaktion auf Limit-Überschreitung bei Verarbeitungsschleifen

Mit diesem Natural Profil- und Session-Parameter bestimmen Sie, was geschehen soll, wenn bei der Ausführung einer Verarbeitungsschleife das angegebene Limit (d.h. die maximale Anzahl der Schleifendurchläufe) bei einem Statement READ, FIND oder HISTOGRAM erreicht wird.

Mögliche Werte ON Die Schleife wird beendet, wenn das Limit erreicht ist. Das Programm wird dann mit dem auf die beendete Schleife folgenden Statement fortgesetzt. Nach Beendigung der Ausführung des Natural-Objekts, wird der Fehler NAT0957 (Database loop limit reached with 'LE=ON'.) ausgegeben.

Anmerkung:
LE=ON gilt nur für Programme, die von einer in der Systemdatei FUSER abgelegten Library geladen werden, d.h. der Library SYSTEM, oder einer Library mit einem Namen, der nicht mit dem Präfix SYS anfängt.

OFF Die Schleife wird beendet, wenn das Limit erreicht ist. Das Programm wird dann mit dem auf die beendete Schleife folgenden Statement fortgesetzt. Nach Beendigung der Ausführung des Natural-Objekts, wird keine Fehlermeldung ausgegeben.
Standard-Einstellung OFF
Dynamische Angabe ja
Angabe innerhalb der Session ja Gültige Statements: SET GLOBALS
Gültiges Kommando: GLOBALS
Programmierschnittstelle (API) USR1005N Siehe SYSEXT Utility - Natural Application Programming Interfaces in der Utilities-Dokumentation.

Anmerkungen:

  1. Der Parameter LE gilt bei READ, FIND und HISTOGRAM-Statements, bei denen ein Limit angegeben ist (siehe Beispiel).
  2. Das Limit kann entweder ein (mit dem LIMIT-Statement angegebenes) globales Limit oder ein schleifenspezifisch festgesetztes Limit sein.
  3. In einer Natural-Session kann der Profilparameter LE durch den Session-Parameter LE überschrieben werden.

Beispiel:

DEFINE DATA LOCAL
1 EMPL-VIEW VIEW OF EMPLOYEES
  2 NAME
END-DEFINE
READ (10) EMPL-VIEW BY NAME
  WRITE NAME
END-READ
END

Bei LE=OFF: Nach 10 Datensätzen wird die Schleife ohne eine Meldung beendet.

Bei LE=ON: Nach 10 Datensätzen wird die Schleife mit einer Fehlermeldung NAT0957 (Database loop limit reached with 'LE=ON') beendet.