RESIZE
|
dynamic-clause | [GIVING
operand5]
|
||
array-clause |
Dieses Dokument behandelt folgende Themen:
Eine Erläuterung der in dem Syntax-Diagramm verwendeten Symbole entnehmen Sie dem Abschnitt Syntax-Symbole.
Verwandte Statements: EXPAND
| REDUCE
Gehört zur Funktionsgruppe: Speicherverwaltungskontrolle für dynamische Variablen/X-Arrays.
Das Statement RESIZE
dient dazu, Folgendes anzupassen:
die zugewiesene Länge einer dynamischen Variable (dynamic-clause) oder
die Anzahl der Ausprägungen von X-Arrays (array-clause).
Weitere Informationen entnehmen Sie den folgenden Abschnitten im Leitfaden zur Programmierung:
Operanden-Definitionstabelle:
Operand | Mögliche Struktur | Mögliche Formate | Referenzierung erlaubt | Dynam. Definition | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operand1 | S | A | A | U | B | nein | nein | |||||||||||||
operand2 | C | S | I | nein | nein | |||||||||||||||
operand3 | A | G | A | N | P | I | F | B | D | T | L | C | G | O | ja | nein | ||||
operand4 | C | S | N | P | I | nein | nein | |||||||||||||
operand5 | S | I4 | nein | ja |
Syntax-Element-Beschreibung:
dynamic-clause | Mit dem Statement RESIZE DYNAMIC können Sie die
Länge des aktuell zugewiesenen Speicherplatzes einer dynamischen Variable
(operand1) an den mit
operand2 angegebenen Wert anpassen. Weitere
Informationen, siehe DYNAMIC-Klausel
weiter unten.
|
---|---|
operand1 | operand1 ist die dynamische Variable, für die die zugewiesene Länge angepasst werden soll. |
operand2 | operand2 dient dazu, die neue Länge der dynamischen Variable anzugeben. Der angegebene Wert muss eine nicht negative, numerische Ganzzahl-Konstante oder eine Variable des Typs Integer4 (I4) sein. |
array-clause | Mit dem Statement RESIZE ARRAY wird die Anzahl der
Ausprägungen des X-Arrays (operand3) auf die mit
(dim[,dim[,dim]])
angegebene Ober- und Untergrenze angepasst. Weitere Informationen siehe
Array-Klausel
weiter unten.
|
operand3 | operand3 ist das X-Array. Die Ausprägungen des X-Arrays können erweitert oder verringert werden. Die Index-Notation des Arrays ist optional. Als Index-Notation ist für jede Dimension nur die Stern-Notation (*) für den vollständigen Bereich zulässig. |
dim
operand4 |
Die Notation für die Ober- und Untergrenze (operand4 oder Stern-Notation), auf die das X-Array erweitert werden soll, wird hier angegeben. Wenn der aktuelle Wert der Ober- oder Untergrenze verwendet werden soll, kann ein Stern (*) anstatt operand4 angegeben werden. Weitere Informationen, siehe Dimension weiter unten. |
GIVING operand5 |
Wenn die Wenn die |
[SIZE OF ] DYNAMIC [VARIABLE ]
operand1
TO
operand2
|
Mit dem Statement RESIZE DYNAMIC
können Sie die Länge des
aktuell zugewiesenen Speicherplatzes einer dynamischen Variable
(operand1) an den mit
operand2 angegebenen Wert anpassen.
Wenn Sie das RESIZE
-Statement benutzen, wird die Anzahl
der Ausprägungen an die erforderlichen Werte angepasst, ungeachtet der
Tatsache, ob die Anzahl der Ausprägungen erhöht oder verringert werden
muss.
[AND RESET ] [OCCURRENCES OF ] ARRAY
operand3
TO (dim[,dim[,dim]])
|
Mit dem Statement RESIZE ARRAY
wird die Anzahl der
Ausprägungen des X-Arrays (operand3) auf die mit
TO
(dim[,dim[,dim]])
angegebene Ober- und Untergrenze angepasst, wobei jedes
dim
eine mittels der im Folgenden
beschriebenen Syntax definierte Dimension ist.
Die RESET
-Option setzt alle Ausprägungen des größenmäßig
angepassten X-Arrays auf ihren standardmäßigen Nullwert zurück. Als
Voreinstellung (keine RESET
-Option) werden die Direktwerte
beibehalten, und die größenmäßig angepassten (neuen) Ausprägungen werden
zurückgesetzt.
Eine in einem RESIZE
-Statement benutzte Ober- und
Untergrenze muss genau mit der betreffenden, für das Array definierten Ober-
und Untergrenze identisch sein.
DEFINE DATA LOCAL 1 #a(I4/1:*) 1 #g(1:*) 2 #ga(I4/1:*) 1 #i(i4) END-DEFINE ... */ resizing #a (1:10) RESIZE ARRAY #a TO (1:10) /* #a is resized to RESIZE ARRAY #a TO (*:10) /* 10 occurrences. /* resizing #ga (1:10,1:20) RESIZE ARRAY #g TO (1:10) /* 1st dimension is set to (1:10) RESIZE ARRAY #ga TO (*:*,1:20) /* 1st dimension is dependent and /* therefore kept with (*:*) /* 2nd dimension is set to (1:20) RESIZE ARRAY #a TO (5:10) /* This is rejected because the lower index /* must be 1 or * RESIZE ARRAY #a TO (#i:10) /* This is rejected because the lower index /* must be 1 or * RESIZE ARRAY #ga TO (1:10,1:20) /* (1:10) for the 1st dimension is rejected /* because the dimension is dependent and /* must be specified with (*:*).
Weitere Informationen siehe:
Jede in der Array-Klausel angegebene Dimension (dim) wird mittels der folgenden Syntax definiert:
operand4 | :
|
operand4 | ||||
* | * |
Die Notation für die Ober- und Untergrenze
(operand4 oder Stern-Notation), auf die das X-Array
erweitert werden soll, wird hier angegeben. Wenn der aktuelle Wert der Ober-
oder Untergrenze benutzt werden soll, kann ein Stern (*) anstatt von
operand4 angegeben werden. An Stelle von
*:*
können Sie auch einen einzelnen Stern angeben.
Die Anzahl der Dimensionen
(dim
) muss genau mit der definierten
Anzahl der Dimensionen des X-Arrays (1, 2 oder 3) übereinstimmen.
Wenn die Anzahl der Ausprägungen für eine angegebene Dimension kleiner als die Anzahl der aktuell zugewiesenen Ausprägungen ist, wird die Anzahl der Ausprägungen für die entsprechende Dimension nicht aktualisiert.