3.2.3 Synchronisation mit mehreren Datenquellen
Es ist möglich eine CRM-Datenbank mit mehreren infra:NET-Datenquellen zu synchronisieren (Mandantenfähigkeit). Die synchronisierten Daten werden dabei unabhängig voneinander im CRM-System bereitgestellt und mit der Ursprungsdatenquelle synchron gehalten.
Für jede zusätzlich zu synchronisierende Datenquelle muss ein eigenes Interface definiert werden, das dann als „Treiber“ für Datenquelle und Ziel der Synchronisationsaufträge ausgewählt werden kann. Dabei ist folgendermaßen vorzugehen:
Transceiver-seitige Änderungen
  • Die Namen der zu verwendenden Interfaces („Treiber“) müssen in der Registry des CRM-Servers beim Eintrag „Interfaces“ (unter Software\\infra.NET\\Transceiver) angegeben werden.
    Dabei muss auch der Name des Standard-Interfaces („INFRA“) mit angegeben werden – sofern der Name nicht geändert werden soll.
    Der Name eines Interfaces muss nicht mit dem Namen der für die Synchronisation zu verwendenden infra:NET-Datenquelle übereinstimmen.
    Soll der Name des zusätzlichen Interfaces „TEST“ sein, muss in der Registry folgendes hinterlegt werden:
    Interfaces: INFRA,TEST
  • Anschließend muss eine Registrierung der pGSAxINFRATransceiver.DLL durchgeführt werden – zum Beispiel manuell per regsvr32.
    Dadurch werden die notwendigen Registry-Einträge für die ERPConnect-Interfaces erzeugt.
  • Jedes Interface benötigt eigene Transformationsdateien (XSLs) für den Datenimport.
    Das heißt die Standard-XSL-Dateien für die infra:NET-Synchronisation müssen im Verzeichnis CAS-Software\Server\Transceiver des CRM-Servers entsprechend kopiert werden. Ist der Name des neuen Interfaces „TEST“ also beispielsweise wir folgt:
    INFRAAddressTransform.XSL ->  TESTAddressTransform.XSL
    INFRABSProductTransform.XSL -> TESTBSProductTransform.XSL
    INFRABSVoucherTransform.XSL -> TESTBSVoucherTransform.XSL
  • Um beim Einrichten der Synchronisationsaufträge für den Rückweg in Richtung infra:NET Datenquelle über einen Filter die richtigen Daten für die jeweilige Datenquelle selektieren zu können, muss in den XSL-Dateien eine entsprechende Kennung (z.B. ein Feld „Mandant“) für genesisWorld bereitgestellt werden.
  • Beim Anlegen der Synchronisationsaufträge kann nun „TEST“ als neuer Treiber für Quell- und Zielsystem ausgewählt werden.
    Als „ODBC-Datenquelle“ muss der Name der zu synchronisierenden infra:NET-Datenquelle angegeben werden – zum Beispiel „SPIEL“.
    Der Name ist nicht zwingend identisch mit dem Interface-Namen – wäre aber hilfreich.
  • Die Konfigurationsdatei des Transceivers „INFRATransceiver.INI“ muss für die zusätzliche Datenquelle kopiert werden.
    Dabei setzt sich der Name aus der zu verwendenden infra:NET-Datenquelle und „Transceiver.INI“ zusammen – also beispielsweise „SPIELTransceiver.INI“ (also hier wird nicht der Interface-Name sondern der Datenquellenname vorangestellt).
  • In der neu erstellten Konfigurationsdatei muss der Name „crmdata.log“ beim Eintrag „TransferFile:“ in der Sektion [Export] geändert werden – z.B. in „crmtest.log“.
    Dieser Dateiname muss auch infra-seitig in der sdbgw.ini hinterlegt werden (s.u.).
  • Die LOG-Dateien des Transceivers werden übrigens abhängig von der verwendeten Datenquelle benannt – z.B. „INFRATransceiverSPIEL.LOG“ für die Datenquelle „SPIEL“.
infra-seitige Änderungen
  • Im INI-Verzeichnis der infra:NET-Anwendung muss die Datei „sdbgw.ini“ angepasst werden.
    Die komplette Sektion „[ECHT]“ muss dupliziert und der Name der neu zu synchronisierenden infra:NET-Datenquelle als Sektionsname vergeben werden – also zum Beispiel „[SPIEL]“.
  • Innerhalb der Sektion muss der Dateiname beim Schlüssel „File:“ geändert werden, so dass er mit der Angabe in der Transceiver-Konfigurationsdatei unter „TransferFile:“ (siehe oben) übereinstimmt – also z.B. „crmtest.log“.
  • Um die durch infra:NET erzeugten Belegdaten (PDFs) CRM-seitig dem richtigen Mandant zuordnen zu können, muss über eine Datenquellenabhängige INI-Datei dem Schlüssel „ExtSystem“ in der Sektion [PrintEngine] der Name des zugehörigen Interfaces (nicht Name der Datenquelle) zugewiesen werden.
    Datenquellenabhängige INI-Dateien lassen sich durch folgenden Eintrag in der INDIVID.INI realisieren:
    [INCLUDE]
    DataBase=Trim(CRM-)GV(GV_database).ini
    Für die Datenquelle „SPIEL“ würde damit eine INI-Datei mit dem Namen „CRM-SPIEL.ini“ geladen.
    In dieser Datei kann dann mit folgendem Eintrag für die Ausgabe der PDF-Dateien die Verknüpfung zur richtigen Datenquelle/Mandant wie folgt angegeben werden:
    [PrintEngine]
    ExtSystem=TEST ; hier muss der Name des Interfaces, nicht der Datenquellenname angegeben werden. Ohne diesen Eintrag wird standardmäßig „INFRA“ als Interfacename übergeben.
    Der Name des Interfaces wird zusätzlich als Feld „Mandant“ in den Kopffeldern der Belegsteuerdateien (INI-Dateien zu den PDF-Belegen) an genesisWorld übergeben.