Advertisement
Advertisement

More Related Content

Slideshows for you(20)

Similar to FMK2019 Indirections - Layout und Eigene Menüs-Management by Jörg Köster(20)

Advertisement

Recently uploaded(20)

Advertisement

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?
  20. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 Indirections in Filemaker | Jörg Köster Indirektionen in Filemaker • Funktionen Deutsch • Berechne() • SQLAusführen() • HoleFeldwert() • HoleFeldname() • Hole ( AktivesFeldInhalt ) • Hole ( AktivesFeldName ) • Hole ( AktivesFeldTabellenName ) • Hole ( AktivesFeldWiederholungNr ) • Hole (LayoutName) • Hole ( LayoutNummer ) • Hole ( LayoutTabellenname ) • Hole ( ScriptName ) • HoleNächsteFortlNr ( Dateiname ; Feldname ) • GetNthRecord() • Lookup() • LookupNext()
  21. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 Indirections in Filemaker | Jörg Köster Indirektionen in Filemaker • Functions English • Evaluate() • ExecuteSQL() • GetField() • GetFieldName() • Get(ActiveFieldContents) • Get(ActiveFieldName) • Get(ActiveFieldTableName) • Get(ActiveRepetitionNumber) • Get(LayoutName) • Get(LayoutNumber) • Get(LayoutTableName) • Get(ScriptName) • GetNextSerialValue() • GetNthRecord() • Lookup() • LookupNext() • Funktionen Deutsch • Berechne() • SQLAusführen() • HoleFeldwert() • HoleFeldname() • Hole ( AktivesFeldInhalt ) • Hole ( AktivesFeldName ) • Hole ( AktivesFeldTabellenName ) • Hole ( AktivesFeldWiederholungNr ) • Hole (LayoutName) • Hole ( LayoutNummer ) • Hole ( LayoutTabellenname ) • Hole ( ScriptName ) • HoleNächsteFortlNr ( Dateiname ; Feldname ) • GetNthRecord() • Lookup() • LookupNext()
  22. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 Indirections in Filemaker | Jörg Köster Indirections in Filemaker • Functions English • Evaluate() • ExecuteSQL() • GetField() • GetFieldName() • Get(ActiveFieldContents) • Get(ActiveFieldName) • Get(ActiveFieldTableName) • Get(ActiveRepetitionNumber) • Get(LayoutName) • Get(LayoutNumber) • Get(LayoutTableName) • Get(ScriptName) • GetNextSerialValue() • GetNthRecord() • Lookup() • LookupNext() • Funktionen Deutsch • Berechne() • SQLAusführen() • HoleFeldwert() • HoleFeldname() • Hole ( AktivesFeldInhalt ) • Hole ( AktivesFeldName ) • Hole ( AktivesFeldTabellenName ) • Hole ( AktivesFeldWiederholungNr ) • Hole (LayoutName) • Hole ( LayoutNummer ) • Hole ( LayoutTabellenname ) • Hole ( ScriptName ) • HoleNächsteFortlNr ( Dateiname ; Feldname ) • GetNthRecord() • Lookup() • LookupNext()
  23. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 Indirections in Filemaker | Jörg Köster Indirektionen in Filemaker • Functions English • Evaluate() • ExecuteSQL() • GetField() • GetFieldName() • Get(ActiveFieldContents) • Get(ActiveFieldName) • Get(ActiveFieldTableName) • Get(ActiveRepetitionNumber) • Get(LayoutName) • Get(LayoutNumber) • Get(LayoutTableName) • Get(ScriptName) • GetNextSerialValue() • GetNthRecord() • Lookup() • LookupNext() • Funktionen Deutsch • Berechne() • SQLAusführen() • HoleFeldwert() • HoleFeldname() • Hole ( AktivesFeldInhalt ) • Hole ( AktivesFeldName ) • Hole ( AktivesFeldTabellenName ) • Hole ( AktivesFeldWiederholungNr ) • Hole (LayoutName) • Hole ( LayoutNummer ) • Hole ( LayoutTabellenname ) • Hole ( ScriptName ) • HoleNächsteFortlNr ( Dateiname ; Feldname ) • GetNthRecord() • Lookup() • LookupNext()
  24. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 Indirections in Filemaker | Jörg Köster Indirektionen in Filemaker • Design Functions English • DatabaseNames • FieldBounds () • FieldComment () • FieldIDs () • FieldNames () • FieldRepetitions () • FieldStyle () • FieldType () • LayoutObjectNames () • RelationInfo () • ValueListItems () • Design Funktionen Deutsch • DatenbankNamen • FeldLayoutPosition () • FeldKommentar () • FeldIDs () • FeldNamen () • FeldLayoutAnzahlWdh () • FeldLayoutStil () • FeldTyp () • LayoutobjektNamen () • BeziehungsInfo () • WertelistenIDs ()
  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” ; “" ; "" )
  63. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 Indirections in Filemaker | Jörg Köster Formeln (für robuste Kodierung) Variante 1 SQLAusführen ( "SELECT" & _sql.Field ( pField ) & "FROM" & _sql.Table ( pField ) & "WHERE" & _sql.Field ( pField ) & "= ?" ; "" ; "" ; "value" ) SQL Standard (nicht referenziert und instabil) SQLAusführen ( “ SELECT field1 FROM table1” ; “" ; "" )
  64. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 Indirections in Filemaker | Jörg Köster Formeln (für robuste Kodierung) Variante 2 - Syntax von Arnold Kegebein SetzeVar ( [ ~sql = "SELECT field1 FROM table1" ; ~calc = Austauschen ( ~sql ; ["table1" ; _sql.Table ( VORLAGE::uuid ) ] ; ["field1" ; _sql.Field ( VORLAGE::uuid ) ] ) ; ~result = SQLAusführen ( ~calc ; "" ; "" ) ] ; /*end var*/ Wenn ( ~result ≠ "?" ; ~result ) ) 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
Advertisement