Links überspringen

Erweiterte Scripting-Techniken in FileMaker

4.3 Erweiterte Scripting-Techniken

Nachdem Sie die Grundlagen des Scripting in FileMaker beherrschen, ist es an der Zeit, sich mit erweiterten Techniken zu beschäftigen, die Ihnen helfen, komplexere und robustere Anwendungen zu entwickeln. In diesem Tutorial werden wir uns auf die Fehlerbehandlung in Scripts, das Debugging und die Dokumentation von Scripts sowie die Erstellung komplexer Workflows mit mehreren Scripts konzentrieren. Diese Techniken werden Ihre Fähigkeit verbessern, leistungsfähige und zuverlässige FileMaker-Anwendungen zu erstellen.

Fehlerbehandlung in Scripts

Einführung in die Fehlerbehandlung

Fehlerbehandlung ist ein wesentlicher Bestandteil jedes gut entwickelten Scripts. In FileMaker bedeutet dies, dass Sie Ihr Script so gestalten, dass es auf unerwartete Situationen reagieren kann, wie z. B. wenn eine Datei nicht gefunden wird, eine Berechnung fehlschlägt oder ein Benutzer eine ungültige Eingabe macht. Eine effektive Fehlerbehandlung sorgt dafür, dass Ihr Script nicht einfach „abstürzt“, sondern stattdessen den Fehler erkennt, angemessen darauf reagiert und den Benutzer informiert.

Grundlagen der Fehlerbehandlung
  1. Fehlererkennung durch Fehleraufzeichnung setzen: Mit dem Script-Schritt Fehleraufzeichnung setzen [Ein] können Sie verhindern, dass FileMaker bei einem Fehler automatisch eine Fehlermeldung anzeigt. Stattdessen können Sie die Fehlerbehandlung selbst übernehmen.
  2. Überprüfen des Fehlerstatus mit Hole(LetzteFehlerNr): Nach jedem kritischen Schritt im Script sollten Sie den Fehlerstatus überprüfen. Hole(LetzteFehlerNr) gibt einen Fehlercode zurück, den Sie in einer Wenn-Bedingung verwenden können, um auf den Fehler zu reagieren. Beispiel:
     
    Fehleraufzeichnung setzen [Ein]
    Datei öffnen ["Datenbank.fmp12"]
    Wenn [Hole(LetzteFehlerNr) ≠ 0]
        Eigenes Dialogfeld anzeigen ["Fehler"; "Die Datei konnte nicht geöffnet werden."]
        Aktuelles Script verlassen
    Ende Wenn
  3. Fehlerbehandlungsschritte einfügen: Wenn ein Fehler erkannt wird, können Sie entsprechende Schritte einfügen, um das Problem zu beheben oder den Benutzer zu benachrichtigen. Dies könnte das Rückgängigmachen von Änderungen, das Speichern eines Fehlerprotokolls oder das Vorschlagen einer alternativen Aktion umfassen.
Erweiterte Fehlerbehandlung
  1. Verwenden von Schleifen für Wiederholungsversuche: In einigen Fällen kann es sinnvoll sein, bei einem Fehler mehrere Wiederholungsversuche durchzuführen, bevor das Script beendet wird. Beispiel:
     
    Variable setzen [$Versuch; Wert: 1]
    Schleife
        Datei öffnen ["Datenbank.fmp12"]
        Wenn [Hole(LetzteFehlerNr) = 0]
            Verlasse Schleife wenn [Hole(LetzteFehlerNr) = 0]
        Sonst Wenn [$Versuch ≥ 3]
            Eigenes Dialogfeld anzeigen ["Fehler"; "Die Datei konnte nach 3 Versuchen nicht geöffnet werden."]
            Aktuelles Script verlassen
        Ende Wenn

        Verlasse Schleife wenn [$Versuch > 3]
        Variable setzen [$Versuch; Wert: $Versuch + 1]
    Ende Schleife

    Fehlerprotokollierung: In komplexen Anwendungen kann es hilfreich sein, ein Fehlerprotokoll zu führen, in dem Details zu aufgetretenen Fehlern gespeichert werden. Dies kann in einer separaten Fehlerprotokoll-Tabelle in Ihrer FileMaker-Datenbank erfolgen.

  2. Beispiel:

     Wenn [Hole(LetzteFehlerNr) ≠ 0]
        Gehe zu Layout [Name: "Fehlerprotokoll"]
        Neuer Datensatz/Abfrage 
        Feldwert setzen [Fehlerprotokoll::Datum; Hole( SystemZeitstempel )]
        Feldwert setzen [Fehlerprotokoll::Fehlercode; Hole(LetzteFehlerNr)]
        Feldwert setzen [Fehlerprotokoll::Benutzer; Hole( KontoName )]
        Datensatz/Abfrage speichern [Mit Dialog: Aus]
    Ende Wenn

FileMaker ERP mit klarer und voll dokumentierter Script-Struktur und Entwickler-Modul.

Mehr Informationen
Professional ERP-Software

Debugging und Script-Dokumentation

Einführung in das Debugging

Das Debugging von Scripts ist ein entscheidender Schritt, um sicherzustellen, dass Ihre Scripts korrekt funktionieren und erwartungsgemäß ausgeführt werden. Der Script-Workspace in FileMaker bietet leistungsstarke Werkzeuge für das Debugging, wie den Script-Debugger und die Data Viewer-Funktion.

Script-Debugger verwenden
  1. Script-Debugger aktivieren: Öffnen Sie den Script-Workspace und starten Sie den Script-Debugger über Werkzeuge > Script-Debugger. Der Debugger ermöglicht es Ihnen, Ihr Script Schritt für Schritt durchzugehen und den aktuellen Status jeder Variable und jedes Script-Schritts zu überprüfen.
  2. Schrittweise Ausführung: Verwenden Sie die Schaltflächen im Script-Debugger, um Ihr Script Schritt für Schritt auszuführen. Dies ermöglicht es Ihnen, genau zu sehen, wo ein Fehler auftritt oder unerwartete Ergebnisse erzeugt werden.
  3. Haltepunkte setzen: Sie können Haltepunkte in Ihrem Script setzen, um die Ausführung an einer bestimmten Stelle zu stoppen und den aktuellen Status zu überprüfen. Dies ist besonders nützlich, um komplexe Bereiche Ihres Scripts zu analysieren.
Data Viewer nutzen

Der Data Viewer zeigt Ihnen in Echtzeit den Wert von Feldern, Variablen und Berechnungen an, während Ihr Script ausgeführt wird. Dies ist besonders nützlich, um die Auswirkungen einzelner Script-Schritte auf Ihre Daten zu beobachten.

  1. Data Viewer öffnen: Der Data Viewer kann über Werkzeuge > Data Viewer geöffnet werden.
  2. Ausdrücke überwachen: Fügen Sie die Felder oder Variablen hinzu, die Sie überwachen möchten, um ihre Werte während der Ausführung des Scripts zu überprüfen.
Script-Dokumentation

Eine klare und gut strukturierte Dokumentation Ihrer Scripts ist wichtig, um die Wartbarkeit und Verständlichkeit Ihrer FileMaker-Lösung zu gewährleisten. Eine gute Dokumentation enthält nicht nur Kommentare im Script selbst, sondern auch eine Beschreibung des Scripts, seines Zwecks und der genutzten Parameter.

  1. Kommentieren Sie Ihr Script: Verwenden Sie die Kommentar-Funktion im Script-Workspace, um jeden Abschnitt Ihres Scripts zu dokumentieren. Erklären Sie, was jeder Abschnitt tut und warum es notwendig ist.Beispiel:
     
    # Dieses Script überprüft, ob die Datei geöffnet werden kann und gibt eine Fehlermeldung aus, falls nicht.
     
  2. Script-Beschreibung hinzufügen: Geben Sie eine allgemeine Beschreibung des Scripts im Script-Workspace an. Dies hilft Ihnen oder anderen Entwicklern, schnell zu verstehen, was das Script tut.
  3. Versionskontrolle führen: Halten Sie verschiedene Versionen Ihrer Scripts fest, besonders wenn Sie Änderungen vornehmen. Notieren Sie, wann und warum Änderungen vorgenommen wurden.

gFM-Business Open Source FileMaker Basis-ERP

Die Software zum Crashkurs

Gratis herunterladen
Open Source ERP auf Basis von Claris FileMaker

Komplexe Workflows mit mehreren Scripts erstellen

Einführung in komplexe Workflows

In größeren FileMaker-Anwendungen müssen oft mehrere Scripts zusammenarbeiten, um einen vollständigen Workflow zu implementieren. Diese Scripts können nacheinander ausgeführt oder über Bedingungen und Trigger miteinander verbunden werden, um komplexe Abläufe abzubilden.

Scripts zur Modulerstellung
  1. Aufteilung in Module: Zerlegen Sie komplexe Aufgaben in kleinere, wiederverwendbare Module. Jedes dieser Module sollte eine spezifische Aufgabe erfüllen und kann von anderen Scripts aufgerufen werden.Beispiel: Ein Script-Modul, das Daten validiert, ein anderes, das einen Bericht generiert, und ein weiteres, das den Bericht exportiert.
  2. Script-Parameter verwenden: Übergeben Sie Parameter zwischen den Scripts, um sie flexibel und wiederverwendbar zu machen. Dies ermöglicht es Ihnen, ein Script in verschiedenen Kontexten mit unterschiedlichen Eingabedaten zu verwenden.Beispiel:
     
    # Haupt-Script
    Wenn [Hole(ScriptParameter) = "Bericht"]
        Script ausführen ["Bericht generieren"]
    Sonst Wenn [Hole(ScriptParameter) = "Validierung"]
        
    Script ausführen
    Ende Wenn
     
  3. Scripts aufrufen: Verwenden Sie Perform Script-Schritte, um andere Scripts innerhalb eines Haupt-Scripts aufzurufen. Dies ermöglicht es, komplexe Workflows zu erstellen, die sich aus mehreren Schritten und Modulen zusammensetzen.
Fehlerbehandlung und Workflow-Management
  1. Fehlerüberwachung in komplexen Workflows: In Workflows mit mehreren Scripts ist es wichtig, die Fehlerüberwachung zwischen den Scripts zu koordinieren. Stellen Sie sicher, dass Fehlercodes zwischen den Scripts weitergegeben werden und das Haupt-Script entsprechend reagiert.
  2. Rollback-Strategien: In kritischen Workflows kann es notwendig sein, eine Rollback-Strategie zu implementieren, bei der alle Änderungen rückgängig gemacht werden, wenn ein Fehler auftritt. Dies kann durch das Rücksetzen von Feldern oder das Löschen von neu erstellten Datensätzen erreicht werden.
Optimierung und Performance
  1. Scripts optimieren: Stellen Sie sicher, dass Ihre Scripts so effizient wie möglich ausgeführt werden, indem Sie unnötige Schritte vermeiden und die Anzahl der Datenbankabfragen minimieren.
  2. Ladezeiten minimieren: Bei der Arbeit mit großen Datenmengen oder komplexen Berechnungen sollten Sie darauf achten, dass die Ladezeiten minimiert werden. Nutzen Sie Indizes, optimierte Abfragen und schlanke Layouts.

Einsatz von Teilscripten und Script-Parametern in FileMaker

In FileMaker können Teilscripte und Script-Parameter verwendet werden, um die Effizienz und Wiederverwendbarkeit von Skripten zu maximieren. Teilscripte sind kleinere, spezialisierte Skripte, die von anderen Skripten aufgerufen werden, um wiederkehrende Aufgaben zu erledigen. Dies ermöglicht eine bessere Strukturierung des Codes und erleichtert die Wartung, da Änderungen an einem Teilskript automatisch in allen aufrufenden Hauptskripten wirksam werden. Script-Parameter ermöglichen es, Informationen zwischen verschiedenen Skripten zu übergeben, was die Flexibilität und Dynamik der Skriptaufrufe erhöht.

Beispiel: Nutzung von Teilscripten und Script-Parametern

Angenommen, wir möchten ein häufig wiederkehrendes Element wie das Erstellen eines neuen Datensatzes und die Übergabe von Informationen an diesen Datensatz über mehrere Skripte hinweg wiederverwenden.

1. Hauptskript: Aufruf eines Teilskripts

Im Hauptskript wird ein Teilskript aufgerufen, das den neuen Datensatz erstellt. Ein Script-Parameter wird verwendet, um die zu übergebenden Daten an das Teilskript zu senden:

# Hauptskript: „Neuer Kunde anlegen“
Variable setzen [$kundenname; Wert: "Max Mustermann"]
Variable setzen [$kundennummer; Wert: "12345"]
# Aufruf des Teilskripts mit übergebenen Parametern
Perform Script ["Kundenanlage"; Parameter: JSONSetElement ( "{}" ; ["name"; $kundenname; JSONString]; ["nummer"; $kundennummer; JSONString] )]

In diesem Beispiel wird das Teilskript „Kundenanlage“ aufgerufen. Die Informationen zum Kundennamen und zur Kundennummer werden im JSON-Format als Script-Parameter übergeben. Dies bietet den Vorteil, dass mehrere Datenpunkte in einem einzigen Parameter übergeben werden können.

2. Teilskript: Verarbeiten von Script-Parametern

Das Teilskript „Kundenanlage“ übernimmt den Script-Parameter, extrahiert die Informationen und erstellt einen neuen Datensatz basierend auf den übergebenen Daten:

 
# Teilskript: „Kundenanlage“
Variable setzen [$param; Value: Hole ( ScriptParameter )]
# Extrahieren der Daten aus dem JSON-Parameter
Variable setzen [$name; Value: JSONGetElement ($param; "name")]
Variable setzen [$nummer; Value: JSONGetElement ($param; "nummer")]
# Neuer Datensatz basierend auf den übergebenen Werten
Neuer Datensatz/Abfrage
Feldwert setzen [Kunden::Name; $name]
Feldwert setzen [Kunden::Nummer; $nummer]

In diesem Teilskript wird der übergebene JSON-Parameter mithilfe von JSONGetElement verarbeitet. Die Variablen $name und $nummer werden extrahiert und in die entsprechenden Felder des neuen Datensatzes eingetragen.

Mehrere Script-Parameter übergeben

Mehrere Script-Parameter können in FileMaker auf verschiedene Weise übergeben werden. Eine gängige Methode besteht darin, die Parameter als Liste zu übergeben und später mit der Funktion HoleWert() einzeln auszulesen. Alternativ kann in gFM-Business eine Methode verwendet werden, bei der die Parameter durch Hochstriche (|) getrennt werden. Anschließend werden diese Werte mit der Funktion „StringSpalten“ wieder aufgesplittet und einzeln verarbeitet. Diese Ansätze ermöglichen die flexible und strukturierte Übergabe mehrerer Parameter, die dann in den entsprechenden Skripten weiterverarbeitet werden können.

Vorteile von Teilscripten und Script-Parametern

  1. Wiederverwendbarkeit: Teilscripte können von mehreren Skripten aufgerufen werden, was den Code modular und wartungsfreundlich macht. Änderungen an einem Teilskript müssen nur einmal vorgenommen werden und wirken sich auf alle aufrufenden Skripte aus.
  2. Flexibilität: Mit Script-Parametern können dynamische Informationen an Teilskripte übergeben werden, was die Skripte flexibler macht. Die Verwendung von JSON-Parametern bietet hierbei die Möglichkeit, komplexe Datenstrukturen in einem einzigen Parameter zu übergeben.
  3. Klarheit und Struktur: Durch die Aufteilung von Skripten in kleinere Teilskripte wird der Code übersichtlicher und besser strukturiert. Das erleichtert nicht nur die Entwicklung, sondern auch das Debugging.

Tipps, Anleitungen und Schnittstellen für FileMaker und gFM-Business ERP

Tipps & Anleitungen
FileMaker Tipps und Anleitungen

Häufig gestellte Fragen zu erweiterten Scriptfunktionen

  • Wie kann ich in FileMaker Skripte auf Fehler überprüfen und beheben?
    • In FileMaker können Sie die Fehlerbehandlung durch den Befehl „Fehleraufzeichnung setzen“ steuern, der verhindert, dass Standardfehlermeldungen angezeigt werden. Sie können dann mit dem Befehl „Hole (LetzteFehlerNr)“ den Fehlerstatus überprüfen und entsprechende Aktionen basierend auf dem Fehlercode definieren. Dies ermöglicht es, alternative Skriptpfade auszuführen oder benutzerdefinierte Fehlermeldungen anzuzeigen, um die Benutzer zu informieren.
  • Wie funktioniert das Debugging von Skripten in FileMaker?
    • Das Script-Debugger-Tool in FileMaker Pro ermöglicht es Ihnen, Skripte Schritt für Schritt durchzugehen. Sie können den Fortschritt eines Skripts in Echtzeit überwachen, Haltepunkte setzen und den aktuellen Status von Variablen und Feldern überprüfen. So können Sie schnell Fehler lokalisieren und beheben. Sie können den Debugger im Menü „Werkzeuge“ > „Script-Debugger“ starten.
  • Ich sehe kein Werkzeug-Menü, wie kann ich es aktivieren?
    • Wenn Sie kein Werkzeug-Menü in der Menüleiste finden, gehen Sie in die FileMaker-Voreinstellungen (Mac unter „FileMaker Pro“, Windows unter „Bearbeiten“) und wählen im ersten Register „Allgemein“ die Option „Erweiterte Werkzeuge verwenden“ aus. Bestätigen Sie den Dialog und starten Sie FileMaker Pro einmal neu.
  • Wie kann ich mehrere Skripte in FileMaker miteinander verknüpfen?
    • In FileMaker können Sie mehrere Skripte miteinander verknüpfen, indem Sie den Befehl „Skript ausführen“ verwenden, um ein anderes Skript aufzurufen. Dies ermöglicht es Ihnen, komplexe Prozesse in kleinere, besser handhabbare Skripte zu unterteilen, die miteinander arbeiten. Durch das Aufteilen von Skripten in Teilskripte können Sie spezifische Aufgaben wiederverwenden und die Wartbarkeit Ihrer Scripting-Lösungen verbessern.
  • Was sind Teilskripte und wann sollte ich sie verwenden?
    • Teilskripte sind kleinere, spezialisierte Skripte, die als Teil eines größeren Skripts aufgerufen werden. Sie sind nützlich, um wiederkehrende Aufgaben wie das Erstellen neuer Datensätze oder das Navigieren zwischen Layouts zu kapseln. Teilskripte fördern eine saubere und modulare Struktur in Ihren Skripten, was die Wartung erleichtert. Wenn ein Prozess häufiger verwendet wird, sollten Sie ihn in einem Teilskript auslagern und von anderen Skripten aus aufrufen.
  • Wie verwende ich Skript-Parameter in FileMaker?
    • Skript-Parameter ermöglichen es Ihnen, Daten von einem Skript an ein anderes zu übergeben. Beim Aufrufen eines Skripts können Sie einen oder mehrere Parameter an das Skript übergeben, indem Sie den Befehl „Skript ausführen“ verwenden und Parameter festlegen. Innerhalb des Skripts können Sie die Parameter mit dem Befehl „Hole (SkriptParameter)“ abrufen und verwenden. Dies ist nützlich, um dynamisch zu steuern, welche Aktionen das aufgerufene Skript ausführt.
  • Wie übergebe ich mehrere Skript-Parameter?
    • Um mehrere Skript-Parameter zu übergeben, können Sie diese in einer Liste oder einem JSON-Format zusammenfassen. Mit der Funktion „Liste()“ können Sie Parameter in einer durch Zeilenumbrüche getrennten Liste übergeben und im Skript mit der Funktion HoleWert(„Hole (SkriptParameter)“; Nummer) abrufen. Die Nummer kennzeichnet den x-ten Script-Parameter. Alternativ können Sie JSON verwenden, um Parameter in einem strukturierten Format zu übergeben, und dann Funktionen wie „JSONGetElement“ nutzen, um auf die spezifischen Parameter zuzugreifen.
    • gFM-Business verwendet für mehrere Script-Parameter die Funktion „StringSpalten“, mit der die Parameter mit einem Hochstrich „|“ trennt. Diese Vorgehensweise hat den Vorteil, dass übergebene Parameter auch Zeilentrennungen enthalten können.
  • Wie verwalte ich globale Variablen in Skripten?
    • Globale Variablen (beginnend mit $$) speichern Daten, die während der gesamten Sitzung zugänglich sind, auch nach Abschluss des Skripts. Sie können globale Variablen mit dem Befehl „Setze Variable“ in einem Skript definieren und ihren Wert jederzeit abrufen oder ändern. Sie sind besonders nützlich, um Daten zwischen verschiedenen Skripten oder Layouts zu teilen. Da sie jedoch bis zum Schließen der Datei bestehen bleiben, sollten globale Variablen mit Bedacht verwendet werden, um ungewollte Interferenzen zu vermeiden.
  • Wie funktionieren lokale Variablen in FileMaker-Skripten?
    • Lokale Variablen (beginnend mit $) sind nur während der Laufzeit eines Skripts gültig. Sie werden häufig verwendet, um Daten temporär zu speichern, die nur in einem bestimmten Skript oder Teilschritt benötigt werden. Sobald das Skript endet, wird die lokale Variable gelöscht. Lokale Variablen eignen sich gut, um Berechnungsergebnisse oder Zwischenwerte zu speichern, ohne dass sie in der gesamten Sitzung bestehen bleiben.
  • Wie kann ich Bedingungen in einem Skript effektiv einsetzen?
    • Mit „Wenn“-Bedingungen können Sie den Ablauf eines Skripts basierend auf bestimmten Kriterien steuern. Sie können überprüfen, ob eine Bedingung erfüllt ist, und je nach Ergebnis unterschiedliche Aktionen ausführen. Ein typisches Beispiel wäre eine Bedingung, die überprüft, ob ein Feld leer ist, bevor ein neuer Datensatz erstellt wird. Für komplexere Fälle können Sie auch verschachtelte Wenn-Bedingungen oder Wenn/Sonst-Szenarien verwenden, um mehrere Bedingungen zu überprüfen, wofür der Befehl „Sonst Wenn“ verwendet werden kann.
  • Wie kann ich Wiederholungen und Schleifen in Skripten nutzen, um Daten zu verarbeiten?
    • Mit Schleifen können Sie eine Reihe von Aktionen wiederholen, bis eine bestimmte Bedingung erfüllt ist. Ein typisches Beispiel wäre das Durchlaufen aller Datensätze in einem Suchergebnis und das Aktualisieren eines bestimmten Feldes. Sie beginnen die Schleife mit dem Befehl „Schleife“ und beenden sie mit „Verlasse Schleife, wenn“, wenn die gewünschte Bedingung erfüllt ist, z. B. wenn der letzte Datensatz erreicht wurde.
  • Wie kann ich Skripte und Teilscripte modular und wiederverwendbar gestalten?
    • Um Skripte modular und wiederverwendbar zu gestalten, sollten Sie allgemeine Prozesse in Teilscripte auslagern und Skript-Parameter verwenden, um den Ablauf dynamisch zu steuern. Dies reduziert Redundanzen und ermöglicht es Ihnen, Skripte in verschiedenen Kontexten wiederzuverwenden. Verwenden Sie zudem globale und lokale Variablen effizient, um Daten innerhalb eines Skripts oder zwischen Skripten zu übertragen, ohne jedes Mal neue Skripte erstellen zu müssen. Übertragen Sie bei Bedarf auch mehrere Script-Parameter von einem Script zum anderen Script, die Sie mit der Funktion „Hole(ScriptErgebnis)“ auslesen können.
4.3 Erweiterte Scripting-Techniken

Diese Seite teilen:

ERP-Software so flexibel wie Ihr Unternehmen.
Wir beraten Sie gern.

Anpassbare ERP-Software für Mac, Windows und iOS.

Sie sind hier: Erweiterte Scripting-Techniken | FileMaker Kapitel 4.3