Library

Libraries erlauben das zentrale Erfassen von Einträgen, welche anschliessend an beliebigen Code-Stellen verwendet werden können. Bei Anpassungen muss dann jeweils nur der Library-Eintrag mutiert werden. Eine der meistgenutzten Library-Funktionen ist das Übersetzen von Texten. Dabei werden in den F-Scripts "Platzhalter" für die Texte verwendet. Der eigentliche Text, wird in der jeweiligen Sprache dann in der Library erfasst. So ist es beispielsweise möglich, Dokumente in mehreren Sprachen auszudrucken, ohne dass für jede Sprache ein eigenes F-Script erstellt werden muss.
Beispiele für die Namensgebung von Übersetzungs-Libraries:
  • <XY>-DOK.LBD (Deutsch)
  • <XY>-DOK.LBF (Französisch)
  • <XY>-DOK.LBE (Englisch)
  • <XY>-DOK.LBI (Italienisch)
<XY> = Kundenkürzel

Form

«LIB(<AufrufBefehl>,<Lib-name>)»
«LIB(<#>,<Lib-name>)»

Typ

S (Funktion)
Rückgabewerte werden unter einem bestimmten Namen abgelegt und lassen sich unter diesem Namen wieder aufrufen.
Beispiele:
«LIB(#,ST-DOK.LIB)»
Alle Library-Aufrufe mit # werden in dieser Datei gesucht.
«LIB(Uebertrag│)»
Der Rückgabewert Uebertrag soll aus der Library gelesen werden. Da hinter dem Pipe-Zeichen nichts weiter steht, muss der Library-Eintrag im selben Script definiert sein.
«LIB(Uebertrag│,#)»
Der Rückgabewert Uebertrag wird in der Datei ST-DOK.LIB gesucht (siehe weiter oben).
«LIB(Uebertrag,ST-DOK2.LIB)»
Der Rückgabewert Uebertrag wird in der Datei ST-DOK2.LIB gesucht.
Uebertrag│«CARRY»
Der Rückgabewert Uebertrag wird als Library-Eintrag definiert. Zurückgegeben wird der aktuelle Wert des Carry.
Die Library-Dateien werden grundsätzlich im F-Script-Verzeichnis gesucht. Es kann jedoch ein anderer Pfad vorangestellt werden.

Beispiel 1

Die Library-Einträge befinden sich in separaten F-Scripts und werden aus dem Hauptscript aufgerufen.
# Anwendungsbeispiel: Library in separatem F-Script
# 
# Script XY-VE100.FF
/headerreport
# Library-Datei sprachgesteuert Aufrufen
«LIB(#,XY-DOK.LB«AUF-SPRACHE»)»
«z~POS(│«AUF-SPRACHE»│,│D│E│F│I│)\I»«LIB(#,XY-DOK.LBE)»
# Bezeichnung der Dokumentart AB aus der Library auslesen
«LIB(Auftragsbestätigung/«AUF-SCUT»│,#)» «AUF-NR»
/

# Script XY-DOK.LBD (Deutsch)

/LIBRARY
Auftragsbestätigung/Z│Auftragsbestätigung
/

# Script XY-DOK.LBE (Englisch)
/LIBRARY
Auftragsbestätigung/Z│Acknowledgement
/

Ausgabe

Wenn Dokumentsprache = D:
Auftragsbestätigung 1155
Wenn Dokumentsprache = E:
Acknowledgement 1155

Beispiel 2

Die Library-Einträge befinden sich innerhalb des F-Scripts.
# Library innerhalb des F-Scripts nutzen
/Konvert
«WRITE(1:DIRECT «LIB(DokPfad|)»«LIB(DateiName|)»)»
...
...
/

/LIBRARY
Dok_Pfad│..\TX\
DateiName│LogFile.«TODAY(Y)\N4F0»_«TODAY(M)\N2F0»_«TODAY(D)\N2F0».csv
/