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