AD - Attribut-Definition

#### Search Results

Search

# AD - Attribut-Definition

Mit diesem Session-Parameter definieren Sie Feldattribute auf Feld/Element- oder Statement-Ebene.

Verwandter Session-Parameter: `CD` - Farbdefinition.

Mögliche Werte | Siehe AD-Parameter-Syntax. | Sie können mehrere Attribute in beliebiger Reihenfolge angeben.
Standard-Einstellung | Siehe unten. |
Gültige Statements | `FORMAT` |
`DISPLAY` `INPUT` `NEWPAGE WITH TITLE` `PRINT` `REINPUT` `WRITE` `WRITE TITLE` `WRITE TRAILER` | Parameter können auf Statement-Ebene und/oder Element-Ebene angegeben werden.
`ASSIGN` `CALLNAT` `CALLDBPROC` `COMPUTE` `MOVE` `PERFORM` `SEND METHOD` | Parameter können auf Element-Ebene angegeben werden, allerdings können nur die in der betreffenden Statement-Beschreibung angegebenen Attribute benutzt werden.
Gültiges Kommando | Keines.

Die Parameter-Syntax und die Bedeutung der Attribute und die einzelnen Werte werden in den folgenden Abschnitten erklärt.

- AD-Parameter-Syntax

- Feldanzeige

- Ausrichtung der Feldwerte

- Feldeingabe/ausgabe-Charakteristika

- Auslegung alphanumerischer Felder

- Eingabezwang

- Mindestlänge der Eingabewerte

- Groß-/Kleinschreibung

- Füllzeichen

## AD-Parameter-Syntax

AD=[field-representation] [field-alignment] [field-i/o-characteristics] [interpretation-of-alphanumeric-fields] [mandatory-input] [input-value-length] [field-upper/lower-case] [filler-character]

Sie können mehrere Attribute in beliebiger Reihenfolge angeben. Mögliche Werte sind:

`AD=` |  | `B C D I N U V Y` |  |  |  | `L R Z` |  |  |  | `A` `M` `O` `P` |  |  |  | `Q` |  |  |  | `E F` |  |  |  | `G H` |  |  |  | `T W` |  |  |  | '`c`' |

Die Bedeutung der Attribute und die einzelnen Werte werden in den folgenden Abschnitten erklärt.

#### Beispiele:

      DISPLAY #FIELDA (AD=R)
      INPUT #FIELDB (AD=M)
      INPUT (AD=IM) #FIELDA #FIELDB

## Feldanzeige

Wert | Bedeutung | Statements | Erklärung
--- | --- | --- | ---
`B` | blinkend (*) | `ASSIGN` `COMPUTE` `MOVE` `DISPLAY` `FORMAT` `INPUT` `PRINT` `REINPUT` `WRITE` | Der Feldwert wird blinkend angezeigt.
`C` | kursiv (*) | Der Feldwert wird kursiv angezeigt.
`D` | nicht intensiviert | Der Feldwert wird normal angezeigt, d.h. weder intensiviert noch sonstwie hervorgehoben. Dies ist die Voreinstellung.
`I` | intensiviert | Der Feldwert wird intensiviert, d.h. hell leuchtend angezeigt.
`N` | nicht sichtbar | Ein eingegebener Feldwert wird nicht angezeigt.
`U` | unterstrichen | Der Feldwert wird unterstrichen angezeigt.
`V` | invers (*) | Der Feldwert wird invers angezeigt, d.h. in farblicher Umkehrung von Hintergrund und Feldwert.
`Y` | dynamische Attribute | `INPUT` `DISPLAY` `PRINT` `WRITE` | Feldattribute werden dynamisch über eine Kontrollvariable (Format C) zugewiesen.

* Die mit einem Stern (*) markierten Feldanzeige-Attribute sind an entsprechende Hardware-Voraussetzungen gebunden und werden zur Laufzeit ignoriert, falls diese Voraussetzungen nicht gegeben sind.

## Ausrichtung der Feldwerte

Wert | Bedeutung | Statements | Erklärung
--- | --- | --- | ---
`L` | linksbündig | `DISPLAY` `FORMAT` `INPUT` `PRINT` `REINPUT` `WRITE` | Feldwerte werden linksbündig im Feld ausgegeben. Dies ist die Voreinstellung für alphanumerische Felder.
`R` | rechtsbündig | Feldwerte werden rechtsbündig im Feld ausgegeben. Dies ist die Voreinstellung für numerische Felder.
`Z` | vorangestellte Nullen | Feld werte werden rechtsbündig im Feld ausgegeben, der Rest des Feldes wird mit Nullen aufgefüllt.

## Feldeingabe/ausgabe-Charakteristika

Wert | Bedeutung | Statements | Erklärung
--- | --- | --- | ---
`A` | Eingabefeld, ungeschützt | `INPUT` `FORMAT` | Ein Feldwert wird in Antwort auf ein `INPUT`-Statement eingegeben. Dies ist die Voreinstellung.
nur Eingabe | `CALLNAT` `CALLDBPROC` `PERFORM` `SEND METHOD` Function Call | Markieren Sie einen Parameter mit `AD=A`, wird sein Wert nicht an das aufgerufene Objekt übergeben (Subprogramm, Stored Procedure, Subroutine, Dialog, Methode), sondern er erhält einen Wert von dem aufgerufenen Objekt. Bei einem mit `BY VALUE` in der Parameter Data Area des aufgerufenen Objekts definierten Feld kann das aufrufende Objekt keinen Wert erhalten. In diesem Fall bewirkt `AD=A` nur, dass das Feld auf den niedrigeren Wert von dem betreffenden Format zurückgesetzt wird (Leerzeichen für alphanumerisch, binäre Nullen für binär und Nullen für numerische Felder), bevor das Objekt aufgerufen wird. Bei einem `CALLNAT`-Statement kann `AD=A` für abgesetzt betriebene Subprogramme nützlich sein, die über Natural RPC in einer Client/Server -Umgebung ausgeführt werden, um die Belastung der gesendeten Daten zu reduzieren. Wenn ein Subprogramm lokal ausgeführt wird, werden mit `AD=A` markierte Felder auf den niedrigen Wert des betreffenden Formats zurückgesetzt, bevor das Objekt aufgerufen wird. Ist bei einem `SEND METHOD`-Statement keine Methode in Natural implementiert, ist das Verhalten von der Methoden- Implementierung abhängig. Der Parameter wird dann als initialisierte Variante übergeben. Ob die externe Komponente dann einen Wert zurückgeben kann, ist in der Dokumentation der externen Komponente beschrieben. Sie kann auch im Natural Komponenten- Browser eingesehen werden.
`M` | Ausgabefeld, änderbar | `INPUT` `FORMAT` | Der Wert des Feldes soll bei der Ausführung des `INPUT`-Statements angezeigt werden, und der ausgegebene Wert kann vom Benutzer überschrieben werden. Das Feld ist ein Ausgabefeld und kann geändert werden.
änderbar | `CALLNAT` `CALLDBPROC` `PERFORM` `SEND METHOD` | Standardmäßig kann der übergebene Wert eines Parameters im aufgerufenen Objekt (Subprogramm, Stored Procedure, Subroutine, Dialog, Methode) geändert werden, und der geänderte Wert wird wieder zurück an das aufrufende Objekt übergeben, wo es den ursprünglichen Wert überschreibt. Bei einem mit `BY VALUE` in der Parameter Data Area des aufgerufenen Objekts definierten Feld wird kein Wert zurückgegeben. Ist bei einem `SEND METHOD`-Statement keine Methode in Natural implementiert, ist das Verhalten von der Methoden-Implementierung abhängig. Der Parameter wird dann `BY REFERENCE` übergeben. Ob die externe Komponente einen By Reference- oder By Value-Parameter akzeptiert, ist in der Dokumentation der externen Komponente beschrieben. Dies kann auch im Natural Komponenten-Browser eingesehen werden.
`O` | Ausgabefeld, geschützt | `INPUT` `FORMAT` | Der Wert des Feldes soll bei der Ausführung des `INPUT`-Statements angezeigt werden. Das Feld ist ein reines Ausgabefeld und kann nicht geändert werden.
nicht änderbar | `CALLNAT` `CALLDBPROC` `PERFORM` `SEND METHOD` | Wenn Sie einen Parameter mit `AD=O` markieren, kann der übergebene Wert im aufgerufenen Objekt (Subprogramm, Stored Procedure, Subroutine, Dialog, Methode) geändert werden, aber der geänderte Wert kann nicht an das aufrufende Objekt zurückgegeben werden, d.h. das Feld im aufrufenden Objekt behält seinen ursprünglichen Wert bei. Intern wird `AD=O` genauso verarbeitet wie `BY VALUE` (siehe den Abschnitt Definition von Parameterdaten in der Beschreibung des `DEFINE DATA`-Statements). Wenn bei `SEND METHOD` eine Methode in Natural implementiert wird, wird der Parameter behandelt, so wie er von `BY VALUE` in der Parameter Data Area der Methode definiert wurde (siehe den Abschnitt PARAMETER-Klausel in der Beschreibung des `INTERFACE`-Statements). Wenn bei `SEND METHOD` keine Methode in Natural implementiert ist, ist das Verhalten abhängig von der Implementierung der Methode. Der Parameter wird dann `BY VALUE` übergeben. Ob die externe Komponente einen By Reference- oder By Value-Parameter akzeptiert, ist in der Dokumentation der externen Komponente beschrieben. Dies kann auch im Natural Komponenten-Browser eingesehen werden.
`P` | vorübergehend geschützt (P = protected) | `INPUT` `REINPUT` | Wird in Verbindung mit einer Kontrollvariablen (Format C), dem `DY`-Parameter (dynamische Attribute) und dem `REINPUT`-Statement verwendet.

## Auslegung alphanumerischer Felder

Wert | Bedeutung | Statements | Erklärung
--- | --- | --- | ---
`Q` | Alphanumerisches Feld so anzeigen, als sei es ein numerisches Feld. | `ASSIGN` `COMPUTE` `MOVE` `DISPLAY` `FORMAT` `INPUT` `PRINT` `REINPUT` `WRITE` | Dieses Attribut ist nur auf Großrechnern verfügbar. Es ist eine entsprechende Hardware-Funktion erforderlich. Ein alphanumerisches Feld wird interpretiert, als ob es ein numerisches Feld wäre. Wenn das Feld im Gültigkeitsbereich des Profil- oder Session-Parameters `PM` (`PM=I`) angezeigt wird, wird der Wert des Feldes von links nach rechts anstatt von rechts nach links interpretiert.

## Eingabezwang

Wert | Bedeutung | Statements | Erklärung
--- | --- | --- | ---
`E` | Eingabe erforderlich | `INPUT` `FORMAT` | Als Antwort auf ein `INPUT`-Statement muss ein Feldwert eingegeben werden; andernfalls erscheint eine Fehlermeldung. Dies ist nur bei reinen Eingabefeldern (`AD=A`) relevant.
`F` | Wert optional | `INPUT` `FORMAT` | Als Antwort auf ein `INPUT`-Statement kann ein Feldwert eingegeben werden, muss aber nicht. Dies ist die Voreinstellung.

## Mindestlänge der Eingabewerte

Wert | Bedeutung | Statements | Erklärung
--- | --- | --- | ---
`G` | Wertlänge | `INPUT` `FORMAT` | Ein als Antwort auf ein `INPUT`-Statement eingegebener Wert muss genauso lang sein wie das Feld, d.h. das Feld muss vollständig gefüllt werden. Dies ist nur bei reinen Eingabefeldern (`AD=A`) relevant.
`H` | Wertlänge | `INPUT` `FORMAT` | Ein als Antwort auf ein `INPUT`-Statement eingegebener Wert darf kürzer sein als das Feld, d.h. das Feld muss nicht vollständig gefüllt werden. Dies ist die Voreinstellung.

## Groß-/Kleinschreibung

Wert | Bedeutung | Statements | Erklärung
--- | --- | --- | ---
`T` | Kleinbuchstaben werden umgesetzt | `INPUT` `FORMAT` | Ein eingegebener Wert wird automatisch in Großbuchstaben umgesetzt, d.h. es ist egal, ob ein Wert in Klein- oder Großbuchstaben eingegeben wird.
`W` | Kleinbuchstaben werden akzeptiert | `INPUT` `FORMAT` | Es erfolgt keine Umsetzung von Klein- in Großbuchstaben, d.h. ein Wert wird so interpretiert, wie er eingegeben wird. Dies ist die Voreinstellung. Anmerkung Um `AD=W` einzuschalten, müssen Sie den Wert `ON` für den Natural-Profilparameter `LC` angeben.

## Füllzeichen

Wert | Bedeutung | Statements | Erklärung
--- | --- | --- | ---
`'c'` | Füllzeichen | `INPUT` `FORMAT` | Der unbeschriebene Teil eines Feldes (für reine Eingabefelder) wird bei der Anzeige mit dem Zeichen c gefüllt, wenn `AD=A` (reines Eingabefeld, ungeschützt) oder `AD=M` (Ausgabefeld, änderbar) angegeben wird.

Bevor der Wert für ein änderbares Feld (`AD=M`) angezeigt wird, werden nicht von dem Wert belegte Feldstellen mit dem angegebenen Füllzeichen wie folgt gefüllt:

- Vorangestellte oder nachfolgende Zeichen werden (abhängig von der Feldausrichtung) bei Feldern mit dem Format I, N und P gefüllt.

- Nachfolgende Zeichen werden für Felder des Formats A gefüllt.

Wenn der Benutzer einen Wert als Antwort auf ein `INPUT`-Statement eingibt, bevor der Wert dem Feld zugewiesen wurde,

- werden sowohl vorangestellte als auch nachfolgende Füllzeichen bei Feldern mit den Formaten I, N und P entfernt

- werden nachfolgende Füllzeichen bei Feldern des Formats A entfernt.

Wenn beispielsweise das Füllzeichen `0` (Null) für ein Feld des Formats N5 definiert ist und der Wert `00100` als Eingabedaten eingegeben wird, werden vorangestellte und nachfolgende Nullen entfernt, so dass nur der Wert `1` übrig bleibt und dem Feld zugewiesen wird. Aus demselben Grund sollte das Minuszeichen (-) als Füllzeichen für numerische Felder vermieden werden, wenn negative Werte eingegeben werden sollen.

Wenn das Füllzeichen auf Leerzeichen (`X'40'`) gesetzt wird, werden auffüllende Leerzeichen durch `X'00'` ersetzt, damit eine Einfügung von Zeichen ermöglicht wird, ohne dass zuvor der Rest im Eingabefeld gelöscht werden muss.

### On this page

- AD-Parameter-Syntax
- Feldanzeige
- Ausrichtung der Feldwerte
- Feldeingabe/ausgabe-Charakteristika
- Auslegung alphanumerischer Felder
- Eingabezwang
- Mindestlänge der Eingabewerte
- Groß-/Kleinschreibung
- Füllzeichen