Ausgangswerte (und das RESET-Statement)

#### Search Results

Search

# Ausgangswerte (und das RESET-Statement)

Dieses Dokument beschreibt die standardmäßigen Ausgangswerte von Benutzervariablen, erläutert, wie Sie einer Benutzervariable einen Ausgangswert zuweisen können und wie Sie das `RESET`-Statement zum Zurücksetzen des Feldwertes auf seinen Standard-Ausgangswert oder den für diese Variable im `DEFINE DATA`-Statement definierten Ausgangswert benutzen können.

Folgende Themen werden behandelt:

- Standard-Ausgangswert einer Benutzervariablen/ eines Arrays

- Ausgangswert einer Benutzervariablen/einem Array zuweisen

- Benutzervariable auf ihren Ausgangswert zurücksetzen

## Standard-Ausgangswert einer Benutzervariablen/ eines Arrays

Wenn Sie für ein Feld keinen Ausgangswert angeben, wird das Feld je nach seinem Format mit einem Standard-Ausgangswert initialisiert:

Format | Standard-Ausgangswert
--- | ---
B, F, I, N, P | `0`
A, U | Leerzeichen
L | `F(ALSE)`
D | `D' '`
T | `T'00:00:00'`
C | (`AD=D`)
Object Handle | `NULL-HANDLE`

## Ausgangswert einer Benutzervariablen/einem Array zuweisen

Im `DEFINE DATA`-Statement können Sie einer Benutzervariable einen Ausgangswert zuweisen. Wenn der Ausgangswert alphanumerisch ist, muss er in Apostrophen (') stehen.

Folgende Themen werden behandelt:

- Änderbaren Ausgangswert zuweisen

- Konstanten-Ausgangswert zuweisen

- Natural-Systemvariable als Ausgangswert zuweisen

- Zeichen als Ausgangswert für alphanumerische Variable zuweisen

### Änderbaren Ausgangswert zuweisen

Wenn der Variablen bzw. dem Array ein änderbarer Ausgangswert zugewiesen werden soll, geben Sie den Ausgangswert in spitzen Klammern mit dem Schlüsselwort `INIT` nach der Variablen-Definition im `DEFINE DATA`-Statement an. Die zugewiesenen Werte werden jedesmal benutzt, wenn die Variable bzw. das Array referenziert wird. Die zugewiesenen Werte können während der Programmausführung geändert werden.

Beispiel:

    DEFINE DATA LOCAL
    1 #FIELDA (N3) INIT <100>
    1 #FIELDB (A20) INIT <'ABC'>
    END-DEFINE
    ...

### Konstanten-Ausgangswert zuweisen

Wenn die Variable bzw. das Array als eine Namens-Konstante behandelt werden soll, geben Sie den Ausgangswert in spitzen Klammern mit dem Schlüsselwort `CONSTANT` nach der Variablen-Definition im `DEFINE DATA`-Statement an. Die zugewiesenen Konstanten-Werte werden jedesmal benutzt, wenn die die Variable bzw. das Array referenziert wird. Die zugewiesenen Werte können während der Programmausführung nicht geändert werden.

Beispiel:

    DEFINE DATA LOCAL
    1 #MYDATE (D) INIT <*DATX>
    END-DEFINE
    ...

### Natural-Systemvariable als Ausgangswert zuweisen

Als Ausgangswert für ein Feld kann auch der Wert einer Natural-Systemvariablen genommen werden.

Beispiel:

Hier liefert die Systemvariable `*DATX` den Ausgangswert.

    DEFINE DATA LOCAL
    1 #MYDATE (D) INIT <*DATX>
    END-DEFINE
    ...

### Zeichen als Ausgangswert für alphanumerische Variable zuweisen

Als Ausgangswert können Sie auch eine Variable vollständig oder teilweise mit einem bestimmten Zeichen oder einer Zeichenkette füllen (nur bei alphanumerischen Variablen möglich).

- Feld komplett füllen:
  Mit der Option `FULL LENGTH <character-string>` wird das gesamte Feld mit dem/den angegebenen Zeichen gefüllt.

  Hier wird das gesamte Feld mit Sternen (*) gefüllt:

      DEFINE DATA LOCAL
      1 #FIELD (A25) INIT FULL LENGTH <'*'>
      END-DEFINE
      ...

- Erste n Stellen eines Feldes füllen:
  Mit der Option `LENGTH n <character(s)>` werden die ersten n Stellen des Feldes mit dem/den angegebenen Zeichen gefüllt.

  Hier werden die ersten 4 Stellen des Feldes mit Ausrufungszeichen gefüllt.

      DEFINE DATA LOCAL
      1 #FIELD (A25) INIT LENGTH 4 <'!'>
      END-DEFINE
      ...

## Benutzervariable auf ihren Ausgangswert zurücksetzen

Das `RESET`-Statement dient dazu, den Wert eines Feldes zurückzusetzen. Zwei Optionen stehen dabei zur Verfügung:

- Auf Standard-Ausgangswert zurücksetzen

- Auf den im DEFINE DATA-Statement definierten Ausgangswert zurücksetzen

Anmerkungen:

1. Ein mit einer `CONSTANT`-Klausel im `DEFINE DATA`-Statement deklariertes Feld kann nicht in einem `RESET`-Statement referenziert werden, weil sein Inhalt nicht geändert werden kann.
2. Im Reporting Mode dient das `RESET`-Statement auch zur Definition einer Variablen, vorausgesetzt das Programm enthält kein `DEFINE DATA LOCAL`-Statement.

### Auf Standard-Ausgangswert zurücksetzen

`RESET` (ohne `INITIAL`) setzt den Inhalt jedes angegebenen Feldes je nach Format auf seinen Standard-Ausgangswert zurück.

Beispiel:

    DEFINE DATA LOCAL
    1 #FIELDA (N3)  INIT <100>
    1 #FIELDB (A20) INIT <'ABC'>
    1 #FIELDC (I4)  INIT <5>
    END-DEFINE
    ...
    ...
    RESET #FIELDA                    /* resets field value to default initial value
    ...

### Auf den im DEFINE DATA-Statement definierten Ausgangswert zurücksetzen

`RESET INITIAL` setzt den Inhalt jedes angegebenen Feldes auf den Ausgangswert zurück, der für das Feld im `DEFINE DATA`-Statement definiert wurde.

Für ein ohne `INIT`-Klausel im `DEFINE DATA`-Statement deklariertes Feld hat `RESET INITIAL` denselben Effekt wie `RESET` (ohne `INITIAL`).

Beispiel:

    DEFINE DATA LOCAL
    1 #FIELDA (N3)  INIT <100>
    1 #FIELDB (A20) INIT <'ABC'>
    1 #FIELDC (I4)  INIT <5>
    END-DEFINE
    ...
    RESET INITIAL #FIELDA #FIELDB #FIELDC /* resets field values to initial values as defined in DEFINE DATA
    ...

### On this page

- Standard-Ausgangswert einer Benutzervariablen/ eines Arrays
- Ausgangswert einer Benutzervariablen/einem Array zuweisen
- Benutzervariable auf ihren Ausgangswert zurücksetzen