RESIZE

#### Search Results

Search

# RESIZE

`RESIZE` |  | dynamic-clause |  | [`GIVING` operand5]
array-clause

Dieses Dokument behandelt folgende Themen:

- Funktion RESIZE

- Syntax-Beschreibung RESIZE

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.

## Funktion RESIZE

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:

- Dynamische Variablen benutzen

- Hauptspeicherplatz für eine dynamische Variable zuweisen/freigeben

- X-Arrays

- Speicherverwaltung von X-Gruppen-Arrays

## Syntax-Beschreibung RESIZE

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 `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` | 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 `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` | 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` `operand4` | 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 `GIVING`-Klausel nicht angegeben wird, wird die Natural-Laufzeitfehlerverarbeitung angestoßen, wenn ein Fehler auftritt. Wenn die `GIVING`-Klausel angegeben wird, enthält operand5 die Natural-Fehlernummer, wenn vorher ein Fehler aufgetreten ist, oder Null (0) bei Erfolg.

### DYNAMIC-Klausel

[`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.

### ARRAY-Klausel

[`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.

#### Beispiel:

    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:

- Speicherverwaltung von X-Arrays

- Speicherverwaltung von X-Gruppen-Arrays

### Dimension

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.

### On this page

- Funktion RESIZE
- Syntax-Beschreibung RESIZE