Links überspringen

How-To: gFM-Business ERP-Software mit FileMaker erweitern

Exceltabelle als neue FileMaker-Tabelle importieren

3CAD-Evolution und gFM-Business ERP-SoftwareEiner der großen Vorzüge der gFM-Business ERP-Software ist die FileMaker-Basis. Denn mit FileMaker Pro können Sie als Benutzer in allen Versionen alle Drucklayouts nach Ihren Wünschen anpassen und/oder erweitern. Zudem sind in allen Versionen alle Datentabellen für den Zugriff externer FileMaker-Datenbanken freigeschaltet. Sie können mit FileMaker Pro also auch eigene FileMaker-Lösungen entwickeln, die Daten aus gFM-Business modifizieren oder hinzufügen. Im folgenden Beitrag erfahren Sie, wie Sie eine kleine FileMaker-Lösung erstellen können, um Positionen einer Materialliste als Excel-Tabelle aus der Software 3CAD-Evolution als Positionen in einem Angebot aus gFM-Business zu erfassen. Solche Lösungen können prinzipiell in allen Bereichen aus gFM-Business erstellt werden, weil alle Datentabellen für den externen Zugriff freigegeben sind. Die in diesem Beitrag vorgestellte Lösung kann auch als fertiges Modul erworben werden, das offen für die Anpassung mit FileMaker Pro an eigene Anforderungen ist.


Neue FileMaker-Datenbank erstellen

In unserem Beispiel möchten wir Artikelpositionen einer Produktliste aus 3CAD-Evolution als Angebotspositionen in ein bestehendes Angebot importieren. Dafür benötigen wir zunächst eine neue FileMaker-Datenbank, in die wir die Daten aus den Excel-Tabellen importieren können. Öffnen Sie dazu FileMaker Pro und wählen in der Menüleiste den Punkt [Ablage/Datei > Neue Lösung…].

Neue FileMaker-Datenbank erstellen

Im folgenden Dateiauswahldialog wählen Sie zunächst den Ordner aus, in dem sich die Datenbanken aus gFM-Business befinden (gFM_Business.fmp12 oder gFM_Business.gfm). Vergeben Sie im Feld [Sichern unter] einen neuen Namen für Ihre FileMaker-Lösung, in unserem Fall tragen wir „3CAD-FileMaker.fmp12“ ein.

Excel-Tabelle als neue FileMaker-Tabelle importieren

Nachdem die neue FileMaker-Datenbank auf dem Datenträger erstellt wurde, können wir im zweiten Schritt die Excel-Tabelle importieren, die später als Positionen im Angebot erfaßt werden sollen. Wählen Sie dazu aus der Menüleiste den Punkt [Ablage/Datei > Datensätze importieren > Datei…] aus.

Tabelle aus 3CAD-Evolution importieren

Im Dateiauswahldialog wählen Sie ggf. unter [Anzeigen] den Punkt „Excel-Arbeitsmappen (xlsx)“ und dann Ihre Excel-Tabelle aus, die von der Software „3CAD-Evolution“ exportiert wurde. Nach Auswahl der Datei wählen Sie im folgenden Dialog ggf. die Arbeitsmappe aus, in der die Daten innerhalb der Excel-Tabelle gespeichert wurden, woraufhin ein Dialog zur Zuordnung der Importfelder erscheint:

Exceltabelle als neue FileMaker-Tabelle importieren

Aktivieren Sie im unteren Bereich die Option [Ersten Datensatz nicht importieren]. Wählen Sie oben rechts unter [Ziel] die Option [Neue Tabelle] aus. Klicken Sie danach auf die Schaltfläche [Importieren], um die Excel-Tabelle als neue FileMaker-Tabelle in Ihre Lösung zu importieren. Es wird nun automatisch eine neue Tabelle in FileMaker mit den Feldnamen erzeugt, die in der Excel-Tabelle als Feldnamen angegeben wurden. Dabei werden auch alle in der Excel-Tabelle befindlichen Daten in die neue Tabelle importiert. FileMaker erzeugt für die neue Tabelle außerdem zwei Layouts, die die Felder der Tabelle enthalten. Diese Layouts werden im späteren Verlauf dieses Beitrags noch etwas bearbeitet.

Externe Datenquellen zu gFM-Business erstellen

Als Nächstes binden wir die Datenbanken der benötigten Tabellen aus gFM-Business in unsere neue FileMaker-Lösung ein. Wählen Sie dazu in der Menüleiste den Punkt [Ablage/Datei > Verwalten > Externe Datenquellen] aus. Klicken Sie auf die Schaltfläche [Neu…], um eine neue externe Datenquelle anzulegen.

Externe Datenquelle in FileMaker anlegen

Klicken Sie auf die Schaltfläche [Datei hinzufügen] und wählen in Ihrem gFM-Business-Verzeichnis die Datei [gFMw_Artikel.fmp12] bzw. […gfm] aus. Bestätigen Sie den Dialog daraufhin mit der Schaltfläche [OK]. Wiederholen Sie diesen Vorgang für die folgenden Dateien:

  • gFMw_Faktura.fmp12 (oder .gfm)
  • gFMw_Kontakte.fmp12 (oder .gfm)
  • gFMw_Stammdaten.fmp12 (oder .gfm)

Am Ende sollte der Dialog der externen Datenquellen wie folgt aussehen:

Externe Datenquellen verwalten

Angebot-ID und Globalschlüssel anlegen

Nun benötigen wir ein Feld, in das später die Angebot-ID des Angebots eingetragen werden kann, in das die Positionen aus der Materialliste importiert werden sollen. Dieses Feld muß global gespeichert werden, damit der Wert für alle aufgerufenen Datensätze der gleiche ist. Wählen Sie zur Anlage der neuen Felder in FileMaker den Punkt [Ablage/Datei > Verwalten > Datenbank] aus. Wählen Sie das mittlere Register [Felder] und geben unter [Feldname] den Namen des neuen Feldes ein: [_fk_Angebot_ID]. Klicken Sie auf die Schaltfläche [Erstellen] und klicken Sie daraufhin auf die Schaltfläche [Optionen]. Wählen Sie das Register [Speicher], aktivieren dort die Option „Globale Speicherung verwenden“ und bestätigen den Dialog.

Für die Erstellung des Globalschlüssels tragen Sie im Feld [Feldname] den Namen [_sGlobal] ein und wählen den Typ [Formel]. Klicken Sie auf die Schaltfläche [Erstellen] und tragen Sie im folgenden Dialog nur eine 1 ein. Nach Bestätigung des Dialogs sollte Ihr Fenster der Feldverwaltung folgendermaßen aussehen:

FileMaker Feldverwaltung

Beziehungen zwischen Datentabellen erstellen

Nun benötigen wir einige Beziehungen, damit wir die Daten innerhalb von gFM-Business korrekt zuordnen können. Die erste Beziehung zeigt zur Tabelle [Artikelstamm] aus gFM-Business, die im Beziehungsgraphen grün gefärbt ist. Unsere Import-Tabelle haben wir in diesem Beispiel hellrot eingefärbt.

FileMaker Beziehungsdiagramm

Beziehung zum Artikelstamm erstellen

Um die neue Beziehung [Artikelstamm] anzulegen, klicken Sie auf das [+]-Symbol am unteren linken Rand des Fensters. Wählen Sie unter Datenquelle zunächst die Datei [gFMw_Artikel] aus und dann die Tabelle [Artikelstamm]. Bestätigen Sie den Dialog mit OK. Auf welches Feld Sie die Beziehung im Artikelstamm verbinden, hängt davon ab, in welchem Feld Sie die gelieferte Nummer in der Artikelverwaltung speichern. In unserem Fall liefert die Excel-Datei die Artikelnummer des Lieferanten, die in unserem Beispiel im Feld „Artikel_Nr_Lieferant“ gepflegt wird. Klicken Sie in diesem Fall mit der Maus auf das Feld „ART. NR.“ der Tabelle „CAD_Evolution“ und ziehen die Maus mit gedrückter Maustaste auf das Feld „Artikel_Nr_Lieferant“ der Tabelle „Artikelstamm“. Damit haben Sie die erste Beziehung angelegt.

Globale Beziehungen erstellen

Die Beziehungen „glo_Angebote“ und „glo_Stammdaten“ werden über den globalen Schlüssel [_sGlobal] verknüpft. Erstellen Sie diese beiden Beziehungen nach dem obigen Muster und verbinden die Tabellen wie im oberen Bild angezeigt (beide Seiten jeweils mit dem globalen Schlüssel). Wählen Sie als Tabellen die Tabelle „Angebotspositionen“ der Datenquelle „gFMw_Faktura“ und die Tabelle „Stammdaten“ der Datenquelle „gFMw_Stammdaten“.

Beziehung zu den Angebotspositionen erstellen

Als Nächstes benötigen wir eine Beziehung zu den Angebotspositionen. Da die Angebotspositionen in gFM-Business über keinen globalen Schlüssel verfügen, verbinden Sie die Importtabelle mit dem Feld [_sGlobal] und die Angebotspositionen mit [_Angebot_ID]. Doppelklicken Sie daraufhin die Verbindungslinie und wählen als Verbindungstyp (Einblendfeld zwischen den Tabellen) das „x“ aus.

Beziehungen für Daten, die aus gFM-Business übernommen werden sollen

Am Schluß benötigen wir die Beziehungen „Angebote“ und „Angebote_Kunden“. Erstellen Sie dazu zunächst die Tabelle „Angebote“ wie oben beschrieben und verbinden Sie sie über das Feld [_pk_Angebot_ID] mit dem Feld [_Angebot_ID] der Angebotspositionen. Erstellen Sie daraufhin die Tabelle „Angebote_Kunden“ (Tabelle „Kunden“ aus der Datenquelle „gFMw_Kunden“) und verbinden Sie das Feld [_pk_Kunden_ID] mit dem Feld [_Kunden_ID] aus der Tabelle „Angebote“.

Benutzeroberfläche und Systemlayouts erstellen

Für unsere kleine Import-Lösung benötigen wir drei Layouts:

  • Die Benutzeroberfläche, auf der nachher der Import durchgeführt werden soll
  • Ein Systemlayout der Tabelle „CAD_Evolution“
  • Ein Systemlayout der Tabelle „Angebotspositionen“

Layout für Benutzeroberfläche

Für die Benutzeroberfläche können wir das erste Layout verwenden, das FileMaker bereits automatisch erstellt hat. Wechseln Sie in den Layoutmodus unter [Ansicht > Layoutmodus]. Wählen Sie in der Menüleiste den Punkt [Layouts > Layouteinstellung] aus. Bennenen Sie das Layout um in „scr.Datenübernahme“, und unter „Datensätze zeigen aus“ wählen Sie „CAD_Evolution“. Platzieren Sie nun das globale Feld [_fk_Angebot_ID] aus der Tabelle „CAD_Evolution“ auf dem Layout sowie eine Schaltfläche für Ihr Ausführungsscript, die Sie z.B. mit „Datenimport“ beschriften.

Systemlayouts für Exportdaten und Angebotspositionen erstellen

Damit unser Script auf herkömmliche Weise auf Daten aus der Tabelle der Exportdaten und der Tabelle der Angebotspositionen zugreifen kann, benötigen wir zwei Systemlayouts. Wechseln Sie im Layoutmodus in das zweite von FileMaker erstellte Layout und benennen Sie es um in [sys.CAD_Evolution].

Neues Layout in FileMaker erstellen

Für das zweite Systemlayout wählen Sie in der Menüleiste die Funktion [Layouts > Neues Layout/Neuer Bericht] aus. Geben Sie als Layoutnamen [sys.Angebotspositionen] an, wählen Sie unter „Datensätze zeigen aus“ die Tabelle „Angebotspositionen“ aus, wählen „Computer“ und „Formular“ und bestätigen den Dialog. Fügen Sie alle Felder der Tabelle „Angebotspositionen“ in das neue Layout ein.

Script zum Import der Daten aus 3CAD-Evolution in gFM-Business

Nun müssen wir das Script programmieren, das die Daten aus der exportierten Tabelle als Angebotspositionen in gFM-Business importiert. Hierbei ist zu beachten, dass gFM-Business beim Import aus externen Lösungen keine Daten automatisch einträgt. Es müssen also alle zu importierenden Werte übergeben werden. Das Script besteht aus folgenden Teilscripten:

  • Prüfung auf leere Angebot-ID – prüft, ob in die Angebot-ID ein Wert eingetragen wurde. Abbruch, wenn kein Wert vorhanden ist. In der ersten Zeile schalten wir die Fehleraufzeichnung ein, weil mögliche Fehler direkt im Script abgefangen werden.

Prüfen: Leere Angebot-ID

  • Prüfung auf falsche Angebot-ID – prüft, ob die Angebot-ID in gFM-Business existiert. Wenn die eingetragene Angebot-ID in gFM-Business nicht existieren sollte, wird das Script abgebrochen.

Prüfen: Falsche Angebot-ID

  • Prüfung auf vorhandene Positionen – prüft, ob im Angebot bereits Positionen existieren. Wenn ja, erscheint eine Abfrage ob dennoch in dieses Angebot importiert werden soll. Die bereits vorhandenen Positionen bleiben dabei selbstverständlich bestehen.

Prüfen: Positionen im Angebot

  • Importdialog und Datenimport – Abfrage, ob Import durchgeführt werden soll und Routine für Datenimport. Zunächst wird ein Dialog eingeblendet, daß im nächsten Dialog die zu importierende Datei ausgewählt werden soll. Daraufhin erscheint ein Dateiauswahldialog, der mit MBS-Funktionen entwickelt wurde, um den nativen Pfad der Datei auszulesen. Dieser Pfad wird mit der Funktion [PathPluginToFM] in einen FileMaker-konformen Pfad umgewandelt. Bei dieser Funktion handelt es sich um ein Set von Custom Functions, das Sie aus gFM-Business importieren können. Wählen Sie dazu in der Menüleiste die Funktion [Ablage/Datei > Verwalten > Eigene Funktionen]. Klicken Sie unten auf die Schaltfläche [Importieren]. Wählen Sie Ihre gFM-Business-Datenbank und daraufhin folgende Funktionen aus: PathFMToPlugin, PathPluginToFM, Platform, PlatformIsMac, PlatformIsWin, TrimStart und LeftMatch. Bestätigen Sie den Dialog, um den Import zu starten.Im Befehl [Datensätze importieren] wählen Sie zunächst eine Ihrer Exportdateien aus 3CAD-Evolution aus. Definieren Sie im Befehl daraufhin die Feldfolge für den Import und wählen als Zieltabelle [CAD_Evolution] aus. Nach Definition der Feldfolge klicken Sie den Befehl erneut an, wählen [Datei], löschen den dort gespeicherten Namen Ihrer lokalen Datei und tragen statt dessen die im oberen Teil des Scriptes definierte Variable $pfad_fm ein.

    Nach Beginn der Ausführungsschleife werden aus der Tabelle [CAD_Evolution] alle erforderlichen Variablen gesetzt, die nach Abfrage auf eine vorhandene Artikelnummer in die Tabelle [Angebotspositionen] geschrieben werden. Je nach dem, welche Daten die exportierte Excel-Tabelle enthält und übergeben werden sollen, können die Variablendefinitionen und Feldwertersetzungen beliebig erweitert werden.

Script zum Datenimport

Taste mit Ausführungsscript belegen

Taste mit Script belegenIm letzten Schritt wird nun die Taste [Datenimport] auf dem ersten Layout [Datenübernahme] mit dem neuen Script „sf.Datenimport“ belegt. Wechseln Sie zunächst im Layoutmodus auf das erste Layout „scr.Datenübernahme“, klicken Sie die Taste [Datenimport] mit der rechten Maustaste an und wählen Sie die Funktion [Tasteneinstellung]. Im Bereich „Aktion“ wählen Sie im ersten Einblendmenü die Funktion [Script ausführen]. Wählen Sie im folgenden Dialog das Script „sf.Datenimport“ aus.

Die Taste [Datenimport] ist nun mit dem Importscript belegt, und Ihre kleine FileMaker-Lösung zum Import einer Materialliste aus 3CAD-Evolution als Angebotspositionen in gFM-Business ist damit fertig.

Import von Belegpositionen aus anderen Drittlösungen

In diesem Beitrag haben wir Ihnen gezeigt, wie Sie mit einer einfachen FileMaker-Lösung automatisiert Angebotspositionen aus exportierten Materiallisten von 3CAD-Evolution in gFM-Business importieren können. Prinzipiell kann diese Vorgehensweise auch für Listen aus anderen Programmen verwendet werden, wenn sie entsprechend angepaßt wird. Denkbar sind selbstverständlich auch Importvorgänge in andere Datentabellen wie z.B. Kunden oder Artikel.

FileMaker Crashkurs

Schnell und effektiv FileMaker
lernen in 20 Kapiteln.

Kostenlos teilnehmen

Hinterlassen Sie einen Kommentar

Diese Seite teilen:

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

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

Sie sind hier: Erweitern der gFM-Business ERP-Software mit FileMaker Pro