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).