SlideShare ist ein Scribd-Unternehmen logo
1 von 43
FileMaker Konferenz2010




                 Programmstrukturen -- FileMaker
                  Skripten nicht nur für Experten
            Neue und moderne Programmierkonzepte für FileMaker Entwickler.
                                          *
                           Dr. Volker Krambrich, NORSULT




    Dr. Volker Krambrich, NORSULT                            FileMaker Konferenz 2012 Salzburg
    Programmstrukturen -- FileMaker Skripting…                    www.filemaker-konferenz.com
FileMaker Konferenz2010

                                                 Einführung
              Programmieren
              Konzepte aus modernen Programmiersprachen (zum Beispiel Java,
              Objective C…) kann man auch in FileMaker brauchen:
              • Kapselung,
              • Information hiding,
              • Methoden,
              • Vererbung.
              Daneben gibt es Arbeitstechniken wie Dekomponieren
              (Decomposition), und methodische Ansätze ( Algorithmische
              Optimierung) die vorgestellt werden.


              Die Idee „generischer Scripte“ oder „generischer Operationen” ist
              jedem Entwickler vertraut. Der ScriptSchritt ,Neuer Datensatz‘ ist
              ein typisches Beispiel. Wie funktioniert das und wie können wir
              etwas ähnliches selbst bauen?


              Ich werde zeigen und erklären, was man darunter versteht, warum
    Dr. Volker Krambrich, NORSULT                                  FileMaker Konferenz 2012 Salzburg
    Programmstrukturen -- FileMaker Skripting…                          www.filemaker-konferenz.com
Volker Krambrich
         NORSULT Database Professionals

         •    FileMaker seit 1989

         •    FMK seit 2010

         •    zertifiziert als Entwickler
              und Trainer

         •    Linguist und Informatiker

         •    dr.filemaker@mac.com


Dr. Volker Krambrich, NORSULT                FileMaker Konferenz 2012 Salzburg
Programmstrukturen -- FileMaker Skripting…        www.filemaker-konferenz.com
Was ist
Programmieren?
Programmierung (von griechisch
  prógramma „Vorschrift“) bezeichnet
  die Tätigkeit, Computerprogramme zu
  schreiben. Dies umfasst vor allem die
  Umsetzung (Implementierung) des
  Softwareentwurfs in Quellcode und, je
  nach verwendeter
  Programmiersprache, dessen
  Übersetzung in die Maschinensprache.
                                             (Wikipedia)




Dr. Volker Krambrich, NORSULT                              FileMaker Konferenz 2012 Salzburg
Programmstrukturen -- FileMaker Skripting…                      www.filemaker-konferenz.com
Algorithmen
    Eine Berechnungsvorschrift zur Lösung eines Problems
    heißt genau dann Algorithmus, wenn eine zu dieser
    Berechnungsvorschrift äquivalente Turingmaschine
    existiert, die für jede Eingabe, die eine Lösung besitzt,
    stoppt.
Aus dieser Definition sind folgende Eigenschaften eines
Algorithmus ableitbar:
 1. Das Verfahren muss in einem endlichen Text eindeutig
    beschreibbar sein (Finitheit).
 2. Jeder Schritt des Verfahrens muss tatsächlich ausführbar
    sein (Ausführbarkeit).
 3. Das Verfahren darf zu jedem Zeitpunkt nur endlich viel
    Speicherplatz benötigen (Dynamische Finitheit, siehe
    Platzkomplexität).
 4. Das Verfahren darf nur endlich viele Schritte benötigen
    (Terminierung, siehe auch Zeitkomplexität).

Darüber hinaus wird der Begriff Algorithmus in praktischen
Bereichen oft auf die folgenden Eigenschaften eingeschränkt:
 1. Der Algorithmus muss bei denselben Voraussetzungen
    das gleiche Ergebnis liefern (Determiniertheit).
 2. Die nächste anzuwendende Regel im Verfahren ist zu
    jedem Zeitpunkt eindeutig definiert (Determinismus).



Dr. Volker Krambrich, NORSULT                                   FileMaker Konferenz 2012 Salzburg
Programmstrukturen -- FileMaker Skripting…                           www.filemaker-konferenz.com
Algorithmen →
  Programme




Dr. Volker Krambrich, NORSULT                FileMaker Konferenz 2012 Salzburg
Programmstrukturen -- FileMaker Skripting…        www.filemaker-konferenz.com
Algorithmen →
  Programme
                          Anfang




                            Ende

Dr. Volker Krambrich, NORSULT                FileMaker Konferenz 2012 Salzburg
Programmstrukturen -- FileMaker Skripting…        www.filemaker-konferenz.com
Algorithmen →
  Programme
                          Anfang


                  Vorbereitung
                  Durchführung
                   Abschluss


                            Ende

Dr. Volker Krambrich, NORSULT                FileMaker Konferenz 2012 Salzburg
Programmstrukturen -- FileMaker Skripting…        www.filemaker-konferenz.com
Algorithmen →
  Programme
                          Anfang

                                             Prüfung der Eingabe
                  Vorbereitung
                                             Prüfung der Zulässigkeit
                  Durchführung
                                             Prüf. d. Durchführbarkeit
                   Abschluss
                                             Versuch Durchführung
                                             Kontrolle Durchführung
                            Ende             Ergebnis liefern

Dr. Volker Krambrich, NORSULT                          FileMaker Konferenz 2012 Salzburg
Programmstrukturen -- FileMaker Skripting…                  www.filemaker-konferenz.com
Praktische Anforderungen
   an FileMaker-Programme
              Qualitätskriterien:
                •
                Korrektheit
                •
                Robustheit
                •
                Wartbarkeit
                •
                Performanz
              Effizient programmiert
                •(richtige) Arbeitsmittel

Dr. Volker Krambrich, NORSULT                FileMaker Konferenz 2012 Salzburg
Programmstrukturen -- FileMaker Skripting…        www.filemaker-konferenz.com
Was werden wir
                           machen?
         •     erste Schritte:
               Einen Schalter umlegen

         •     Werkzeuge betrachten
               Arbeitstechniken, Dokumentation, Entwurf

         •     ein komplexes Praxisbeispiel:
               FEIM File Export and Import Manager

Dr. Volker Krambrich, NORSULT                   FileMaker Konferenz 2012 Salzburg
Programmstrukturen -- FileMaker Skripting…           www.filemaker-konferenz.com
Demo 1


Dr. Volker Krambrich, NORSULT                         FileMaker Konferenz 2012 Salzburg
Programmstrukturen -- FileMaker Skripting…                 www.filemaker-konferenz.com
Was werden wir
                           machen?
         ✓erste Schritte:                    Was soll das?
               Einen Schalter umlegen

         •     Werkzeuge betrachten
               Arbeitstechniken, Dokumentation, Entwurf

         •     ein komplexes Praxisbeispiel:
               FEIM File Export and Import Manager

Dr. Volker Krambrich, NORSULT                      FileMaker Konferenz 2012 Salzburg
Programmstrukturen -- FileMaker Skripting…              www.filemaker-konferenz.com
Was soll man machen?




Dr. Volker Krambrich, NORSULT                FileMaker Konferenz 2012 Salzburg
Programmstrukturen -- FileMaker Skripting…        www.filemaker-konferenz.com
Was soll man machen?

                                             Prüfung der Eingabe




Dr. Volker Krambrich, NORSULT                         FileMaker Konferenz 2012 Salzburg
Programmstrukturen -- FileMaker Skripting…                 www.filemaker-konferenz.com
Was soll man machen?

                                             Prüfung der Eingabe
                                             Prüfung der Zulässigkeit




Dr. Volker Krambrich, NORSULT                         FileMaker Konferenz 2012 Salzburg
Programmstrukturen -- FileMaker Skripting…                 www.filemaker-konferenz.com
Was soll man machen?

                                             Prüfung der Eingabe
                                             Prüfung der Zulässigkeit
                                             Prüf. d. Durchführbarkeit




Dr. Volker Krambrich, NORSULT                         FileMaker Konferenz 2012 Salzburg
Programmstrukturen -- FileMaker Skripting…                 www.filemaker-konferenz.com
Was soll man machen?

                                             Prüfung der Eingabe
                                             Prüfung der Zulässigkeit
                                             Prüf. d. Durchführbarkeit
                                             Versuch Durchführung




Dr. Volker Krambrich, NORSULT                         FileMaker Konferenz 2012 Salzburg
Programmstrukturen -- FileMaker Skripting…                 www.filemaker-konferenz.com
Was soll man machen?

                                             Prüfung der Eingabe
                                             Prüfung der Zulässigkeit
                                             Prüf. d. Durchführbarkeit
                                             Versuch Durchführung
                                             Kontrolle Durchführung



Dr. Volker Krambrich, NORSULT                         FileMaker Konferenz 2012 Salzburg
Programmstrukturen -- FileMaker Skripting…                 www.filemaker-konferenz.com
Was soll man machen?

                                             Prüfung der Eingabe
                                             Prüfung der Zulässigkeit
                                             Prüf. d. Durchführbarkeit
                                             Versuch Durchführung
                                             Kontrolle Durchführung
                                             Ergebnis liefern

Dr. Volker Krambrich, NORSULT                         FileMaker Konferenz 2012 Salzburg
Programmstrukturen -- FileMaker Skripting…                 www.filemaker-konferenz.com
Was soll man machen?


                              tf re i!       Prüfung der Eingabe


                         nte x               Prüfung der Zulässigkeit
                                             Prüf. d. Durchführbarkeit
                       Ko                    Versuch Durchführung
                                             Kontrolle Durchführung
                                             Ergebnis liefern

Dr. Volker Krambrich, NORSULT                         FileMaker Konferenz 2012 Salzburg
Programmstrukturen -- FileMaker Skripting…                 www.filemaker-konferenz.com
Was soll man machen?
         •     Keep your programs DRY
               *) Don‘t Repeat Yourself

         •     Ein Script für eine Problemklasse!

         •     Mach es gut und richtig – einmal!

         •     Nichts einbauen, was nicht zum Problem
               gehört.

         •     Kommentieren!
Dr. Volker Krambrich, NORSULT                       FileMaker Konferenz 2012 Salzburg
Programmstrukturen -- FileMaker Skripting…               www.filemaker-konferenz.com
Kommentieren




Dr. Volker Krambrich, NORSULT                FileMaker Konferenz 2012 Salzburg
Programmstrukturen -- FileMaker Skripting…        www.filemaker-konferenz.com
Kommentieren
         •     Standard: Wer hat wann was warum gemacht




Dr. Volker Krambrich, NORSULT                 FileMaker Konferenz 2012 Salzburg
Programmstrukturen -- FileMaker Skripting…         www.filemaker-konferenz.com
Kommentieren
         •     Standard: Wer hat wann was warum gemacht

         •     Das nicht Offensichtliche beschreiben




Dr. Volker Krambrich, NORSULT                     FileMaker Konferenz 2012 Salzburg
Programmstrukturen -- FileMaker Skripting…             www.filemaker-konferenz.com
Kommentieren
         •     Standard: Wer hat wann was warum gemacht

         •     Das nicht Offensichtliche beschreiben

         •     Irrwege und Alternativen festhalten




Dr. Volker Krambrich, NORSULT                        FileMaker Konferenz 2012 Salzburg
Programmstrukturen -- FileMaker Skripting…                www.filemaker-konferenz.com
Kommentieren
         •     Standard: Wer hat wann was warum gemacht

         •     Das nicht Offensichtliche beschreiben

         •     Irrwege und Alternativen festhalten

         •     Für wen?




Dr. Volker Krambrich, NORSULT                        FileMaker Konferenz 2012 Salzburg
Programmstrukturen -- FileMaker Skripting…                www.filemaker-konferenz.com
Kommentieren
         •     Standard: Wer hat wann was warum gemacht

         •     Das nicht Offensichtliche beschreiben

         •     Irrwege und Alternativen festhalten

         •     Für wen?

         •     Für Mich! Ich bin wahrscheinlich der andere
               Entwickler der in zwei Monaten reinschaut…

Dr. Volker Krambrich, NORSULT                        FileMaker Konferenz 2012 Salzburg
Programmstrukturen -- FileMaker Skripting…                www.filemaker-konferenz.com
Arbeitstechniken
         •     Kommentieren

         •     Planen und dokumentieren

             •     Prosa, Skizzen, Diagramme

         •     Werkzeuge benutzen

             •     DDR, CrossCheck, BaseElements, Inspector

         •     Das Web als Hilfe und Anregung benutzen

Dr. Volker Krambrich, NORSULT                    FileMaker Konferenz 2012 Salzburg
Programmstrukturen -- FileMaker Skripting…            www.filemaker-konferenz.com
Arbeitstechniken
         •     Kommentieren

         •     Planen und dokumentieren

             •     Prosa, Skizzen, Diagramme

         •     Werkzeuge benutzen

             •     DDR, CrossCheck, BaseElements, Inspector

         •     Das Web als Hilfe und Anregung benutzen

Dr. Volker Krambrich, NORSULT                    FileMaker Konferenz 2012 Salzburg
Programmstrukturen -- FileMaker Skripting…            www.filemaker-konferenz.com
Special
                                             Script Universe




Dr. Volker Krambrich, NORSULT                                  FileMaker Konferenz 2012 Salzburg
Programmstrukturen -- FileMaker Skripting…                          www.filemaker-konferenz.com
Arbeitstechniken


Beispiel: Programmentwurf
  Nassi-Shneidermann diagramme




Dr. Volker Krambrich, NORSULT                  FileMaker Konferenz 2012 Salzburg
Programmstrukturen -- FileMaker Skripting…          www.filemaker-konferenz.com
Arbeitstechniken




Beispiel: Programmentwurf, zwei Modelle
  Flussdiagramm vs. Nassi-Shneidermann diagramme
Dr. Volker Krambrich, NORSULT                      FileMaker Konferenz 2012 Salzburg
Programmstrukturen -- FileMaker Skripting…              www.filemaker-konferenz.com
Was werden wir
                           machen?
         ✓erste Schritte:
               Einen Schalter umlegen
                                                Anwendung
         ✓Werkzeuge betrachten
               Arbeitstechniken, Dokumentation, Entwurf

         •     ein komplexes Praxisbeispiel:
               FEIM File Export and Import Manager

Dr. Volker Krambrich, NORSULT                   FileMaker Konferenz 2012 Salzburg
Programmstrukturen -- FileMaker Skripting…           www.filemaker-konferenz.com
FEIM
                                             FileExportImportMngr




            FEIM File Export- and
               Import-Manager
          • Ein Kunde hat ein komplexes, gewachsenes FM System
          • Das System kommuniziert mit anderen Systemen
          • Es wird mit internen und externen Servern verbunden
          • Es wurden > 280 einzelne Kontaktskripten entdeckt
          • Die Architektur war zu unflexibel
          • Was tun?

Dr. Volker Krambrich, NORSULT                                       FileMaker Konferenz 2012 Salzburg
Programmstrukturen -- FileMaker Skripting…                               www.filemaker-konferenz.com
FEIM File Export- and
               Import-Manager




Dr. Volker Krambrich, NORSULT                FileMaker Konferenz 2012 Salzburg
Programmstrukturen -- FileMaker Skripting…        www.filemaker-konferenz.com
V.1.2 (16.2.2012) vk
               Create Offers and Reservations to be
               synchronized with external system


                            The overall data model says that each object (offer or reservation) can have one or many positions;

                            An offer refers to an (public, externally known) client. An OfferRow points to the containing Offer and one product, that must be both internally




                                        Client
                                                                                                                                                 Product




                                                          Offer
                                                                                                          OfferRow

                            the model implicitly states that 1) Clients and Products are mutually known and for both system identifiably tagged, 2) the idea of an offer must
                            be compatible. In SAP e.g. each offer contains only one row from our picture, combined with data that we store in Offer.

                            This will need to be reflected in the supporting routines.



                Add New!                                                        Begin                                                   Statusfields in tables

                                                                                                                                Offer
                               OfferRow

                                                                  Revoke the
                                                                  mark to be
                                       Storage           LastRun
                Storage        LastRun

                        enter an offer manually
                   synched
                                          open
               no RunID
              local
           no RunID

                                                     Set offer

                                                                                                                                   This status combination means| the offer has never been
                                                      to be
                                                                  opened to the external system and all local editing is allowed,
                                                     synched
                                                 Transition
       including deletion of rows and offers without outside effect.


             Repeat for all rows
                                                                            affects here!
          and check completeness
            Check for completeness

                                                                                 Check for status

                                              Set AddOffer marker

                                                                            Revoke AddOffer marker
                                                             local
           no RunID

                                             Close and lock the offer
                                               local
              no RunID

                                                                            Re-open the offer, editing
                                            (editing of certain parts is
                                                                              of all parts is allowed

                                                   still allowed)
                                                                 This status combination means| the offer has never been
                                                                                                                              opened to the external system and all local editing is allowed,
                                                                                                                                including deletion of rows and offers without outside effect,
                                                                                                                                             also the SetToBeSynched maybe revoked, still.

                                 End.
                                                                                      In the above state an offer or reservation respectively may be set to
                                                                                             "Open to SAP" if at least one complete row is filled in.
                                                                                    Further business rules as to what complies with 'completeness' in terms
                                                                                                         of SAP have still to be defined!




               Export New!
                                                                                Begin                                                   Statusfields in tables

                                                                                                                                Offer
                               OfferRow


                    select all new to be                                                                            Storage           LastRun
                Storage        LastRun

                           added 
                                                                                   local
             no RunID
               local
          no RunID

Dr. Volker Krambrich, NORSULT                                                                                                                                        FileMaker Konferenz 2012 Salzburg
Programmstrukturen foundFileMaker Skripting… FEIM

                     -- any?
   Yes
        call
                                                                                        $Current RunID
                                                                   www.filemaker-konferenz.com
                                                      getFileName w RunID
Repeat for all rows

          and check completeness
            Check for completeness

                                                                                   Check for status

                                              Set AddOffer marker

                                                                              Revoke AddOffer marker
                                                            local
          no RunID

                                             Close and lock the offer
                                                local
             no RunID

                                                                              Re-open the offer, editing
                                            (editing of certain parts is
                                                                                of all parts is allowed

                                                   still allowed)
                                                                  This status combination means| the offer has never been
                                                                                                                               opened to the external system and all local editing is allowed,
                                                                                                                                 including deletion of rows and offers without outside effect,
                                                                                                                                              also the SetToBeSynched maybe revoked, still.

                                  End.
                                                                                         In the above state an offer or reservation respectively may be set to
                                                                                                "Open to SAP" if at least one complete row is filled in.
                                                                                       Further business rules as to what complies with 'completeness' in terms
                                                                                                            of SAP have still to be defined!




                Export New!
                                                                                 Begin                                                   Statusfields in tables

                                                                                                                                 Offer
                               OfferRow


                    select all new to be                                                                           Storage             LastRun
                Storage        LastRun

                           added 
                                                                                    local
             no RunID
               local
          no RunID



                                                             call FEIM

                        found any?
        Yes
                                            $Current RunID

                                                      getFileName w RunID

          No

                        call FEIM

                                                              success?
                    write export file
                                                          xxxADD.xls
                  tellNoExport w reason



                                           No
                                   No
          success?
        Yes
                                                               Transition
                                                                                                                                                                                affects here
                                                                   call FEIM
                                           call FEIM
                                            all status fields!
                                                              doRollback w ErrorID
                                    doCommit




                                                                                                                Change status in
                                                                                                                exported Records



                           End.
                                                  More than one process exporting and reporting to FEIM may
                                                  access and modify records. The saved RunID must thus be             synch
           $current RunID
          synch
          $current RunID

                                                  constructed as a combined value from ProcessID and
                                                  $currentRunID. 

                                                  Only then can a process and file be determined uniquely.





Dr. Volker Krambrich, NORSULT                                                                                                                                        FileMaker Konferenz 2012 Salzburg
Programmstrukturen -- FileMaker Skripting…                                                                                                                                www.filemaker-konferenz.com
Diagram Export Winpos XML
                                                            FEIM
                           Example Nassi-Shneiderman / 20120220 gbn




                                                               Initialize process setting


                                                                 Set Focus (Layout)


                                                                Find records to export

                                                            Records found and no error
                                        Yes                                                                No

                                        Call Feim GetFileName


                                              Got filename
                                Yes                                No

                               export records
                                                                                                   Call

                                      OK ?
                            Yes                No

                            Call Feim
                             Commit


                                                                   Error to report ?
                                        Yes                                                                No

                                          Call Feim Rollback                                No records found ?
                                                                                 Yes                             No
                                                                                  Call Feim
                                                    Call
                                                                               NoRecordsfound




Dr. Volker Krambrich, NORSULT                                                                                         FileMaker Konferenz 2012 Salzburg
Programmstrukturen -- FileMaker Skripting…                                                                                 www.filemaker-konferenz.com
…und in FileMaker




Dr. Volker Krambrich, NORSULT                FileMaker Konferenz 2012 Salzburg
Programmstrukturen -- FileMaker Skripting…        www.filemaker-konferenz.com
…und in FileMaker
                                        1FileReference
                                            1 Skript
                                       1 Customfunction

                                                      FEIM




Dr. Volker Krambrich, NORSULT                                FileMaker Konferenz 2012 Salzburg
Programmstrukturen -- FileMaker Skripting…                        www.filemaker-konferenz.com
Demo 2


Dr. Volker Krambrich, NORSULT                         FileMaker Konferenz 2012 Salzburg
Programmstrukturen -- FileMaker Skripting…                 www.filemaker-konferenz.com
FileMaker Konferenz2010

                   Vielen Dank unseren Sponsoren




      Danke für das Bewerten dieses Vortrages


    Dr. Volker Krambrich, NORSULT                FileMaker Konferenz 2012 Salzburg
    Programmstrukturen -- FileMaker Skripting…        www.filemaker-konferenz.com

Weitere ähnliche Inhalte

Andere mochten auch

Stabhochsprung: Vom Umgang mit Nullern
Stabhochsprung: Vom Umgang mit NullernStabhochsprung: Vom Umgang mit Nullern
Stabhochsprung: Vom Umgang mit NullernGuenther Lohre
 
Sicherheit von Webanwendungen
Sicherheit von WebanwendungenSicherheit von Webanwendungen
Sicherheit von Webanwendungenthomasgemperle
 
Umgang mit enttäuschungen - Dealing with Disappointment
Umgang mit enttäuschungen - Dealing with DisappointmentUmgang mit enttäuschungen - Dealing with Disappointment
Umgang mit enttäuschungen - Dealing with DisappointmentFreekidstories
 
Schulung power designer
Schulung power designerSchulung power designer
Schulung power designerAlicengiz78
 
Geld und Weltfinanzsystem
Geld und WeltfinanzsystemGeld und Weltfinanzsystem
Geld und WeltfinanzsystemJens Janssen
 
Complex Event Processing (CEP) gets in touch with JSF
Complex Event Processing (CEP) gets in touch with JSFComplex Event Processing (CEP) gets in touch with JSF
Complex Event Processing (CEP) gets in touch with JSFadesso AG
 
Justin and selena document
Justin and selena documentJustin and selena document
Justin and selena documentmrs_bieber13
 

Andere mochten auch (9)

B2E
B2EB2E
B2E
 
Stabhochsprung: Vom Umgang mit Nullern
Stabhochsprung: Vom Umgang mit NullernStabhochsprung: Vom Umgang mit Nullern
Stabhochsprung: Vom Umgang mit Nullern
 
Sicherheit von Webanwendungen
Sicherheit von WebanwendungenSicherheit von Webanwendungen
Sicherheit von Webanwendungen
 
Umgang mit enttäuschungen - Dealing with Disappointment
Umgang mit enttäuschungen - Dealing with DisappointmentUmgang mit enttäuschungen - Dealing with Disappointment
Umgang mit enttäuschungen - Dealing with Disappointment
 
Schulung power designer
Schulung power designerSchulung power designer
Schulung power designer
 
Berlin
BerlinBerlin
Berlin
 
Geld und Weltfinanzsystem
Geld und WeltfinanzsystemGeld und Weltfinanzsystem
Geld und Weltfinanzsystem
 
Complex Event Processing (CEP) gets in touch with JSF
Complex Event Processing (CEP) gets in touch with JSFComplex Event Processing (CEP) gets in touch with JSF
Complex Event Processing (CEP) gets in touch with JSF
 
Justin and selena document
Justin and selena documentJustin and selena document
Justin and selena document
 

Ähnlich wie FMK2012: Programmstrukturen - FileMaker Skripten nicht nur für Experten …

FMK2012: Strukturierte Scriptprogrammierung und neue Befehle und Scriptbefehl...
FMK2012: Strukturierte Scriptprogrammierung und neue Befehle und Scriptbefehl...FMK2012: Strukturierte Scriptprogrammierung und neue Befehle und Scriptbefehl...
FMK2012: Strukturierte Scriptprogrammierung und neue Befehle und Scriptbefehl...Verein FM Konferenz
 
FMK2015: FileMaker Server 14 by Volker Krambrich
FMK2015: FileMaker Server 14 by Volker KrambrichFMK2015: FileMaker Server 14 by Volker Krambrich
FMK2015: FileMaker Server 14 by Volker KrambrichVerein FM Konferenz
 
FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich
FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang WunderlichFMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich
FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang WunderlichVerein FM Konferenz
 
FMK2012: Datenaustausch zwischen FileMaker und MySQL von Nico Busch
FMK2012: Datenaustausch zwischen FileMaker und MySQL von Nico BuschFMK2012: Datenaustausch zwischen FileMaker und MySQL von Nico Busch
FMK2012: Datenaustausch zwischen FileMaker und MySQL von Nico BuschVerein FM Konferenz
 
FMK2018 FileMaker Server 17 - Solution Deployment neu gedacht Der Bruch mit d...
FMK2018 FileMaker Server 17 - Solution Deployment neu gedacht Der Bruch mit d...FMK2018 FileMaker Server 17 - Solution Deployment neu gedacht Der Bruch mit d...
FMK2018 FileMaker Server 17 - Solution Deployment neu gedacht Der Bruch mit d...Verein FM Konferenz
 
FMK2017 - FileMaker Server in der Cloud by Volker Krambrich
FMK2017 - FileMaker Server in der Cloud by Volker KrambrichFMK2017 - FileMaker Server in der Cloud by Volker Krambrich
FMK2017 - FileMaker Server in der Cloud by Volker KrambrichVerein FM Konferenz
 
FMK2022 Neue Programmiertechniken von Adam Augusting
FMK2022 Neue Programmiertechniken von Adam AugustingFMK2022 Neue Programmiertechniken von Adam Augusting
FMK2022 Neue Programmiertechniken von Adam AugustingVerein FM Konferenz
 
FMK2018- Audit Log Arnold Kegebein
FMK2018- Audit Log Arnold KegebeinFMK2018- Audit Log Arnold Kegebein
FMK2018- Audit Log Arnold KegebeinVerein FM Konferenz
 
FMK2017 - Der Bug - des Entwicklers Fluch by Jörg Köster
FMK2017 - Der Bug - des Entwicklers Fluch by Jörg KösterFMK2017 - Der Bug - des Entwicklers Fluch by Jörg Köster
FMK2017 - Der Bug - des Entwicklers Fluch by Jörg KösterVerein FM Konferenz
 
FMK2016 - Volker Krambrich - FileMaker Cloud - Amazon Web Services
FMK2016 - Volker Krambrich - FileMaker Cloud - Amazon Web ServicesFMK2016 - Volker Krambrich - FileMaker Cloud - Amazon Web Services
FMK2016 - Volker Krambrich - FileMaker Cloud - Amazon Web ServicesVerein FM Konferenz
 
FMK2014: FileMaker Module by Karsten Risseeuw
FMK2014: FileMaker Module by Karsten RisseeuwFMK2014: FileMaker Module by Karsten Risseeuw
FMK2014: FileMaker Module by Karsten RisseeuwVerein FM Konferenz
 
FMK2013: FileMaker und Kerio Connect by Bernhard Schulz - schubec GmbH und Ca...
FMK2013: FileMaker und Kerio Connect by Bernhard Schulz - schubec GmbH und Ca...FMK2013: FileMaker und Kerio Connect by Bernhard Schulz - schubec GmbH und Ca...
FMK2013: FileMaker und Kerio Connect by Bernhard Schulz - schubec GmbH und Ca...Verein FM Konferenz
 
FMK2015: Eigene Apps mit FileMaker Go by Markus Schneider
FMK2015: Eigene Apps mit FileMaker Go by Markus SchneiderFMK2015: Eigene Apps mit FileMaker Go by Markus Schneider
FMK2015: Eigene Apps mit FileMaker Go by Markus SchneiderVerein FM Konferenz
 
FMK 2013, Eigene Apps für iOS mit FileMaker Go, Markus Schneider
FMK 2013, Eigene Apps für iOS mit FileMaker Go, Markus SchneiderFMK 2013, Eigene Apps für iOS mit FileMaker Go, Markus Schneider
FMK 2013, Eigene Apps für iOS mit FileMaker Go, Markus SchneiderVerein FM Konferenz
 
FMK 2013 Entwickler Werkzeuge, Marcel Moré
FMK 2013 Entwickler Werkzeuge, Marcel MoréFMK 2013 Entwickler Werkzeuge, Marcel Moré
FMK 2013 Entwickler Werkzeuge, Marcel MoréVerein FM Konferenz
 
JBoss jBPM und Drools - Geschäftsprozesse und Regeln mit Open Source Java
JBoss jBPM und Drools - Geschäftsprozesse und Regeln mit Open Source JavaJBoss jBPM und Drools - Geschäftsprozesse und Regeln mit Open Source Java
JBoss jBPM und Drools - Geschäftsprozesse und Regeln mit Open Source Javacamunda services GmbH
 
FMK2022 FileMaker und Javascript von Adam Augustin
FMK2022 FileMaker und Javascript von Adam AugustinFMK2022 FileMaker und Javascript von Adam Augustin
FMK2022 FileMaker und Javascript von Adam AugustinVerein FM Konferenz
 
FMK2014: Ein Warenwirtschaftssystem, das mit Scannern, Waagen und Mitarbeiter...
FMK2014: Ein Warenwirtschaftssystem, das mit Scannern, Waagen und Mitarbeiter...FMK2014: Ein Warenwirtschaftssystem, das mit Scannern, Waagen und Mitarbeiter...
FMK2014: Ein Warenwirtschaftssystem, das mit Scannern, Waagen und Mitarbeiter...Verein FM Konferenz
 
FMK2015: The Power of JavaScript by Marcel Moré
FMK2015: The Power of JavaScript by Marcel MoréFMK2015: The Power of JavaScript by Marcel Moré
FMK2015: The Power of JavaScript by Marcel MoréVerein FM Konferenz
 
Referat: Scrum Rocks – Testing Sucks?! (reloaded)
Referat: Scrum Rocks – Testing Sucks?! (reloaded)Referat: Scrum Rocks – Testing Sucks?! (reloaded)
Referat: Scrum Rocks – Testing Sucks?! (reloaded)Digicomp Academy AG
 

Ähnlich wie FMK2012: Programmstrukturen - FileMaker Skripten nicht nur für Experten … (20)

FMK2012: Strukturierte Scriptprogrammierung und neue Befehle und Scriptbefehl...
FMK2012: Strukturierte Scriptprogrammierung und neue Befehle und Scriptbefehl...FMK2012: Strukturierte Scriptprogrammierung und neue Befehle und Scriptbefehl...
FMK2012: Strukturierte Scriptprogrammierung und neue Befehle und Scriptbefehl...
 
FMK2015: FileMaker Server 14 by Volker Krambrich
FMK2015: FileMaker Server 14 by Volker KrambrichFMK2015: FileMaker Server 14 by Volker Krambrich
FMK2015: FileMaker Server 14 by Volker Krambrich
 
FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich
FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang WunderlichFMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich
FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich
 
FMK2012: Datenaustausch zwischen FileMaker und MySQL von Nico Busch
FMK2012: Datenaustausch zwischen FileMaker und MySQL von Nico BuschFMK2012: Datenaustausch zwischen FileMaker und MySQL von Nico Busch
FMK2012: Datenaustausch zwischen FileMaker und MySQL von Nico Busch
 
FMK2018 FileMaker Server 17 - Solution Deployment neu gedacht Der Bruch mit d...
FMK2018 FileMaker Server 17 - Solution Deployment neu gedacht Der Bruch mit d...FMK2018 FileMaker Server 17 - Solution Deployment neu gedacht Der Bruch mit d...
FMK2018 FileMaker Server 17 - Solution Deployment neu gedacht Der Bruch mit d...
 
FMK2017 - FileMaker Server in der Cloud by Volker Krambrich
FMK2017 - FileMaker Server in der Cloud by Volker KrambrichFMK2017 - FileMaker Server in der Cloud by Volker Krambrich
FMK2017 - FileMaker Server in der Cloud by Volker Krambrich
 
FMK2022 Neue Programmiertechniken von Adam Augusting
FMK2022 Neue Programmiertechniken von Adam AugustingFMK2022 Neue Programmiertechniken von Adam Augusting
FMK2022 Neue Programmiertechniken von Adam Augusting
 
FMK2018- Audit Log Arnold Kegebein
FMK2018- Audit Log Arnold KegebeinFMK2018- Audit Log Arnold Kegebein
FMK2018- Audit Log Arnold Kegebein
 
FMK2017 - Der Bug - des Entwicklers Fluch by Jörg Köster
FMK2017 - Der Bug - des Entwicklers Fluch by Jörg KösterFMK2017 - Der Bug - des Entwicklers Fluch by Jörg Köster
FMK2017 - Der Bug - des Entwicklers Fluch by Jörg Köster
 
FMK2016 - Volker Krambrich - FileMaker Cloud - Amazon Web Services
FMK2016 - Volker Krambrich - FileMaker Cloud - Amazon Web ServicesFMK2016 - Volker Krambrich - FileMaker Cloud - Amazon Web Services
FMK2016 - Volker Krambrich - FileMaker Cloud - Amazon Web Services
 
FMK2014: FileMaker Module by Karsten Risseeuw
FMK2014: FileMaker Module by Karsten RisseeuwFMK2014: FileMaker Module by Karsten Risseeuw
FMK2014: FileMaker Module by Karsten Risseeuw
 
FMK2013: FileMaker und Kerio Connect by Bernhard Schulz - schubec GmbH und Ca...
FMK2013: FileMaker und Kerio Connect by Bernhard Schulz - schubec GmbH und Ca...FMK2013: FileMaker und Kerio Connect by Bernhard Schulz - schubec GmbH und Ca...
FMK2013: FileMaker und Kerio Connect by Bernhard Schulz - schubec GmbH und Ca...
 
FMK2015: Eigene Apps mit FileMaker Go by Markus Schneider
FMK2015: Eigene Apps mit FileMaker Go by Markus SchneiderFMK2015: Eigene Apps mit FileMaker Go by Markus Schneider
FMK2015: Eigene Apps mit FileMaker Go by Markus Schneider
 
FMK 2013, Eigene Apps für iOS mit FileMaker Go, Markus Schneider
FMK 2013, Eigene Apps für iOS mit FileMaker Go, Markus SchneiderFMK 2013, Eigene Apps für iOS mit FileMaker Go, Markus Schneider
FMK 2013, Eigene Apps für iOS mit FileMaker Go, Markus Schneider
 
FMK 2013 Entwickler Werkzeuge, Marcel Moré
FMK 2013 Entwickler Werkzeuge, Marcel MoréFMK 2013 Entwickler Werkzeuge, Marcel Moré
FMK 2013 Entwickler Werkzeuge, Marcel Moré
 
JBoss jBPM und Drools - Geschäftsprozesse und Regeln mit Open Source Java
JBoss jBPM und Drools - Geschäftsprozesse und Regeln mit Open Source JavaJBoss jBPM und Drools - Geschäftsprozesse und Regeln mit Open Source Java
JBoss jBPM und Drools - Geschäftsprozesse und Regeln mit Open Source Java
 
FMK2022 FileMaker und Javascript von Adam Augustin
FMK2022 FileMaker und Javascript von Adam AugustinFMK2022 FileMaker und Javascript von Adam Augustin
FMK2022 FileMaker und Javascript von Adam Augustin
 
FMK2014: Ein Warenwirtschaftssystem, das mit Scannern, Waagen und Mitarbeiter...
FMK2014: Ein Warenwirtschaftssystem, das mit Scannern, Waagen und Mitarbeiter...FMK2014: Ein Warenwirtschaftssystem, das mit Scannern, Waagen und Mitarbeiter...
FMK2014: Ein Warenwirtschaftssystem, das mit Scannern, Waagen und Mitarbeiter...
 
FMK2015: The Power of JavaScript by Marcel Moré
FMK2015: The Power of JavaScript by Marcel MoréFMK2015: The Power of JavaScript by Marcel Moré
FMK2015: The Power of JavaScript by Marcel Moré
 
Referat: Scrum Rocks – Testing Sucks?! (reloaded)
Referat: Scrum Rocks – Testing Sucks?! (reloaded)Referat: Scrum Rocks – Testing Sucks?! (reloaded)
Referat: Scrum Rocks – Testing Sucks?! (reloaded)
 

Mehr von Verein FM Konferenz

FMK2022 Excel und FileMaker Schittko.pdf
FMK2022 Excel und FileMaker Schittko.pdfFMK2022 Excel und FileMaker Schittko.pdf
FMK2022 Excel und FileMaker Schittko.pdfVerein FM Konferenz
 
FMK2022 Drucken über Dateigrenzen hinweg von Philipp Puls
FMK2022 Drucken über Dateigrenzen hinweg von Philipp PulsFMK2022 Drucken über Dateigrenzen hinweg von Philipp Puls
FMK2022 Drucken über Dateigrenzen hinweg von Philipp PulsVerein FM Konferenz
 
FMK2022 Custom Functions von Philipp Puls
FMK2022 Custom Functions von Philipp PulsFMK2022 Custom Functions von Philipp Puls
FMK2022 Custom Functions von Philipp PulsVerein FM Konferenz
 
FMK2022 FileMaker Fehler von Martin Schwarz
FMK2022 FileMaker Fehler von Martin SchwarzFMK2022 FileMaker Fehler von Martin Schwarz
FMK2022 FileMaker Fehler von Martin SchwarzVerein FM Konferenz
 
FMK2022 FileMaker Server unter Linux Workshop von Bernhard Schulz
FMK2022 FileMaker Server unter Linux Workshop von Bernhard SchulzFMK2022 FileMaker Server unter Linux Workshop von Bernhard Schulz
FMK2022 FileMaker Server unter Linux Workshop von Bernhard SchulzVerein FM Konferenz
 
FMK2022 FileMaker DataAPI und Java von Bernhard Schulz
FMK2022 FileMaker DataAPI und Java von Bernhard SchulzFMK2022 FileMaker DataAPI und Java von Bernhard Schulz
FMK2022 FileMaker DataAPI und Java von Bernhard SchulzVerein FM Konferenz
 
FMK2022 Arbeiten mit SVG in FileMaker - Robert Kaiser
FMK2022 Arbeiten mit SVG in FileMaker - Robert KaiserFMK2022 Arbeiten mit SVG in FileMaker - Robert Kaiser
FMK2022 Arbeiten mit SVG in FileMaker - Robert KaiserVerein FM Konferenz
 
FMK2022 Dokumentation - Thomas Hirt
FMK2022 Dokumentation - Thomas HirtFMK2022 Dokumentation - Thomas Hirt
FMK2022 Dokumentation - Thomas HirtVerein FM Konferenz
 
FMK2022 CustomFunctions Fuer Einsteiger - Thomas Hirt
FMK2022 CustomFunctions Fuer Einsteiger - Thomas HirtFMK2022 CustomFunctions Fuer Einsteiger - Thomas Hirt
FMK2022 CustomFunctions Fuer Einsteiger - Thomas HirtVerein FM Konferenz
 
FMK2022 FileMaker Integrated Development Environment - Russell Watson
FMK2022 FileMaker Integrated Development Environment - Russell WatsonFMK2022 FileMaker Integrated Development Environment - Russell Watson
FMK2022 FileMaker Integrated Development Environment - Russell WatsonVerein FM Konferenz
 
FMK2022 Datenschutz DSGVO Christoph Kluss
FMK2022 Datenschutz DSGVO Christoph KlussFMK2022 Datenschutz DSGVO Christoph Kluss
FMK2022 Datenschutz DSGVO Christoph KlussVerein FM Konferenz
 
FMK2022 Rechnungen Inkasso - Christoph Kluss
FMK2022 Rechnungen Inkasso - Christoph KlussFMK2022 Rechnungen Inkasso - Christoph Kluss
FMK2022 Rechnungen Inkasso - Christoph KlussVerein FM Konferenz
 
FMK2022 Die Zukunft von FileMaker - Marcel Moré.pdf
FMK2022 Die Zukunft von FileMaker - Marcel Moré.pdfFMK2022 Die Zukunft von FileMaker - Marcel Moré.pdf
FMK2022 Die Zukunft von FileMaker - Marcel Moré.pdfVerein FM Konferenz
 
FMK2019 bug off lightning talk by Russell Watson
FMK2019 bug off lightning talk by Russell WatsonFMK2019 bug off lightning talk by Russell Watson
FMK2019 bug off lightning talk by Russell WatsonVerein FM Konferenz
 
FMK2019 being an optimist in a pessimistic world by vincenzo menanno
FMK2019 being an optimist in a pessimistic world by vincenzo menannoFMK2019 being an optimist in a pessimistic world by vincenzo menanno
FMK2019 being an optimist in a pessimistic world by vincenzo menannoVerein FM Konferenz
 
FMK2019 FileMaker Performance Update 2019 by HOnza Koudelka
FMK2019 FileMaker Performance Update 2019 by HOnza KoudelkaFMK2019 FileMaker Performance Update 2019 by HOnza Koudelka
FMK2019 FileMaker Performance Update 2019 by HOnza KoudelkaVerein FM Konferenz
 
FMK2019 Hardware Integrated by HOnza Koudelka
FMK2019 Hardware Integrated by HOnza KoudelkaFMK2019 Hardware Integrated by HOnza Koudelka
FMK2019 Hardware Integrated by HOnza KoudelkaVerein FM Konferenz
 
Fmk2019 Produktentwicklung mit FileMaker by Harald Mair
Fmk2019 Produktentwicklung mit FileMaker by Harald MairFmk2019 Produktentwicklung mit FileMaker by Harald Mair
Fmk2019 Produktentwicklung mit FileMaker by Harald MairVerein FM Konferenz
 
FMK2019 FileMaker Data API mit Node.js nutzen by Adam Augustin
FMK2019 FileMaker Data API mit Node.js nutzen by Adam AugustinFMK2019 FileMaker Data API mit Node.js nutzen by Adam Augustin
FMK2019 FileMaker Data API mit Node.js nutzen by Adam AugustinVerein FM Konferenz
 
FMK2019 Layout und Eigene Menüs-Management by Jörg Köster
FMK2019 Layout und Eigene Menüs-Management  by Jörg KösterFMK2019 Layout und Eigene Menüs-Management  by Jörg Köster
FMK2019 Layout und Eigene Menüs-Management by Jörg KösterVerein FM Konferenz
 

Mehr von Verein FM Konferenz (20)

FMK2022 Excel und FileMaker Schittko.pdf
FMK2022 Excel und FileMaker Schittko.pdfFMK2022 Excel und FileMaker Schittko.pdf
FMK2022 Excel und FileMaker Schittko.pdf
 
FMK2022 Drucken über Dateigrenzen hinweg von Philipp Puls
FMK2022 Drucken über Dateigrenzen hinweg von Philipp PulsFMK2022 Drucken über Dateigrenzen hinweg von Philipp Puls
FMK2022 Drucken über Dateigrenzen hinweg von Philipp Puls
 
FMK2022 Custom Functions von Philipp Puls
FMK2022 Custom Functions von Philipp PulsFMK2022 Custom Functions von Philipp Puls
FMK2022 Custom Functions von Philipp Puls
 
FMK2022 FileMaker Fehler von Martin Schwarz
FMK2022 FileMaker Fehler von Martin SchwarzFMK2022 FileMaker Fehler von Martin Schwarz
FMK2022 FileMaker Fehler von Martin Schwarz
 
FMK2022 FileMaker Server unter Linux Workshop von Bernhard Schulz
FMK2022 FileMaker Server unter Linux Workshop von Bernhard SchulzFMK2022 FileMaker Server unter Linux Workshop von Bernhard Schulz
FMK2022 FileMaker Server unter Linux Workshop von Bernhard Schulz
 
FMK2022 FileMaker DataAPI und Java von Bernhard Schulz
FMK2022 FileMaker DataAPI und Java von Bernhard SchulzFMK2022 FileMaker DataAPI und Java von Bernhard Schulz
FMK2022 FileMaker DataAPI und Java von Bernhard Schulz
 
FMK2022 Arbeiten mit SVG in FileMaker - Robert Kaiser
FMK2022 Arbeiten mit SVG in FileMaker - Robert KaiserFMK2022 Arbeiten mit SVG in FileMaker - Robert Kaiser
FMK2022 Arbeiten mit SVG in FileMaker - Robert Kaiser
 
FMK2022 Dokumentation - Thomas Hirt
FMK2022 Dokumentation - Thomas HirtFMK2022 Dokumentation - Thomas Hirt
FMK2022 Dokumentation - Thomas Hirt
 
FMK2022 CustomFunctions Fuer Einsteiger - Thomas Hirt
FMK2022 CustomFunctions Fuer Einsteiger - Thomas HirtFMK2022 CustomFunctions Fuer Einsteiger - Thomas Hirt
FMK2022 CustomFunctions Fuer Einsteiger - Thomas Hirt
 
FMK2022 FileMaker Integrated Development Environment - Russell Watson
FMK2022 FileMaker Integrated Development Environment - Russell WatsonFMK2022 FileMaker Integrated Development Environment - Russell Watson
FMK2022 FileMaker Integrated Development Environment - Russell Watson
 
FMK2022 Datenschutz DSGVO Christoph Kluss
FMK2022 Datenschutz DSGVO Christoph KlussFMK2022 Datenschutz DSGVO Christoph Kluss
FMK2022 Datenschutz DSGVO Christoph Kluss
 
FMK2022 Rechnungen Inkasso - Christoph Kluss
FMK2022 Rechnungen Inkasso - Christoph KlussFMK2022 Rechnungen Inkasso - Christoph Kluss
FMK2022 Rechnungen Inkasso - Christoph Kluss
 
FMK2022 Die Zukunft von FileMaker - Marcel Moré.pdf
FMK2022 Die Zukunft von FileMaker - Marcel Moré.pdfFMK2022 Die Zukunft von FileMaker - Marcel Moré.pdf
FMK2022 Die Zukunft von FileMaker - Marcel Moré.pdf
 
FMK2019 bug off lightning talk by Russell Watson
FMK2019 bug off lightning talk by Russell WatsonFMK2019 bug off lightning talk by Russell Watson
FMK2019 bug off lightning talk by Russell Watson
 
FMK2019 being an optimist in a pessimistic world by vincenzo menanno
FMK2019 being an optimist in a pessimistic world by vincenzo menannoFMK2019 being an optimist in a pessimistic world by vincenzo menanno
FMK2019 being an optimist in a pessimistic world by vincenzo menanno
 
FMK2019 FileMaker Performance Update 2019 by HOnza Koudelka
FMK2019 FileMaker Performance Update 2019 by HOnza KoudelkaFMK2019 FileMaker Performance Update 2019 by HOnza Koudelka
FMK2019 FileMaker Performance Update 2019 by HOnza Koudelka
 
FMK2019 Hardware Integrated by HOnza Koudelka
FMK2019 Hardware Integrated by HOnza KoudelkaFMK2019 Hardware Integrated by HOnza Koudelka
FMK2019 Hardware Integrated by HOnza Koudelka
 
Fmk2019 Produktentwicklung mit FileMaker by Harald Mair
Fmk2019 Produktentwicklung mit FileMaker by Harald MairFmk2019 Produktentwicklung mit FileMaker by Harald Mair
Fmk2019 Produktentwicklung mit FileMaker by Harald Mair
 
FMK2019 FileMaker Data API mit Node.js nutzen by Adam Augustin
FMK2019 FileMaker Data API mit Node.js nutzen by Adam AugustinFMK2019 FileMaker Data API mit Node.js nutzen by Adam Augustin
FMK2019 FileMaker Data API mit Node.js nutzen by Adam Augustin
 
FMK2019 Layout und Eigene Menüs-Management by Jörg Köster
FMK2019 Layout und Eigene Menüs-Management  by Jörg KösterFMK2019 Layout und Eigene Menüs-Management  by Jörg Köster
FMK2019 Layout und Eigene Menüs-Management by Jörg Köster
 

FMK2012: Programmstrukturen - FileMaker Skripten nicht nur für Experten …

  • 1. FileMaker Konferenz2010 Programmstrukturen -- FileMaker Skripten nicht nur für Experten Neue und moderne Programmierkonzepte für FileMaker Entwickler. * Dr. Volker Krambrich, NORSULT Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 Salzburg Programmstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • 2. FileMaker Konferenz2010 Einführung Programmieren Konzepte aus modernen Programmiersprachen (zum Beispiel Java, Objective C…) kann man auch in FileMaker brauchen: • Kapselung, • Information hiding, • Methoden, • Vererbung. Daneben gibt es Arbeitstechniken wie Dekomponieren (Decomposition), und methodische Ansätze ( Algorithmische Optimierung) die vorgestellt werden. Die Idee „generischer Scripte“ oder „generischer Operationen” ist jedem Entwickler vertraut. Der ScriptSchritt ,Neuer Datensatz‘ ist ein typisches Beispiel. Wie funktioniert das und wie können wir etwas ähnliches selbst bauen? Ich werde zeigen und erklären, was man darunter versteht, warum Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 Salzburg Programmstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • 3. Volker Krambrich NORSULT Database Professionals • FileMaker seit 1989 • FMK seit 2010 • zertifiziert als Entwickler und Trainer • Linguist und Informatiker • dr.filemaker@mac.com Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 Salzburg Programmstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • 4. Was ist Programmieren? Programmierung (von griechisch prógramma „Vorschrift“) bezeichnet die Tätigkeit, Computerprogramme zu schreiben. Dies umfasst vor allem die Umsetzung (Implementierung) des Softwareentwurfs in Quellcode und, je nach verwendeter Programmiersprache, dessen Übersetzung in die Maschinensprache. (Wikipedia) Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 Salzburg Programmstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • 5. Algorithmen Eine Berechnungsvorschrift zur Lösung eines Problems heißt genau dann Algorithmus, wenn eine zu dieser Berechnungsvorschrift äquivalente Turingmaschine existiert, die für jede Eingabe, die eine Lösung besitzt, stoppt. Aus dieser Definition sind folgende Eigenschaften eines Algorithmus ableitbar: 1. Das Verfahren muss in einem endlichen Text eindeutig beschreibbar sein (Finitheit). 2. Jeder Schritt des Verfahrens muss tatsächlich ausführbar sein (Ausführbarkeit). 3. Das Verfahren darf zu jedem Zeitpunkt nur endlich viel Speicherplatz benötigen (Dynamische Finitheit, siehe Platzkomplexität). 4. Das Verfahren darf nur endlich viele Schritte benötigen (Terminierung, siehe auch Zeitkomplexität). Darüber hinaus wird der Begriff Algorithmus in praktischen Bereichen oft auf die folgenden Eigenschaften eingeschränkt: 1. Der Algorithmus muss bei denselben Voraussetzungen das gleiche Ergebnis liefern (Determiniertheit). 2. Die nächste anzuwendende Regel im Verfahren ist zu jedem Zeitpunkt eindeutig definiert (Determinismus). Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 Salzburg Programmstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • 6. Algorithmen → Programme Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 Salzburg Programmstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • 7. Algorithmen → Programme Anfang Ende Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 Salzburg Programmstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • 8. Algorithmen → Programme Anfang Vorbereitung Durchführung Abschluss Ende Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 Salzburg Programmstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • 9. Algorithmen → Programme Anfang Prüfung der Eingabe Vorbereitung Prüfung der Zulässigkeit Durchführung Prüf. d. Durchführbarkeit Abschluss Versuch Durchführung Kontrolle Durchführung Ende Ergebnis liefern Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 Salzburg Programmstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • 10. Praktische Anforderungen an FileMaker-Programme Qualitätskriterien: • Korrektheit • Robustheit • Wartbarkeit • Performanz Effizient programmiert •(richtige) Arbeitsmittel Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 Salzburg Programmstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • 11. Was werden wir machen? • erste Schritte: Einen Schalter umlegen • Werkzeuge betrachten Arbeitstechniken, Dokumentation, Entwurf • ein komplexes Praxisbeispiel: FEIM File Export and Import Manager Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 Salzburg Programmstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • 12. Demo 1 Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 Salzburg Programmstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • 13. Was werden wir machen? ✓erste Schritte: Was soll das? Einen Schalter umlegen • Werkzeuge betrachten Arbeitstechniken, Dokumentation, Entwurf • ein komplexes Praxisbeispiel: FEIM File Export and Import Manager Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 Salzburg Programmstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • 14. Was soll man machen? Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 Salzburg Programmstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • 15. Was soll man machen? Prüfung der Eingabe Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 Salzburg Programmstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • 16. Was soll man machen? Prüfung der Eingabe Prüfung der Zulässigkeit Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 Salzburg Programmstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • 17. Was soll man machen? Prüfung der Eingabe Prüfung der Zulässigkeit Prüf. d. Durchführbarkeit Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 Salzburg Programmstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • 18. Was soll man machen? Prüfung der Eingabe Prüfung der Zulässigkeit Prüf. d. Durchführbarkeit Versuch Durchführung Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 Salzburg Programmstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • 19. Was soll man machen? Prüfung der Eingabe Prüfung der Zulässigkeit Prüf. d. Durchführbarkeit Versuch Durchführung Kontrolle Durchführung Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 Salzburg Programmstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • 20. Was soll man machen? Prüfung der Eingabe Prüfung der Zulässigkeit Prüf. d. Durchführbarkeit Versuch Durchführung Kontrolle Durchführung Ergebnis liefern Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 Salzburg Programmstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • 21. Was soll man machen? tf re i! Prüfung der Eingabe nte x Prüfung der Zulässigkeit Prüf. d. Durchführbarkeit Ko Versuch Durchführung Kontrolle Durchführung Ergebnis liefern Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 Salzburg Programmstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • 22. Was soll man machen? • Keep your programs DRY *) Don‘t Repeat Yourself • Ein Script für eine Problemklasse! • Mach es gut und richtig – einmal! • Nichts einbauen, was nicht zum Problem gehört. • Kommentieren! Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 Salzburg Programmstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • 23. Kommentieren Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 Salzburg Programmstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • 24. Kommentieren • Standard: Wer hat wann was warum gemacht Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 Salzburg Programmstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • 25. Kommentieren • Standard: Wer hat wann was warum gemacht • Das nicht Offensichtliche beschreiben Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 Salzburg Programmstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • 26. Kommentieren • Standard: Wer hat wann was warum gemacht • Das nicht Offensichtliche beschreiben • Irrwege und Alternativen festhalten Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 Salzburg Programmstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • 27. Kommentieren • Standard: Wer hat wann was warum gemacht • Das nicht Offensichtliche beschreiben • Irrwege und Alternativen festhalten • Für wen? Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 Salzburg Programmstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • 28. Kommentieren • Standard: Wer hat wann was warum gemacht • Das nicht Offensichtliche beschreiben • Irrwege und Alternativen festhalten • Für wen? • Für Mich! Ich bin wahrscheinlich der andere Entwickler der in zwei Monaten reinschaut… Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 Salzburg Programmstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • 29. Arbeitstechniken • Kommentieren • Planen und dokumentieren • Prosa, Skizzen, Diagramme • Werkzeuge benutzen • DDR, CrossCheck, BaseElements, Inspector • Das Web als Hilfe und Anregung benutzen Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 Salzburg Programmstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • 30. Arbeitstechniken • Kommentieren • Planen und dokumentieren • Prosa, Skizzen, Diagramme • Werkzeuge benutzen • DDR, CrossCheck, BaseElements, Inspector • Das Web als Hilfe und Anregung benutzen Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 Salzburg Programmstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • 31. Special Script Universe Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 Salzburg Programmstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • 32. Arbeitstechniken Beispiel: Programmentwurf Nassi-Shneidermann diagramme Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 Salzburg Programmstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • 33. Arbeitstechniken Beispiel: Programmentwurf, zwei Modelle Flussdiagramm vs. Nassi-Shneidermann diagramme Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 Salzburg Programmstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • 34. Was werden wir machen? ✓erste Schritte: Einen Schalter umlegen Anwendung ✓Werkzeuge betrachten Arbeitstechniken, Dokumentation, Entwurf • ein komplexes Praxisbeispiel: FEIM File Export and Import Manager Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 Salzburg Programmstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • 35. FEIM FileExportImportMngr FEIM File Export- and Import-Manager • Ein Kunde hat ein komplexes, gewachsenes FM System • Das System kommuniziert mit anderen Systemen • Es wird mit internen und externen Servern verbunden • Es wurden > 280 einzelne Kontaktskripten entdeckt • Die Architektur war zu unflexibel • Was tun? Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 Salzburg Programmstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • 36. FEIM File Export- and Import-Manager Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 Salzburg Programmstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • 37. V.1.2 (16.2.2012) vk Create Offers and Reservations to be synchronized with external system The overall data model says that each object (offer or reservation) can have one or many positions; An offer refers to an (public, externally known) client. An OfferRow points to the containing Offer and one product, that must be both internally Client Product Offer OfferRow the model implicitly states that 1) Clients and Products are mutually known and for both system identifiably tagged, 2) the idea of an offer must be compatible. In SAP e.g. each offer contains only one row from our picture, combined with data that we store in Offer. This will need to be reflected in the supporting routines. Add New! Begin Statusfields in tables Offer OfferRow Revoke the mark to be Storage LastRun Storage LastRun enter an offer manually synched open no RunID local no RunID Set offer This status combination means| the offer has never been to be opened to the external system and all local editing is allowed, synched Transition including deletion of rows and offers without outside effect. Repeat for all rows affects here! and check completeness Check for completeness Check for status Set AddOffer marker Revoke AddOffer marker local no RunID Close and lock the offer local no RunID Re-open the offer, editing (editing of certain parts is of all parts is allowed still allowed) This status combination means| the offer has never been opened to the external system and all local editing is allowed, including deletion of rows and offers without outside effect, also the SetToBeSynched maybe revoked, still. End. In the above state an offer or reservation respectively may be set to "Open to SAP" if at least one complete row is filled in. Further business rules as to what complies with 'completeness' in terms of SAP have still to be defined! Export New! Begin Statusfields in tables Offer OfferRow select all new to be Storage LastRun Storage LastRun added local no RunID local no RunID Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 Salzburg Programmstrukturen foundFileMaker Skripting… FEIM -- any? Yes call $Current RunID www.filemaker-konferenz.com getFileName w RunID
  • 38. Repeat for all rows and check completeness Check for completeness Check for status Set AddOffer marker Revoke AddOffer marker local no RunID Close and lock the offer local no RunID Re-open the offer, editing (editing of certain parts is of all parts is allowed still allowed) This status combination means| the offer has never been opened to the external system and all local editing is allowed, including deletion of rows and offers without outside effect, also the SetToBeSynched maybe revoked, still. End. In the above state an offer or reservation respectively may be set to "Open to SAP" if at least one complete row is filled in. Further business rules as to what complies with 'completeness' in terms of SAP have still to be defined! Export New! Begin Statusfields in tables Offer OfferRow select all new to be Storage LastRun Storage LastRun added local no RunID local no RunID call FEIM found any? Yes $Current RunID getFileName w RunID No call FEIM success? write export file xxxADD.xls tellNoExport w reason No No success? Yes Transition affects here call FEIM call FEIM all status fields! doRollback w ErrorID doCommit Change status in exported Records End. More than one process exporting and reporting to FEIM may access and modify records. The saved RunID must thus be synch $current RunID synch $current RunID constructed as a combined value from ProcessID and $currentRunID. Only then can a process and file be determined uniquely. Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 Salzburg Programmstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • 39. Diagram Export Winpos XML FEIM Example Nassi-Shneiderman / 20120220 gbn Initialize process setting Set Focus (Layout) Find records to export Records found and no error Yes No Call Feim GetFileName Got filename Yes No export records Call OK ? Yes No Call Feim Commit Error to report ? Yes No Call Feim Rollback No records found ? Yes No Call Feim Call NoRecordsfound Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 Salzburg Programmstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • 40. …und in FileMaker Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 Salzburg Programmstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • 41. …und in FileMaker 1FileReference 1 Skript 1 Customfunction FEIM Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 Salzburg Programmstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • 42. Demo 2 Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 Salzburg Programmstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com
  • 43. FileMaker Konferenz2010 Vielen Dank unseren Sponsoren Danke für das Bewerten dieses Vortrages Dr. Volker Krambrich, NORSULT FileMaker Konferenz 2012 Salzburg Programmstrukturen -- FileMaker Skripting… www.filemaker-konferenz.com

Hinweis der Redaktion

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n