Scriptelemente

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.
  • Formatierungs-Befehle
  • Befehle für das Lesen und Schreiben von Dateien
  • Funktionen und Operatoren
  • etc.
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
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»)»
abfrage.jpg

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:
  • Listen
  • Mehrzeilige Texte (z.B. Texblock, Positionstext, etc.
  • Subscripts
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