{<var> | <objfld>} = {<item> | <expr> }
Links vom Gleichheitszeichen steht die Variable oder das Objektfeld, dem ein neuer Wert zugewiesen werden soll, rechts davon der neue Wert. Dies kann eine Konstante sein, oder eine andere Variable oder ein anderes Objektfeld, oder aber ein Ausdruck.
Die Formatangabe wird immer mit einem # eingeleitet und besteht aus folgenden Teilen:
[#<sggf>][;{<expr-1>][=<const-1>][!] <sggf> : Vordefiniertes Format <expr-1> : Maximale Länge (Ausdruck muss numerisches Ergebnis liefern) <const-1>: Default-Wert (nur im Bausteintext) ! : Wert erforderlich
Im Rahmen einer Wertzuweisung, oder bei der Referenz auf einen Platzhalter im Bausteintext, können Sie einer Variablen (bzw. dem Platzhalter im Bausteintext) direkt ein Format zuweisen:
<{var-1>|<objfld-1>}#<format> = {<item> | <expr> }
Zunächst wird der Inhalt der Variablen ermittelt: Wenn einem Platzhalter im Bausteintext im Pseudocode kein Wert zugewiesen wurde, wird der Default-Wert eingesetzt. Die Angabe eines Defaults ist nur im Bausteintext möglich, nicht im Pseudocode. Der so ermittelte Werte wird dann formattiert:
Bei Feldern aus TAA-Objekten sollten Sie darauf achten, dass die Definition des Feldes und das Format zusammenpassen. Die Zuweisung von mit Dezimaltrennzeichen formatierten numerischen Werten an TAA-Objektfelder ist grundsätzlich zu vermeiden, da unterschiedliche Dezimaltrennzeichen verwendet werden. Mit Dezimalzeichen formatierte, numerische Werte können auch nicht mehr für Berechnungen verwendet werden.
Die Angabe einer Formatieranweisung kann an 3 verschiedenen Stellen erfolgen:
Die Angabe im Pseudocode übersteuert die Angabe aus der EBD (z.B. auch bei einer EDIT - oder DISPLAY-Anweisung); die Formatieranweisung im Bausteintext zieht immer zuletzt, und übersteuert damit Formatangaben, die im Pseudocode oder in der EDB gemacht wurden.
Die Dreifachoperation (Ternary Operation) fasst eine einfache IF-ELSE-Bedingung und eine Wertzuweisung in einem Ausdruck zusammen. Die Beschreibung finden Sie hier.
{EDIT | DISPLAY } <sggp> FOR <var> [= {<item> | <expr> }] <sggp>: Name des globalen Platzhalters <var>: Name der zu verknüpfenden Variablen <item>: Inhalt der Variablen als Variablen oder Konstante <expr>: Inhalt der Variablen als Ausdruck
Die Anweisung besteht im Prinzip aus zwei Teilen:
Die direkte Zuweisung eines Wertes zu einem globalen Platzhalter ist nicht möglich.
Wenn der CTV-Dialog nicht angezeigt wird, behält die Variable den Inhalt, der ihr über die Wertzuweisung in dieser oder einer anderen Anweisung zugewiesen wurde.
Wenn der CTV-Dialog angezeigt wird, wird der angegebene globale Platzhalter im CTV-Dialog angezeigt und kann - im Falle einer EDIT-Anweisung - auch verändert werden. Dabei werden in einem Listenfeld alle Werte zur Auswahl gestellt, die die verknüpfen Variablen aktuell enthalten.
Der CTV-Dialog zeigt auf Schriftgut-Ebene alle globalen Platzhalter an, für die in dem Schriftgut eine EDIT- bzw. DISPLAY-Anweisung enthalten ist, auf Modulebene jeweils die globalen Platzhalter, für die das betreffende Modul eine EDIT- bzw. DISPLAY-Anweisung enthält.
Nachfolgendes Beispiel zeigt Anweisungen zum Bestücken von globalen Platzhaltern und die anschließende Darstellung im CTV-Dialog; dort sind die mit Edit bestückten Platzhalter editierbar, der mit Display bestückte nicht, und für den mehrfach bestückten Platzhalter wird eine Auswahlliste angeboten:
DISPLAY ZusageUhrzeit FOR g_zeit = _Substr(_Now(),12,8) EDIT Vorbehalt FOR g_vorbehalt = "Keine" EDIT Waeh FOR waehrung = "Euro" EFIT Waeh FOR waehrung2 = "Dollar"