Version 4.2.6
 —  Statements  —

Ausgangswerte/Konstanten-Werte für ein Array

Die array-init-definition kann in der Option variable-definition der Statements DEFINE DATA LOCAL, DEFINE DATA INDEPENDENT, DEFINE DATA CONTEXT und DEFINE DATA OBJECT verwendet werden.

Die array-init-definition hat die folgende Syntax:

../graphics/sbo3b.gif ../graphics/cbo3b.gif ALL         ../graphics/cbc3b.gif../graphics/sbc3b.gif

FULL LENGTH
LENGTH n

../graphics/cbc2.gif <character-s ...> ../graphics/cbc4b.gif../graphics/dot3.gif

index[:index]
V

../graphics/cbc2.gif ,...3

 

<constant>

<system-variable>,...

 

Dieses Dokument behandelt folgende Themen:


Funktion

Mit der Option array-init-definition definieren Sie die Ausgangswerte oder die Konstanten-Werte für ein Array.

Anmerkung:
Wenn in der Option variable-definition das Schlüsselwort INIT für die Initialisierung benutzt wurde, kann der Wert von einem Statement geändert werden, das den Inhalt einer Variable beeinflusst. Wenn das Schlüsselwort CONST für die Initialisierung benutzt wurde, wird jeder Versuch, den Wert zu ändern, vom Compiler zurückgewiesen.

Siehe auch Felder definieren im Leitfaden zur Programmierung, und zwar die folgenden Abschnitte:

Seitenanfang

Einschränkung

Für ein redefiniertes Feld ist eine array-init-definition nicht zulässig.

Seitenanfang

Syntax-Beschreibung

ALL Alle Ausprägungen in allen Dimensionen des Arrays werden mit dem gleichen Wert initialisiert.
index Nur die im index angegebenen Ausprägungen des Arrays werden initialisiert. Wenn Sie einen index angeben, dürfen Sie mit constant nur einen einzigen Wert angeben; d.h. die angegebenen Ausprägungen werden mit dem gleichen Wert initialisiert.
V Diese Notation ist nur relevant bei mehrdimensionalen Arrays, wenn den Ausprägungen einer Dimension unterschiedliche Werte zugewiesen werden.

V bezeichnet einen Indexbereich, der sich über alle Ausprägungen der mit V bezeichneten Dimension erstreckt, d.h. alle Ausprägungen in dieser Dimension werden initialisiert.

Pro Array darf höchstens eine Dimension mit V bezeichnet werden.

Die Ausprägungen werden Ausprägung für Ausprägung mit den für diese Dimension angegebenen Werten initialisiert.

Die Anzahl der Werte darf nicht größer sein als die Anzahl der Ausprägungen der mit V bezeichneten Dimension.

constant Der Konstanten-Wert, der dem Array entweder als Ausgangswert (INIT) oder als Konstanten-Wert (CONSTANT) zugewiesen wird. Weitere Informationen zur Definition von Konstanten finden Sie im Abschnitt Benutzerkonstanten im Leitfaden zur Programmierung.

Anmerkung:
Ausprägungen, für die Sie keine Werte angeben, werden mit einem Standardwert initialisiert.

system-variable Als Ausgangswert können Sie einem Array auch den Wert einer Natural-Systemvariablen zuweisen.

Anmerkung:
Wenn Sie mehrere Konstante oder Natural-Systemvariable angeben, müssen Sie diese entweder mit dem Input-Delimiterzeichen (wie mit dem Session-Parameter ID definiert) oder mit einem Komma voneinander trennen. Ein Komma darf hierzu allerdings nicht verwendet werden, falls das Komma als Dezimalkomma (mit dem Session-Parameter DC) definiert ist.

FULL LENGTH

LENGTH n

Als Ausgangswert können Sie ein Array auch vollständig oder teilweise mit einem bestimmten Zeichen oder einer Zeichenkette füllen (nur bei alphanumerischen oder Unicode-Variablen möglich):

Mit FULL LENGTH füllen Sie die Array-Ausprägungen vollständig mit dem/den angegebenen Zeichen (character(s)).

Mit LENGTH n füllen Sie die ersten n Stellen der Array-Ausprägungen mit dem/den angegebenen Zeichen (character(s)).

Eine Systemvariable (system-variable) darf bei FULL LENGTH oder LENGTH n nicht angegeben werden. Innerhalb einer array-init-definition können Sie nur entweder FULL LENGTH oder LENGTH n angeben, aber nicht beides.

Beispiel von LENGTH n für Array:

DEFINE DATA LOCAL
1 #FIELD (A25/1:3) INIT ALL LENGTH 5 <'NO'> 
...
END-DEFINE

In diesem Beispiel werden die ersten 5 Positionen jeder Ausprägung des Arrays mit NONON gefüllt.

Weitere Beispiele für die Zuweisung von Ausgangswerten zu Arrays finden Sie im Leitfaden zur Programmierung.

Seitenanfang