Interpretieren von
F-Script Befehlszeichen in Textblöcken
Wird in Textblöcken die
Double Angle Quotation Mark « und » (auch bekannt als Guillemet)
verwendet, dann werden diese Zeichen als F-Script Befehl interpretiert.
Dies führt zur Laufzeit sehr oft zu Fehlern, da der so interpretierte
F-Script Befehl nicht korrekt ist.
In der Vergangenheit wurden
jedoch oft Format-Befehle (z.B. «F+») innerhalb von Textblöcken
hinterlegt. Diese werden zur Laufzeit entsprechend interpretiert. Aus
diesem Grund kann die Interpretation von F-Script Befehlen in Textblöcken
nicht generell entfernt werden.
Wenn Sie die Interpretation von
F-Script Befehlen in Textblöcken verhindern wollen, steht Ihnen die
Studio-Einstellung F-Script Ausführung (Insyde.ScriptExecutionCd)
zur Verfügung. Sie finden das Attribut im OpaccOXAS Studio BC 98216
(Vorgaben Installation) in der Gruppe F-Script.
Mögliche
Werte:
-
0 - Legacy (Alle Befehle können als Ausgabe wiederum Befehle
generieren.)
-
1 - Restricted (Für den einzelnen Befehl wird das Resultat als
final betrachtet.)
-
7 - Whitelist (Diese Einstellung bewirkt, dass sämtliche
F-Script Befehle ausser LIB nicht erneut ausgewertet und damit als
final betrachtet werden.)
-
9 - Final (Diese Einstellung bewirkt, dass Befehle die in
Attributen oder in Library-Einträgen hinterlegt sind, nicht mehr
ausgeführt werden.)
 |
Notiz
Wir empfehlen, insbesondere aus
Security-Sicht, die Einstellung auf 1 - Restricted zu setzen. Beachten
Sie, dass diese Einstellung vorerst nur bei Textblock-Ausgaben wirksam
ist
|
Um flexibel auf bestimmte Anforderungen reagieren zu
können, ist es möglich, auf Stufe eines einzelnen F-Script Befehls das
Verhalten über einen Befehls-Prefix zu beeinflussen.
Hat das
Attribut F-Script Ausführung den Wert 1 - Restricted, können
Sie das Legacy Verhalten erzwingen. Dafür muss dem F-Script Befehl ein
Execute-Prefix vorangestellt werden: «e...». Beispiel: «e
KUNDEN-BEM(1)»
Hat das Attribut F-Script Ausführung den Wert
0 - Legacy, können Sie das Restricted Verhalten erzwingen. Dafür
muss dem F-Script Befehl ein Final-Prefix vorangestellt werden: «f...».
Beispiel: «f KUNDEN-BEM(2)»
Sie können das Verhalten auch auf Stufe
F-Script beeinflussen. Dafür steht Ihnen der neue Befehl
«XCNT(scriptExecution)» zur Verfügung. «XCNT(scriptExecution)» - Abfragen
des aktuellen Execution-Mode.
-
«XCNT(scriptExecution=0)» - Setzt die F-Script Ausführung für
die Laufzeit des F-Scripts auf 0 -Legacy.
-
«XCNT(scriptExecution=1)» - Setzt die F-Script Ausführung für
die Laufzeit des F-Scripts auf 1 - Restricted.
Beispiele
# Abfragen des aktuellen Execution-Modes:
«XCNT(scriptExecution)»
# Setzen des aktuellen Execution-Modes auf "Legacy"
«XCNT(scriptExecution=0)»
# Setzen des aktuellen Execution-Modes auf "Restricted"
«XCNT(scriptExecution=1)»
# Prefix e: Befehle innerhalb des Textblocks sollen ausgeführt werden:
«e KUNDEN-BEM(1)»
# Prefix f: Befehle innerhalb des Textblocks sollen ignoriert werden:
«f KUNDEN-BEM(2)»
String-Literal
Command
Um innerhalb eines F-Script mit Strings zu arbeiten die
F-Script Befehlszeichen enthalten, steht Ihnen neu das String-Literal
Command zur Verfügung: «"...."». Die in String-Literalen enthaltenen
F-Script Befehlszeichen (sowie weitere normalerweise nicht erlaubte
Zeichen) werden dabei nicht als Befehle
interpretiert.
Beispiel
String-Literal: «"... hier beliebiger String mit verbotenen Zeichen wie '«' oder '»' und Escape-Sequenzen wie '\u00A9' (Copyright-Zeichen) ..."»
Das
obige Beispiel ergibt folgende Ausgabe: