Ein F-Script kann aus folgenden Elementen bestehen
Syntax-Zeichen
Ein F-Script-Element bzw. Befehl wird durch die Zeichen
"«" (Alt-174) und "»" (Alt-175) begrenzt. und dadurch für
den F-Script-Interpreter identifizierbar gemacht. Zur Laufzeit werden
diese Elemente dann durch die entsprechende Information aus der Datenbank
ersetzt oder der entsprechende Befehl wird ausgeführt. Fehlen die Start
und End-Zeichen, wird die Information als Konstante oder Kommentar
interpretiert.
Konstanten
Konstante Elemente sind
reine Textelemente, welche genau so ausgegeben (angedruckt) werden, wie
sie im Script stehen (z.B. Titel, Überschrift). Leerzeilen sind ebenfalls
konstante Elemente und werden als Leerzeilen ausgegeben
(angedruckt).
Kommentar
Kommentar ist eine spezielle
Ausprägung einer Konstante und wird mit einem "Hash" -Zeichen # gefolgt
von einem Leerschlag eingeleitet. Alle Zeilen in einem F-Script welche mit
einem # und einem Leerschlag beginnen, werden ignoriert. Beachten sie,
dass vor jede einzelne Kommentarzeile ein # gefolgt von einem Leerschlag
gesetzt werden muss.
Beispiel
# Auswertung der Jahresumsätze pro Kunde.
#
# Selektion:
# - Jahr
# - Kunde
# F-Script erstellt: 25.09.2012
#
Befehle
Befehle
können in verschiedene Kategorien unterteilt werden.
Die detaillierten Beschreibungen zu den Befehlen finden Sie im
Kapitel Sprachelemente.
Beispiel
# Fett-Schrift ein- ausschalten
In der Beilage finden Sie die «F+»gewünschten Informationen«F-».
Ausgabe
Beispiel
In der Beilage finden Sie die gewünschten
Informationen.
Objekte / Objekt-Aktivierung
Objekte
Als
Objekte bzeichnen wir Business-Objekte (BO) von OpaccERP. Es sind dies
beispielsweise Adressen (Addr) oder Verkaufsdokumente (SalDoc). Jedes
Objekt hat seine eigenen Attribute, die nach der Aktivierung des Objekts
genutzt werden können. Welche Objekte und Attribute zur Verfügung stehen,
ist in den Kapiteln "Mandant" bis "MIS" beschrieben.
Bevor man ein
Script Element bzw. ein Attribut nutzen kann, müssen folgende drei Fragen
geklärt werden:
-
Welche Objekte sind bereits aktiv?
-
Welche Objekte müssen aktiv sein?
-
Wie aktiviere ich die benötigten Objekte?
Objekt-Aktivierung
Werden konkrete
F-Scripts gestartet, sind automatisch bestimmte Objekte aktiv. Welche
Objekte dies sind, hängt vom Kontext ab, aus welchen das Script gestartet
wird. (Siehe auch Kapitel
Script
Architektur)
Werden abstrakte F-Scripts gestartet, müssen
alle Objekte (ausser diejenigen welche in jedem F-Script automatisch aktiv
sind) innerhalb des Scripts aktiviert werden.
Beispiel: Verarbeiten
eines Verkaufsdokuments.
Wird ein Verkaufsdokument verarbeitet, so
sind die Objekte AUF (SalDoc), VDOK (SalDocType), sowie die Adress-Objekte
in der Subroutine «/headerreport» automatisch aktiv. Es kann somit direkt
auf die Attribute dieser Objekte zugegriffen werden. Analog gilt dies für
die Objekte AP (SalDocItem, ART (Art), etc. welche in der Subroutine
«/body» automatisch aktiv sind.
Beispiel: Abarbeiten eines
beliebigen eigenen F-Scripts aus dem OpaccERP Explorer heraus.
Soll
in so einem Script beispielsweise auf eine Adresse zugegriffen werden, so
muss das Objekt ADR (Addr) im Script zuerst aktiviert werden.
Beispielsweise indem man eine konkrete Adress-Nr. vorgibt. Die Aktivierung
der Adresse erfolgt dann mit einem Active-Befehl: «ADR-ACTIVE(123456)»
Wobei 123456 der gewünschten Adress-Nr. entspricht. Für die Aktivierung
stehen je nach Objekt verschiedene Indizes zur Verfügung, welche auch mehr
als ein Argument enthalten können. (z.B. das Aktivieren einer Adresse über
Nach- und Vorname.)
Welche Objekte und Attribute insgesamt zur
Verfügung stehen und wie diese aktiviert werden, entnehmen Sie bitte den
Beschreibungen der einzelnen Module (Mandant, Adresse, Artikel,
usw.).
Hinweise
Sobald ein Objekt einmal
aktiviert ist, lassen sich alle Attribute dieses Objektes ohne
Aktivierungsargument aufrufen.
Wenn ein Objekt aufgrund des zu
verwendenden Index mit mehreren Aktivierungsargumenten aktiviert werden
kann, so dürfen - von hinten beginnend - eines oder mehrere dieser
Argumente weggelassen werden.
Beispiel: Aktivieren von Adressen über
Index 3 (Nachname, Vorname)
-
Eine Aktivierung kann so Aussehen: «ADR-ACTIVE3(Müller, Heinz)»
- Damit wird die erste Adressen mit Nachname "Müller" und Vorname
"Heinz" aktiviert.
-
Eine Aktivierung nur nach Nachname würde dann so aussehen:
«ADR-ACTIVE3(Müller)» - Damit wird die erste Adresse mit Nachname
"Müller" aktiviert.
Es ist nicht möglich, mehr als ein Objekt desselben Typs aktiv
zu halten. Ist zum Beispiel das Objekt Adresse mit der Adress-Nr (ADRNR) =
100 aktiv, so führt die Aktivierung mit «ADR-ACTIVE(120)» dazu, dass das
zuvor aktive Objekt mit Adress-Nr 100, durch dasjenige mit der Adress-Nr
120 "ersetzt" wird.
Beispiel
# Lieferadresse mit Operation aktivieren und Objekt Kontaktperson ansprechen
«LIEFADR-EINLESEN»
«F+»«ADRAR-TEXT(«KP-ADRAR-NR»)» «KP-NAME»«F-»
In der Beilage finden Sie die gewünschten Informationen.
Ausgabe Beispiel
Sehr
geehrter Herr Maier
In der Beilage finden Sie die gewünschten
Informationen.
Attribute
Ein
Attribut ist Bestandteil eines OpaccERP Business-Objektes (BO). Beispiel:
Das Attribut Suchbegriff ist Bestandteil des Objekts Artikel.
Ein
Attribut verfügt über eine eindeutige Identifizierung mit welcher der
F-Script-Interpreter das korrespondierende Datenbank-Feld referenzieren
kann. Welche Attribute zur Verfügung stehen, ist in den Kapiteln "Mandant"
bis "MIS" beschrieben.
Beispiel
# Anrede und Name aus Adress-Liste
«ANREDETEXT» «NAME»
In der Beilage finden Sie die gewünschten Informationen.
Ausgabe Beispiel
Sehr
geehrte Frau Huber
In der Beilage finden Sie die gewünschten
Informationen.
Bildschirm-Abfrage / unbekanntes
Attribut
Wenn ein Attribut keinem Datenbankfeld zugeordnet
werden kann, wird automatisch eine Abfrage angezeigt. Dabei wird der
unbekannte Attributname und der Inhalt auf dem Bildschirm ausgegeben und
auf eine Eingabe des Anwenders gewartet. Mit der erfolgen Eingabe kann
anschliessend weitergearbeitet werden. Dieses Verhalten kann man sich zu
Nutze machen, um einfache Dialoge mit dem Anwender zu führen.
Beispielsweise Startabfragen am Anfang eines Scripts.
Wichtig! Die
Abfrage erscheint nur dann am Bildschirm, wenn das erste Zeichen des
unbekannten Attributs ein Grossbuchstabe ist.
Da solche Abfragen
bei F-Scripts welche in Autopiloten laufen Probleme verursachen können,
sollte wenn immer möglich darauf verzichtet werden.
 |
Achtung
Im Servermodesind Abfragen
generell nicht möglich. Sie werden komplett unterdrückt, was u.U.
zu Folgeproblemen führen kann. Für Servermode gilt: Um Folgeprobleme zu
vermeiden dürfen F-Scripts keine Abfragen enthalten.
|
Beispiel
# Gewünschtes Datum abfragen, Vorgabe: Heutiges Datum
«MAND-ORT», «Briefdatum ?(«TODAY»)»
Ausgabe
Luzern,
20.01.2011
Operationen
Operationen beinhalten
komplexe, in sich abgeschlossene Funktionalität (z.B. VUMS-LIST) und
stehen immer in einem bestimmten Kontext zu einem oder mehreren Objekten.
Die verfügbaren Operationen werden in einzelnen Abschnitten beschrieben.
Mehrere logisch zusammenhängende Elemente (Objekte, Befehle etc.) werden
als Operation zusammengefasst.
Dies können sein:
Aufgrund der Tatsache, dass der Zugriff auf die OpaccERP-Daten
über Operationen und nicht direkt mit der physischen Adressierung in der
Datenbank erfolgt, liefert eine Operation auch dann die richtigen Daten,
wenn beispielsweise im Rahmen eines Updates die Datenbankstruktur geändert
wurde. Zudem können Operationen auch Daten liefern, die so gar nicht in
der Datenbank existieren, sondern erst durch entsprechende Prozeduren
erzeugt werden.
Beispiel: Lagerbestände per Stichtag.
Verweis
Detailierte Informationen
über Operationen finden Sie in den Kapiteln "Mandant" bis
"MIS".
Beispiel: Adresse / Adressen - Operationen /
ADR-LIST