Wertzuweisung

  {<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.

Formatangabe

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:

  • Wenn ein vordefiniertes Format angegeben ist, wird der ermittelte Wert dann laut dieser Spezifikation umformatiert. Die aktuell bekannten Formate werden in der SGGF-Tabelle der EDB verwaltet.
  • Wenn eine maximale Länge angegeben ist, wird der ermittelte und ggf. formatierte Wert anschließend auf diese Länge abgeschnitten. Ist die Länge 0 (null), wird der Platzhalter nicht abgeschnitten. Bei Benutzung dieser Formatangabe im Bausteintext muss die Längenangabe eine numerische Konstante sein, im Pseudocode kann sie auch als Ausdruck angegeben werden.
  • Mit dem Ausrufezeichen teilen Sie dem CTV Laufzeitsystem mit, dass dieser Platzhalter nicht leer sein darf. Diese Angabe ist nur im Bausteintext möglich. Beim Zusammenstellen des Textes wird dies von dem CTV Laufzeitsystem geprüft. Sollte ein solcher Platzhalter leer sein, wird an dieser Stelle eine entsprechende Meldung („Fehler! Platzhalter nicht gefüllt“) eingefügt.

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.

Gültigkeit der Formatieranweisungen

Die Angabe einer Formatieranweisung kann an 3 verschiedenen Stellen erfolgen:

  1. bei dem Platzhalter im Bausteintext,
  2. im Pseudocode bei der Zuweisung des Platzhalters,
  3. bei der Definition eines globalen Platzhalters in der EDB.

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.

Dreifach-Operation

Die Dreifachoperation (Ternary Operation) fasst eine einfache IF-ELSE-Bedingung und eine Wertzuweisung in einem Ausdruck zusammen. Die Beschreibung finden Sie hier.

Verknüpfung von Variablen mit globalen Platzhaltern: EDIT, DISPLAY

  {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:

  • Zum einen wird über „{EDIT | DISPLAY } <sggp> FOR <var>“ eine Verknüpfung gelegt zwischen der Variablen und dem globalen Platzhalter. In den meisten Fällen ist <var> ein Platzhalter aus einem Textbaustein, es kann aber auch eine lokale Variable sein.
  • Zum anderen wird über die Wertzuweisung „<var> [= {<item> | <expr> }] “ die Variable vorbelegt mit dem angegebenen Wert.

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:

sample.ps
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"

ctv:pseudocode:wert · Zuletzt geändert: 09.08.2024 13:25

Copyright © 1992-2024 TeamWiSE Gesellschaft für Softwaretechnik mbH         Adressen |  Kontakt |  AGB |  Datenschutzerklärung |  Impressum