Jeder FileMaker-Entwickler kennt Indirections.
Indirections referenzieren nicht direkt zu einem Objekt, sondern verweisen mit einem Namen auf ein Objekt.
Zwei Beispiele sind die Scriptschritte „Feld nach Namen einstellen“ oder „Script ausführen nach Namen“, das mit FileMaker 17 eingeführt wurde.
Indirections sind sehr mächtig.
Komplexe Prozesse können mit wenig Aufwand umgesetzt werden. Wiederkehrende Funktionen können generisch aufgesetzt und sehr einfach in FileMaker-Lösungen integriert werden.
Ich möchte in diesem Vortrag mithilfe einiger Beispiele und Beispieldateien vorstellen, was mit Indirections umgesetzt werden kann und worauf geachtet werden sollte, um Probleme zu vermeiden.
FMK2019 Softwaretest in Filemaker Programmen by Volker Krambrich
FMK2019 Indirections - Layout und Eigene Menüs-Management by Jörg Köster
1. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
www.filemaker-konferenz.com
Was sind eigentlich Indirection?
Jörg Köster
Indirections in FileMaker
2. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Management von Layouts und angepassten Menüs | Jörg Köster
Jörg Köster
Jörg Köster hat Musik studiert und arbeitet(e) seit über 20
Jahren als freiberuflicher Pianist und Arrangeur.
3. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Management von Layouts und angepassten Menüs | Jörg Köster
Jörg Köster
Jörg Köster hat Musik studiert und arbeitet(e) seit über 20
Jahren als freiberuflicher Pianist und Arrangeur.
FileMaker seit 2009
4. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Management von Layouts und angepassten Menüs | Jörg Köster
Jörg Köster
Jörg Köster hat Musik studiert und arbeitet(e) seit über 20
Jahren als freiberuflicher Pianist und Arrangeur.
FileMaker seit 2009
Seit 2011 steht FileMaker im beruflichen Mittelpunkt.
5. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Management von Layouts und angepassten Menüs | Jörg Köster
Jörg Köster
Jörg Köster hat Musik studiert und arbeitet(e) seit über 20
Jahren als freiberuflicher Pianist und Arrangeur.
FileMaker seit 2009
Seit 2011 steht FileMaker im beruflichen Mittelpunkt.
Er entwickelt Individual-Lösungen für kleine bis mittlere
Unternehmen.
6. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Management von Layouts und angepassten Menüs | Jörg Köster
Jörg Köster
Jörg Köster hat Musik studiert und arbeitet(e) seit über 20
Jahren als freiberuflicher Pianist und Arrangeur.
FileMaker seit 2009
Seit 2011 steht FileMaker im beruflichen Mittelpunkt.
Er entwickelt Individual-Lösungen für kleine bis mittlere
Unternehmen.
Zu seinen Kunden gehören Ingenieurbüros,
Werbeagenturen, Musikverlage, Speditionen und einige
mehr.
7. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Management von Layouts und angepassten Menüs | Jörg Köster
Jörg Köster
Jörg Köster hat Musik studiert und arbeitet(e) seit über 20
Jahren als freiberuflicher Pianist und Arrangeur.
FileMaker seit 2009
Seit 2011 steht FileMaker im beruflichen Mittelpunkt.
Er entwickelt Individual-Lösungen für kleine bis mittlere
Unternehmen.
Zu seinen Kunden gehören Ingenieurbüros,
Werbeagenturen, Musikverlage, Speditionen und einige
mehr.
• Herausgeber der Agentur-Software „CAOS“ (seit 2015)
8. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Management von Layouts und angepassten Menüs | Jörg Köster
Jörg Köster
Jörg Köster hat Musik studiert und arbeitet(e) seit über 20
Jahren als freiberuflicher Pianist und Arrangeur.
FileMaker seit 2009
Seit 2011 steht FileMaker im beruflichen Mittelpunkt.
Er entwickelt Individual-Lösungen für kleine bis mittlere
Unternehmen.
Zu seinen Kunden gehören Ingenieurbüros,
Werbeagenturen, Musikverlage, Speditionen und einige
mehr.
• Herausgeber der Agentur-Software „CAOS“ (seit 2015)
• Zertifizierter FileMaker-Entwickler seit FM 13
9. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Management von Layouts und angepassten Menüs | Jörg Köster
Jörg Köster
Jörg Köster hat Musik studiert und arbeitet(e) seit über 20
Jahren als freiberuflicher Pianist und Arrangeur.
FileMaker seit 2009
Seit 2011 steht FileMaker im beruflichen Mittelpunkt.
Er entwickelt Individual-Lösungen für kleine bis mittlere
Unternehmen.
Zu seinen Kunden gehören Ingenieurbüros,
Werbeagenturen, Musikverlage, Speditionen und einige mehr.
• Herausgeber der Agentur-Software „CAOS“ (seit 2015)
• Zertifizierter FileMaker-Entwickler seit FM 13
• Autor für Fachartikel im FileMaker-Magazin
10. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Management von Layouts und angepassten Menüs | Jörg Köster
Jörg Köster
Jörg Köster hat Musik studiert und arbeitet(e) seit über 20 Jahren
als freiberuflicher Pianist und Arrangeur.
FileMaker seit 2009
Seit 2011 steht FileMaker im beruflichen Mittelpunkt.
Er entwickelt Individual-Lösungen für kleine bis mittlere
Unternehmen.
Zu seinen Kunden gehören Ingenieurbüros,
Werbeagenturen, Musikverlage, Speditionen und einige mehr.
• Herausgeber der Agentur-Software „CAOS“. (seit 2015)
• Zertifizierter FileMaker-Entwickler seit FM 13
• Autor für Fachartikel im FileMaker-Magazin
• Sprecher FMK 2014/2015/2016/2017…
11. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Management von Layouts und angepassten Menüs | Jörg Köster
Jörg Köster
Jörg Köster hat Musik studiert und arbeitet(e) seit über 20 Jahren als
freiberuflicher Pianist und Arrangeur.
FileMaker seit 2009
Seit 2011 steht FileMaker im beruflichen Mittelpunkt.
Er entwickelt Individual-Lösungen für kleine bis mittlere
Unternehmen.
Zu seinen Kunden gehören Ingenieurbüros,
Werbeagenturen, Musikverlage, Speditionen und einige mehr.
• Herausgeber der Agentur-Software „CAOS“ (seit 2015)
• Zertifizierter FileMaker-Entwickler seit FM 13
• Autor für Fachartikel im FileMaker-Magazin
• Sprecher FMK 2014/2015/2016/2017…
• Gewinner des FileMaker-Magazin-Awards 2014
12. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Management von Layouts und angepassten Menüs | Jörg Köster
In eigene Sache!
Urheberrechte!!
In diesem Vortrag gibt es keine Grafiken
13. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Indirections in Filemaker | Jörg Köster
Warum dieser Vortrag?
Indirektionen sind unglaublich spannend
• Indirektionen ermöglichen generische Prozesse
• Generische Prozesse sind portierbar (Import, Copy & Paste, … in andere
Lösungen)
• Generischer Code gestattet modulare Handhabung
• Mit Indirektionen lassen sich Referenzierungen dynamisch berechnen
• Indirektionen verkürzen die Entwicklungszeit
• Indirektionen können aber auch tückisch sein! … Dazu später mehr …
14. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Indirections in Filemaker | Jörg Köster
Was sind Indirections?
Was verrät Wikipedia …
https://en.wikipedia.org/wiki/Indirection
„In computer programming, indirection (also called dereferencing) is the ability to
reference something using a name, reference, or container instead of the value itself.“
"In der Computerprogrammierung ist Indirektion (auch Dereferenzierung genannt) die
Fähigkeit, etwas mit einem Namen, einer Referenz {oder einem Container} anstelle des
Wertes selbst zu referenzieren.“
https://www.deepl.com/translator
14
15. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Indirections in Filemaker | Jörg Köster
Indirections in FileMaker
Beispiel für eine Indirektion in FileMaker
15
16. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Indirections in Filemaker | Jörg Köster
Indirections in FileMaker
Beispiel:
16
Ereignis Indirektion
Feld nach Namen einstellen [ "Tabellenauftreten::Feldname" ; Wert ]
Feldwert setzen [ Tabellenauftreten::Feldname ; Wert ]
17. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Indirections in Filemaker | Jörg Köster
Indirections in FileMaker
Beispiel:
17
Ereignis Indirektion
Feld nach Namen einstellen [ "Tabellenauftreten::Feldname" ; Wert ]
Feld wird mit einem
Text-String
referenziert
Feldwert setzen [ Tabellenauftreten::Feldname ; Wert ]
Feld wird über die
interne Feld-ID
referenziert
18. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Indirections in Filemaker | Jörg Köster
Indirections in FileMaker
Beispiel:
18
Ereignis Indirektion
Feld nach Namen einstellen [ "Tabellenauftreten::Feldname" ; Wert ]
JA
Feld wird mit einem
Text-String
referenziert
Feldwert setzen [ Tabellenauftreten::Feldname ; Wert ]
NEIN
Feld wird über die
interne Feld-ID
referenziert
19. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Indirections in Filemaker | Jörg Köster
Indirektionen in Filemaker
Wie viele Indirektionen gibt es in FileMaker?
25. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Indirections in Filemaker | Jörg Köster
Indirektionen in Filemaker
• Script steps
• Go to Object
• Set Field By Name
• Go to Layout (by name)
• Go to Layout (by number)
• Go to Related Record with Layout
(by name)
• Go to Related Record with Layout
(by number)
• New Window with Layout (by name)
• New Window with Layout (by
number)
• Perform Script (by name)
• Perform Script on Server (by name)
• Scriptschritte
• Gehe zu Objekt
• Feld nach Namen einstellen
• Gehe zu Layout (nach Name)
• Gehe zu Layout (nach Nummer)
• Gehe zu Bezugsdatensatz (nach
Name)
• Gehe zu Bezugsdatensatz (nach
Nummer)
• Neues Fenster mit Layout (nach Name)
• Neues Fenster mit Layout (nach
Nummer)
• Script ausführen (nach Name)
• Script auf Server ausführen (nach
Name)
26. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Indirections in Filemaker | Jörg Köster
Indirektionen in Filemaker
• Script steps
• Go to Object
• Set Field By Name
• Go to Layout (by name)
• Go to Layout (by number)
• Go to Related Record with Layout
(by name)
• Go to Related Record with Layout
(by number)
• New Window with Layout (by name)
• New Window with Layout (by
number)
• Perform Script (by name)
• Perform Script on Server (by name)
• Scriptschritte
• Gehe zu Objekt
• Feld nach Namen einstellen
• Gehe zu Layout (nach Name)
• Gehe zu Layout (nach Nummer)
• Gehe zu Bezugsdatensatz (nach
Name)
• Gehe zu Bezugsdatensatz (nach
Nummer)
• Neues Fenster mit Layout (nach Name)
• Neues Fenster mit Layout (nach
Nummer)
• Script ausführen (nach Name)
• Script auf Server ausführen (nach
Name)
27. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Indirections in Filemaker | Jörg Köster
Indirektionen in Filemaker
• Scriptschritte
• Gehe zu Objekt
• Feld nach Namen einstellen
• Gehe zu Layout (nach Name)
• Gehe zu Layout (nach Nummer)
• Gehe zu Bezugsdatensatz (nach
Name)
• Gehe zu Bezugsdatensatz (nach
Nummer)
• Neues Fenster mit Layout (nach Name)
• Neues Fenster mit Layout (nach
Nummer)
• Script ausführen (nach Name)
• Script auf Server ausführen (nach
Name)
Vorsicht bei Copy & Paste
28. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Indirections in Filemaker | Jörg Köster
Indirektionen in Filemaker
• Scriptschritte
• Gehe zu Objekt
• Feld nach Namen einstellen
• Gehe zu Layout (nach Name)
• Gehe zu Layout (nach Nummer)
• Gehe zu Bezugsdatensatz (nach
Name)
• Gehe zu Bezugsdatensatz (nach
Nummer)
• Neues Fenster mit Layout (nach Name)
• Neues Fenster mit Layout (nach
Nummer)
• Script ausführen (nach Name)
• Script auf Server ausführen (nach
Name)
Vorsicht bei Copy & Paste
1. Das auszutauschende
Layoutobjekt Objekt
entfernen
2. Layout speichern
3. Erst dann das neue Objekt
einsetzen.
29. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Indirections in Filemaker | Jörg Köster
Indirektionen in Filemaker
• Other
• External Data Sources (by
variable)
• External File Reference (by
variable)
• Weitere
• Externe-Datenquellen (mit
$$Variable)
• Dateipfade (mit Variable)
30. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Indirections in Filemaker | Jörg Köster
Warum nun dieser Vortrag?
31. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Indirections in Filemaker | Jörg Köster
Warum nun dieser Vortrag?
Wie man sich entscheidet!
• freiwillige Indirektionen
• Feld nach Namen einstellen (Scriptschritt)
• Berechne (Funktion)
• …
• unfreiwillige Indirektionen
• Gehe zu Objekt (Scriptschritt)
• …
Indirektionen für generische Prozesse nutzen?
32. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Indirections in Filemaker | Jörg Köster
Warum nun dieser Vortrag?
Wiederkehrende Prozesse modular verwalten!
33. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Indirections in Filemaker | Jörg Köster
Gründe für modulare Umsetzung
Wiederkehrende Prozesse modular verwalten!
• Prüfung von Uhrzeiten
• Prüfung von Feldeingaben
• Prüfung von …
• Formatierung von Feldinhalten ( Telefonnummern, URLs, … )
• Login-Prozesse
34. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Indirections in Filemaker | Jörg Köster
Gründe für modulare Umsetzung
Wiederkehrende Prozesse modular verwalten!
• Prüfung von Uhrzeiten
• Prüfung von Feldeingaben
• Prüfung von …
• Formatierung von Feldinhalten ( Telefonnummern, URLs, … )
• Login-Prozesse
Valide Daten sind unerlässlich, wenn mit Schnittstellen gearbeitet werden soll
• Schnittstellen
• Google maps
• Apple maps
• REST
• viele mehr …
• und und und …
35. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Indirections in Filemaker | Jörg Köster
Indirektionen in Filemaker
Wiederkehrende Prozesse modular verwalten!
• ?
36. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Indirections in Filemaker | Jörg Köster
Indirektionen in Filemaker
Wiederkehrende Prozesse modular verwalten!
• Eigene Funktionen
37. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Indirections in Filemaker | Jörg Köster
Indirektionen in Filemaker
Wiederkehrende Prozesse modular verwalten!
• Eigene Funktionen
• https://www.briandunning.com/filemaker-custom-functions/
• http://www.fmfunctions.com
38. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Indirections in Filemaker | Jörg Köster
Indirektionen in Filemaker
Wiederkehrende Prozesse modular verwalten!
• Eigene Funktionen
• https://www.briandunning.com/filemaker-custom-functions/
• http://www.fmfunctions.com
• FileMaker Dateien
39. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Indirections in Filemaker | Jörg Köster
Indirektionen in Filemaker
Wiederkehrende Prozesse modular verwalten!
• Eigene Funktionen
• https://www.briandunning.com/filemaker-custom-functions/
• http://www.fmfunctions.com
• FileMaker Dateien
• http://www.modularfilemaker.org
• …
40. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Indirections in Filemaker | Jörg Köster
Indirektionen in Filemaker
Wiederkehrende Prozesse modular verwalten!
• Eigene Funktionen
• https://www.briandunning.com/filemaker-custom-functions/
• http://www.fmfunctions.com
• FileMaker Dateien
• http://www.modularfilemaker.org
• Scripts
41. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Indirections in Filemaker | Jörg Köster
Indirektionen in Filemaker
Wiederkehrende Prozesse modular verwalten!
• Eigene Funktionen
• https://www.briandunning.com/filemaker-custom-functions/
• http://www.fmfunctions.com
• FileMaker Dateien
• http://www.modularfilemaker.org
• Scripts
• ???
42. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Indirections in Filemaker | Jörg Köster
Indirektionen in Filemaker
Wiederkehrende Prozesse modular verwalten!
• Eigene Funktionen
• https://www.briandunning.com/filemaker-custom-functions/
• http://www.fmfunctions.com
• FileMaker Dateien
• http://www.modularfilemaker.org
• Scripts
• ???
• FileMaker Datei als Container für eine modulare Scriptbibliothek?
43. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Indirections in Filemaker | Jörg Köster
Konzept & Umsetzung
Wiederkehrende Prozesse modular verwalten!
Modul
(Script)
44. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Indirections in Filemaker | Jörg Köster
Konzept & Umsetzung
Wiederkehrende Prozesse modular verwalten!
Modul
(Script)
Daten werden
verarbeitet
45. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Indirections in Filemaker | Jörg Köster
Konzept & Umsetzung
Wiederkehrende Prozesse modular verwalten!
Modul
(Script)
Daten werden
verarbeitet
Werte & Kontext
46. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Indirections in Filemaker | Jörg Köster
Konzept & Umsetzung
Wiederkehrende Prozesse modular verwalten!
Modul
(Script)
Scriptparameter
Daten werden
verarbeitet
Werte & Kontext
Parameterübergabe sollte
gut dokumentiert sein.
47. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Indirections in Filemaker | Jörg Köster
Konzept & Umsetzung
Wiederkehrende Prozesse modular verwalten!
Modul
(Script)
ResultatScriptparameter
Daten werden
verarbeitet
Werte & Kontext
Parameterübergabe sollte
gut dokumentiert sein.
Aktuelles Script verlassen [
Textergebnis: “” )]
48. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Indirections in Filemaker | Jörg Köster
Konzept & Umsetzung
Wiederkehrende Prozesse modular verwalten!
Modul
(Script)
ResultatScriptparameter
Daten werden
verarbeitet
Werte & Kontext
Parameterübergabe sollte
gut dokumentiert sein.
Aktuelles Script verlassen [
Textergebnis: JSON )]
Scriptparameter und Scriptergebnisse via JSON übergeben!
49. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Management von Layouts und angepassten Menüs | Jörg Köster
Kurze DEMO
50. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Indirections in Filemaker | Jörg Köster
“Achillesferse” Parameterübergabe
Funktionen (für robuste Kodierung)
• HoleFeldname ()
• Gibt den vollständig qualifizierten Namen eines Feldverweises zurück.
• Link Onlinehilfe
Anwendungsbeispiele
Referenzierungen als Scriptparamter übergeben:
51. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Indirections in Filemaker | Jörg Köster
Funktionen (für robuste Kodierung)
• HoleFeldname ()
• Gibt den vollständig qualifizierten Namen eines Feldverweises zurück.
• Link Onlinehilfe
Anwendungsbeispiele
Referenzierungen als Scriptparamter übergeben:
HoleFeldname (Tabelle::Feld) “Tabelle::Feld“
“Tabelle::Feld” “Tabelle::Feld“
52. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Indirections in Filemaker | Jörg Köster
Funktionen (für robuste Kodierung)
• HoleFeldname ()
• Gibt den vollständig qualifizierten Namen eines Feldverweises zurück.
• Link Onlinehilfe
Anwendungsbeispiele
Referenzierungen als Scriptparamter übergeben:
HoleFeldname (Tabelle::Feld) “Tabelle::Feld“
“Tabelle::Feld” “Tabelle::Feld“
Stabile Kodierung
53. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Indirections in Filemaker | Jörg Köster
Funktionen (für robuste Kodierung)
• HoleFeldname ()
• Gibt den vollständig qualifizierten Namen eines Feldverweises zurück.
• Link Onlinehilfe
Anwendungsbeispiele
Referenzierungen als Scriptparamter übergeben:
HoleFeldname (Tabelle::Feld) “Tabelle::Feld“
“Tabelle::Feld” “Tabelle::Feld“
Stabile Kodierung
nicht stabile
Kodierung (Text)
54. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Indirections in Filemaker | Jörg Köster
Funktionen (für robuste Kodierung)
• HoleFeldname ()
• Gibt den vollständig qualifizierten Namen eines Feldverweises zurück.
• Link Onlinehilfe
Anwendungsbeispiele
Berechnung des Zielfelds für den Scriptschritt “Feld nach Namen einstellen []”:
55. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Indirections in Filemaker | Jörg Köster
Funktionen (für robuste Kodierung)
• HoleFeldname ()
• Gibt den vollständig qualifizierten Namen eines Feldverweises zurück.
• Link Onlinehilfe
Anwendungsbeispiele
Berechnung des Zielfelds für den Scriptschritt “Feld nach Namen einstellen []”:
HoleFeldname ( Berechne ( “Tabelle::Feld” )) oder ($TO & “::” & $Feldname)
“Tabelle::Feld”
56. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Indirections in Filemaker | Jörg Köster
Funktionen (für robuste Kodierung)
• HoleFeldname ()
• Gibt den vollständig qualifizierten Namen eines Feldverweises zurück.
• Link Onlinehilfe
Anwendungsbeispiele
Berechnung des Zielfelds für den Scriptschritt “Feld nach Namen einstellen []”:
HoleFeldname ( Berechne ( “Tabelle::Feld” )) oder ($TO & “::” & $Feldname)
“Tabelle::Feld”
Stabile Kodierung
nicht stabile
Kodierung (Text)
57. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Indirections in Filemaker | Jörg Köster
Funktionen (für robuste Kodierung)
• BerechnungsFehler ()
• Gibt ggf. einen Fehlercode von dem Ausdruck zurück.
• Link Onlinehilfe
Anwendungsbeispiele
Prüfung einer Berechnung (Runtime-Fehler):
BerechnungsFehler ( HoleFeldname ( Berechne ($fieldname )))
Fehler 102 - Feld fehlt
Fehler 106 - Tabelle fehlt
58. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Indirections in Filemaker | Jörg Köster
Funktionen (für robuste Kodierung)
• BerechnungsFehler ()
• Gibt ggf. einen Fehlercode von dem Ausdruck zurück.
• Link Onlinehilfe
Anwendungsbeispiele
Prüfung einer Berechnung (Runtime-Fehler):
BerechnungsFehler ( HoleFeldname ( Berechne ($fieldname )))
Fehler 102 - Feld fehlt
Fehler 106 - Tabelle fehlt
Fehler 0 - Alles richtig gemacht
59. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Indirections in Filemaker | Jörg Köster
Funktionen (für robuste Kodierung)
• IstGültigBerechnung ()
• Gibt 1 (wahr) zurück, wenn die Syntax eines Ausdrucks korrekt ist, ansonsten
0 (falsch).
• Link Onlinehilfe
Anwendungsbeispiele
Prüfung der Syntax einer Berechnung (Syntax-Fehler):
IstGültigBerechnung ( Berechnung )
Gibt 1 (Wahr) zurück, bei korrekter Syntax.
Gibt 0 (Falsch) zurück, bei Syntaxfehler.
60. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Indirections in Filemaker | Jörg Köster
Eigene Funktionen (für robuste
Kodierung)
Quelle: Kevin Frank - Robust Coding, part 1
_sql.Field ( pField ) =
SetzeVar ( [
a = HoleFeldname ( pField ) ;
b = Austauschen ( a ; "::" ; ¶ )
] ;
Zitat ( HoleWert ( b ; 2 ) )
) // end let
Resultat = “Feldname”
61. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Indirections in Filemaker | Jörg Köster
Eigene Funktionen (für robuste
Kodierung)
Quelle: Kevin Frank - Robust Coding, part 1
_sql.Table ( pField ) =
SetzeVar ( [
a = HoleFeldname ( pField ) ;
b = Austauschen ( a ; "::" ; ¶ )
] ;
Zitat ( HoleWert ( b ; 1 ) )
) // end let
Resultat = “Tabellenauftreten”
62. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Indirections in Filemaker | Jörg Köster
Formeln (für robuste Kodierung)
SQL Standard (nicht referenziert und
instabil)
SQLAusführen ( “
SELECT field1
FROM table1”
; “" ; ""
)
65. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Indirections in Filemaker | Jörg Köster
Script ausführen - nach Name (FMPA18)
• KEINE Sonderzeichen!!
• Doppelpunkt im Scriptnamen unbedingt vermeiden!! (Der Doppelpunkt
referenziert zu einer externen Datei)
• Scripts in externen Dateien - “Dateiname::Scriptname”
• URL öffnen gibt kein Scriptergebnis zurück
• Script ausführen - nach Name ermöglicht ein Scriptergebnis
66. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Indirections in Filemaker | Jörg Köster
Formeln (für robuste Kodierung)
Script ausführen - nach Name (FMPA18)
• Scriptname anhand der Script-ID ermitteln
• MBS zeigt IDs im Scriptarbeitsbereich an
• Eigene Funktion “_NameFromID ()” von Stefan Seidler
• https://www.briandunning.com/cf/1022
• Eigene Funktion “_IDFromName ()” von Stefan Seidler
• https://www.briandunning.com/cf/1021
67. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Indirections in Filemaker | Jörg Köster
Anwendungsbeispiele mit Indirektionen
Durch generische Prozesse lassen sich Aufgabenstellungen schneller umsetzen.
Beispiel
Abgleich von Tabellen
• SQL-Abfrage ermittelt indizierte Felder einer Tabelle
• Mittels Schleife und dem Scriptschritt “Feld nach Namen einstellen” werden
Daten geschrieben.
68. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Indirections in Filemaker | Jörg Köster
Anwendungsbeispiele mit Indirektionen
Durch generische Prozesse lassen sich Aufgabenstellungen schneller umsetzen.
Einfache Beispiele aus Demo-Datei
• Datensatz in ein JSON-Array wandeln
• Uhrzeit validieren
• Flag setzen
• Feldformatierungen aller Felder eines Layouts entfernen
• Textlänge einschränken (maximal Anzahl Zeichen)
• Uhrzeit stellen via Pfeiltasten
69. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Indirections in Filemaker | Jörg Köster
DEMO
70. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Indirections in Filemaker | Jörg Köster
Weitere Quellen über Indirections
• https://dbservices.com/articles/building-a-dynamic-robust-filemaker-system/
• https://www.geistinteractive.com/2018/01/25/filemaker-indirection/
Abstraction and Indirection in FileMaker (Advanced 003)
FileMaker Devon 2017 - Speaker: Mike Mitchell
• https://youtu.be/UASQPBnWQCI
ExecuteSQL Abstraction - Matt Petrowsky 2016
• https://filemakerstandards.org/display/props/ExecuteSQL+Abstraction
Modular FileMaker - Impressum nicht gefunden (Todd Geist?)
• http://www.modularfilemaker.org/documentation/
71. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Indirections in Filemaker | Jörg Köster
Vor- und Nachteile
Vorteile
• Zeitersparnis bei der
Entwicklung
• zentrale Bearbeitung von
Prozessen
• Versionierung ist möglich
• Portierbarkeit
• Projektbezogene Entwicklung
im Team ist einfacher
Nachteile
• Mehraufwand bei der
Programmierung
• Keine hartcodierte
Referenzierung im DDR
• Dokumentation ist
aufwändiger
72. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
www.filemaker-konferenz.com
Fragen?
Indirections in FileMaker
73. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Vortrag und Sprecher
Vielen Dank unseren Sponsoren
Danke für das Bewerten dieses Vortrages