Variablen verwenden: Unterschied zwischen den Versionen

Aus
Wechseln zu: Navigation, Suche
(Technisch)
K (Fwf verschob die Seite Anleitung:Variablen nach Variablen verwenden)
(kein Unterschied)

Version vom 14. Dezember 2021, 17:54 Uhr

In jedem Textfeld innerhalb von Funktionselementen können Variablen verwendet werden. Variablen dienen dazu, bestimmte Einstellung eines Funktionselements mit Werten zu belegen. Jeder Eingang und Requesteingang eines Funktionselementes kann durch eine Variable abgefragt und ausgelesen werden. Es gibt aber auch noch Variablen, die statische Werte zurückliefern wie z.B. Sitzungseigenschaften oder Datum bzw. Uhrzeiten.

Im Folgenden wird die Verwendungsweise der Variablen erklärt.

Syntax

Variablen werden immer mit einem Fragezeichen gefolgt von einem Ausdruck in spitzen Klammern markiert. Dies sieht wie folgt aus:

?<Ausdruck>

INPUT-Variablen

Mit Hilfe von INPUT-Variablen können die Werte der grünen Funktionselementeingänge abgefragt werden. INPUT-Variablen folgen diesem Schema:

?<INPUT:Name>

Wobei der Name die Bezeichnung des Eingangs ist. Dieser ist ersichtlich wenn man mit der Maus über den entsprechenden Eingang fährt. Meist wird hier "0" verwendet. Ist der Wert am Eingang eine Ressource oder Datenstruktur kann auch direkt auf ein Feld oder ein Unterobjekt zugegriffen werden, in dem der Feldname innerhalb des Ausdrucks durch einen Doppelpunkt getrennt, angehängt wird.

?<INPUT:Name:Feld>

Wobei Feld dann der entsprechende Attributsname (Spaltenbezeichnung in relationaler Tabelle) ist.


REQUEST-Variablen

Mit Hilfe von REQUEST-Variablen können die Werte der orangen Funktionselementeingänge abgefragt werden. REQUEST-Variablen folgen dem selben Schema wie INPUT-Variablen:

?<REQUEST:Name>

Wobei der Name die Bezeichnung des Requesteingangs ist. Dieser ist ersichtlich, wenn man mit der Maus über den entsprechenden Requesteingang fährt. Meist wird hier "option" verwendet. Ist der Wert am Requesteingang eine Ressource oder Datenstruktur, kann auch direkt auf ein Feld oder ein Unterobjekt zugegriffen werden, indem der Feldname innerhalb des Ausdrucks durch einen Doppelpunkt getrennt, angehängt wird.

?<REQUEST:Name>

Wobei Feld dann der entsprechende Attributsname (Spaltenbezeichnung in relationaler Tabelle) ist.


INPUT und REQUEST Modifikatoren

Die Darstellung von INPUT und REQUEST-Variablen kann mit Hilfe von Modifikatoren beeinflusst werden. So kann eine Zahl z.B. mit Vorlaufnullen versehen werden oder auch Leerzeichen von Texten abgeschnitten werden. Dies wird bewerkstelligt, indem man durch Punkt getrennt den entsprechenden Modifikator an den Ausdruck anhängt. Parameter für den Modifikator werden anschließend mit Komma angehängt.

?<INPUT:Name:Feld.Modifikator,Parameter1,Parameter2,ParameterN>

Liste der Modifikatoren

  • .pad,string,länge,richtung: Hiermit kann ein beliebiger Wert string je nach richtung ("left" oder "right") auf eine gewünschte länge gebracht werden. z.B. würde man mit ".pad,0,7,left" eine Zahl immer 7-stellig mit Vorlaufnullen formatieren.
  • .sub,start,länge: Hiermit kann ein Ausschnitt eines Textes extrahiert werden. start ist die Startposition, ab der so viele Zeichen wie als länge angegeben sind ausgegeben werden. Z.B. würde man mit ".sub,0,7" nur die ersten 7 Stellen eines Textes ausgeben.
  • .rtrim: Leerzeichen werden von rechts abgeschnitten.
  • .ltrim: Leerzeichen werden von links abgeschnitten.
  • .ltriml: Vorlaufnullen werden von links abgeschnitten.
  • .trim: Leerzeichen werden von beiden Seiten abgeschnitten.
  • .len: gibt die Anzahl an Zeichen aus, die der Text enthält.
  • .base64decode: Dekodiert einen Base64 Text zurück zu lesbarem Text.
  • .base64encode: Kodiert einen Text in Base64.
  • .decimalVal: Gibt immer eine Dezimalzahl zurück.
  • .intVal: Gibt immer eine ganze Zahl zurück.
  • .sqlEscape,dialekt: Escaped die Variable, so dass sie in Anführungszeichen bedenkenlos innerhalb eines SQL-Befehls verwendet werden kann, wobei dialekt der entsprechende SQL-Dialekt ist. Möglich sind "db2","postgre" und "mysql".
  • .md5: Gibt die MD5-Quersumme eines Textes zurück.

Statische-Variablen

Datum

  • ?<DATE:Ymd>: Datum 8-stellig im Format JahrMontatTag
  • ?<DATE:d.m.Y>: Datum 8-stellig im Format Tag.Monat.Jahr
  • ?<DATE:c>: Allgemein gültiger Timestamp im Format yyyy-MM-dd'T'HH:mm:ss.SSSSSS
  • ?<DATE>: Allgemein gültiger Unix-Timestamp (Sekunden seit dem 1.1.1973)
  • ?<DATE:DB2>: Datum gültig für DB2-Timestmp-Feldtypen
  • ?<DATE:His>: Aktuelle Uhrzeit 6-Stellig im Format StundeMinuteSekunde

Sitzung

  • ?<USERNAME>: Aktueller Benutzername
  • ?<SESSION:mobile>: Mobile Oberfläche (true/false)
  • ?<SESSION:gui.profile>: Gui-Profil (classic-de, crisp-en, web-material-de...)
  • ?<SESSION:guiType>: (FWFDESKTOP/FWFMODERN)
  • ?<SESSION:language>: Sprache (de-DE, en-US,...)
  • ?<SESSION:accept>: Akzeptierte mime-Types (z.B. */*)
  • ?<SESSION:accept-encoding>: Kommagetrennte Encodings (z.B. 'gzip, deflate')
  • ?<SESSION:accept-language>: Akzeptierte Sprache (z.B. de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7)
  • ?<SESSION:appCodeName>: Name der anzeigenden app (z.B. Mozilla)
  • ?<SESSION:appName>: Name der App(z.B. Netscape)
  • ?<SESSION:appVersion>: Browserversion (z.B. 5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36)
  • ?<SESSION:browser.isChrome>: Chrome-Browserweiche (true/false)
  • ?<SESSION:browser.isCordova>: App-Browserweiche (true/false)
  • ?<SESSION:browser.isEdge>: Edge-Browserweiche (true/false)
  • ?<SESSION:browser.isEdgeChromium>: Edge-Chromium-Browserweiche (true/false)
  • ?<SESSION:browser.isFirefox>: Firefox-Browserweiche (true/false)
  • ?<SESSION:browser.isIE>: Internet-Explorer-Browserweiche (true/false)
  • ?<SESSION:browser.isOpera>: Opera-Browserweiche (true/false)
  • ?<SESSION:browser.isSafari>: Safari-Browserweiche (true/false)
  • ?<SESSION:connectionType>: Verbindungstype (z.B. 4g)
  • ?<SESSION:cookieEnabled>: Cookies aktiviert (true/false)
  • ?<SESSION:host>: IP und Port des FWF-Servers (z.B: 192.168.0.1:8084)
  • ?<SESSION:location.hash>: Hash der aktuellen URL (z.B. #123|{"0":"abc"})
  • ?<SESSION:location.host>: Hostname/IP des Servers, was eingegeben wurde (z.B: fwf.ihredomain.tld)
  • ?<SESSION:location.hostname>: Hostname des Servers (z.B: fwf.ihredomain.tld)
  • ?<SESSION:location.href>: URL des Servers (z.B: https://fwf.ihredomain.tld/fwfDeskto/index.html)
  • ?<SESSION:location.origin>: Region des Servers (z.B: https://fwf.ihredomain.tld)
  • ?<SESSION:location.pathname>: Pfad des Servers (z.B: /fwfDesktop/)
  • ?<SESSION:location.port>: Port des Client-Aufrufs (z.B: *BLANK=80, 8084)
  • ?<SESSION:location.protocol>: Protokoll des Aufrufs (z.B: http:, https:)
  • ?<SESSION:onLine>: Gibt an, ob der Benutzer Internet-Verbindung hat (true/false)
  • ?<SESSION:original-remote-addr>: IP des Clients (falls proxy vorhanden, Proxy-IP)
  • ?<SESSION:platform>: Plattform des Clients
  • ?<SESSION:location.product>: Browser-Product (z.B. Gecko)
  • ?<SESSION:refer>: Weitergeleitet von (z.B. weitergeleitete Webseite)
  • ?<SESSION:remote-addr>: IP des Clients (falls proxy vorhanden ip des x-forwarded-for)
  • ?<SESSION:userAgent>: Browser (z.B. Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36)
  • ?<SESSION:vendor>: Hersteller des Browsers (z.B: Google Inc.)
  • ?<SESSION:x-forwarded-for>: Client-IP falls Proxy vorhanden

Technisch

  • ?<FUNCTIONID>: Id der aktuellen Funktion
  • ?<APPID>: Mandantennummer