Mit diesem Natural-Profilparameter können Sie die minimale Größe des lokalen Daten-Puffers (DATSIZE) angeben.
| Mögliche Werte | 10 - 2097151 |
Minimale Größe des lokalen Daten-Puffers in KB. |
|---|---|---|
| Standard-Einstellung | 32 |
|
| Dynamische Angabe | ja | |
| Angabe innerhalb der Session | nein |
Anmerkungen:
DS oder das
Parametermakro NTDS
benutzen.
DATSIZE-Puffer ist ein Puffer mit
variabler Größe. Er wird dynamisch erweitert, wenn während der Session mehr
Speicherplatz für lokale Datenbereiche benötigt wird. In einer Thread-Umgebung
kann der DATSIZE-Puffer temporär außerhalb des
Speicher-Thread zugewiesen werden, wenn er zu groß wird. Die Größe des
DATSIZE-Puffer wird wieder auf die Minimalgröße
zurückgesetzt, sobald die Anwendung den Speicherplatz nicht mehr
benötigt.
Zur Ausführungszeit enthält der DATSIZE-Puffer
die lokalen Daten, die vom zurzeit ausgeführten Natural-Hauptprogramm verwendet
werden, und die lokalen Daten aller, von diesem Programm aufgerufenen,
untergeordneten Objekte (Ausnahme: per FETCH-Statement aufgerufene
Programme).
Wenn Sie Natural in einer Entwicklungsumgebung benutzen, entspricht
die erforderliche minimale DATSIZE der
Standard-Einstellung (d.h. 32 KB). Eine geringere
DATSIZE ist nur möglich, wenn Sie Natural nur als
Laufzeitumgebung benutzen und wenn dabei keine Natural-Utilities zur Verfügung
stehen.
Die tatsächlich benötigte DATSIZE kann wie
folgt berechnet werden (siehe Abbildung weiter unten):
Falls vom Natural-Hauptprogramm ein weiteres Objekt aufgerufen wird,
werden die lokalen Daten dieses Objekts ebenfalls im
DATSIZE-Puffer vorgehalten.
Werden von dem aufgerufenen Objekt weitere Objekte aufgerufen (mit
einem der Statements CALLNAT,
PERFORM,
FETCH RETURN oder
INPUT USING MAP oder
per Aufruf einer Helproutine/Helpmap), werden ihre lokalen Daten ebenfalls im
DATSIZE-Puffer vorgehalten; die lokalen Daten eines
aufgerufenen Objekts werden solange im DATSIZE-Puffer
vorgehalten, bis die Kontrolle vom aufgerufenen Objekt an das aufrufende Objekt
zurückgegeben wird.
Wenn mit einem FETCH-Statement ein weiteres Hauptprogramm
aufgerufen wird, dann werden die lokalen Daten aller zuvor aufgerufenen Objekte
aus dem DATSIZE-Puffer gelöscht und die lokalen Daten
des mit dem FETCH-Statement aufgerufenen Programms werden im
DATSIZE-Puffer vorgehalten.
Darüber hinaus wird ein Betrag von ca. 128 Bytes mit allgemeinen
Informationen zur Ausführung im DATSIZE-Puffer
vorgehalten. Hinzu kommen ca. 128 Bytes mit Steuerungsinformationen zu jedem
Objekt, dessen lokale Daten im im DATSIZE-Puffer
vorgehalten werden; siehe Abbildung.

Das Systemkommando LIST bietet
eine Option, mit der Sie sich Verzeichnisinformationen zu einem Objekt anzeigen
lassen können. Dort finden Sie auch Angaben zum
DATSIZE-Speicherbedarf des Objekts (ohne die
Steuerungsinformationen).