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:
Syntax-Element | Beschreibung |
---|---|
dynamic-clause
|
DYNAMIC-Klausel:
Mit dem Statement |
operand1
|
Zu verändernde dynamische Variable:
operand1 ist die dynamische Variable, für die die zugewiesene Länge angepasst werden soll. |
operand2
|
Neue Längenangabe:
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
|
ARRAY-Klausel:
Mit dem Statement |
operand3
|
X-Array-Name:
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
|
X-Array-Ober- und Untergrenze:
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
|
GIVING-Klausel:
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 der in der Array-Klausel angegebenen Dimensionen (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.