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

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.

In BS2000-Umgebungen werden X'00'-Zeichen als Punkte auf Terminals des Typs 97xx angezeigt. Ihre Erscheinungsform kann mittels der SIDA-Utility oder mit der Konfigurations-Utility der entsprechenden Terminal-Emulation geändert werden.