F-Script Befehlszeichen in Textblöcken und String-Literal Command

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
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:
string-literal.jpg