Sage Bäurer b7 Konnektor

Sage Bäurer b7 ist eine ERP-Software für Produktion und Handel im Mittelstand.
Der Konnektor ermöglicht die bidirektionale Synchronisation von Kunden, Lieferanten, Personen und Anschriften.
Zusätzlich können Teile, Auswahllisten, Angebote, Aufträge, Rechnungen und Metadaten abgerufen sowie SQL-Select-Anweisungen ausgeführt werden.

Die Anbindung erfolgt über den Azure Service Bus.
Damit dies genutzt werden kann, muss das ERP-System entsprechend vorbereitet und konfiguriert werden.


Besonderheiten

Eine Besonderheit dieser Integration ist die entkoppelte Kommunikation:

  • Daten können nicht direkt abgefragt werden.
  • Stattdessen werden Nachrichten an das ERP-System gesendet.
  • Die Antworten werden ebenfalls als Nachrichten bereitgestellt und müssen aktiv abgeholt werden.

Dies führt dazu, dass eigene Syncs für die Synchronisation erforderlich sind.

  • Es stehen spezifische Syncs für Sage CRM und Zoho CRM inklusive Vorlagen zur Verfügung.
  • Weitere Systeme können teilweise über Universalsyncs angebunden werden. Einschränkungen:
    • Nicht alle Parameter (z. B. Filterangaben) können ausgewertet werden.
    • Ein begonnener Initialsync kann nicht fortgesetzt werden und muss neu gestartet werden.
    • Das Schreiben mit Universalsyncs ist nicht möglich, da der Konnektor kein Resultat liefern kann.

Objekte

Die Ermittlung des Schemas erfolgt durch das Senden einer Anfragenachricht.
Die Antwort enthält:

  • Verfügbare Objekte
  • Zugehörige Felddefinitionen

Details

  • Kunden- und Lieferantenobjekte werden in Personen und Anschriften unterteilt.
  • Auswahllisten (awl) können separat abgefragt werden.
    • Diese lassen sich z. B. in Transformationen zur Wertumwandlung nutzen.

Lesen von Daten

Schema-basierte Abfragen

  • Daten können initial schema-basiert angefordert werden.
  • Vor jedem erneuten Abruf wird die Warteschlange geleert – dies kann zeitintensiv sein.
  • Über spezielle Sync-Parameter kann die Wiederaufnahme einer Initialübertragung erfolgen, ohne die Warteschlange zu leeren.
  • Änderungen werden durch das ERP in einem Topic abgelegt und dort von Syncler abgeholt.

Einzelabfragen

  • Datensätze können auch einzeln angefordert werden.
  • Ablauf:
    • Eine Nachricht wird an das ERP gesendet.
    • Syncler wartet für eine definierte Zeit auf die Antwort.
    • Erfolgt keine Verarbeitung, kann es zu einem Timeout kommen.

Nachrichtenverarbeitung

  • Jede Schemaabfrage entspricht einem UseCase.
  • Mehrfach gelesene Nachrichten führen zu einer Dead-Letter-Situation.
  • Um dies zu vermeiden:
    • Alle Nachrichten werden verarbeitet, unabhängig vom auslösenden Sync.
    • Verarbeitete Nachrichten werden in den Datensatz-Speicher übernommen.
    • Syncs arbeiten anschließend aus dem Datensatz-Speicher (z. B. für individuelle Fehlerbehandlungen).

Änderungskennzeichen

  • OUT-Nachrichten enthalten das Feld s_aktion mit folgenden Werten:
    • NONE – keine Änderung
    • INS – Insert (Neu)
    • UPD – Update
    • DEL – Delete

Lesen von Abfrage-basierten Daten

  • Über den UseCase SQLQuery können SELECT-Anweisungen ausgeführt werden.
  • Das ERP prüft und führt diese SQL-Befehle aus.

Schreiben von Daten

  • Schreiben erfolgt über Nachrichten, die in den Service Bus eingestellt werden.
  • Besonderheit:
    • Es ist beim Senden nicht garantiert, ob oder wann die Aktion im ERP ausgeführt wird.
    • Aktionen werden daher unter Vorbehalt als erfolgreich gewertet.
  • Am Ende eines Sync-Laufs ruft Syncler die Responses des ERPs ab:
    • Ergebnisse werden mit den Datensätzen abgeglichen.
    • Gehören Antworten zu früheren Nachrichten, werden diese zusätzlich als Resultate gespeichert.

Spezielle Mechanismen

  • Neuanlage von Datensätzen:

    • Neue Datensätze erhalten zunächst eine Datensatz-Abbildung mit der Ziel-ID -1.
    • Dies verhindert Dubletten, da eine erneute Übertragung abgebrochen wird.
    • Über die CorrelationID der Nachricht wird die Beziehung zwischen Quell- und Ziel-Datensatz hergestellt.
  • Löschen von Datensätzen:

    • Wird vom Konnektor nicht unterstützt.

Einstellungen

Für die Einrichtung müssen folgende Parameter bereitgestellt werden:

Service Bus Endpunkt

  • Basis-URL des Nachrichtendienstes:

sb://sb-#####-b7-crm.servicebus.windows.net/

Kundenkennzeichen

  • Beginnt mit der Kundennummer.
  • Beispiel:

#####.xxxxx

Mandant

  • Gibt an, welcher ERP-Mandant angesprochen werden soll.
  • Für eine Mehrmandanten-Integration muss je Mandant ein eigenes System eingerichtet werden.

SharedAccessKeys

  • SharedAccessKey Name – Benutzername für den Service Bus
  • SharedAccessKey Lesen – Berechtigung zum Lesen von Nachrichten
  • SharedAccessKey Schreiben – Berechtigung zum Senden von Nachrichten
  • SharedAccessKey Initialisierung – Berechtigung für Initialprozesse

Timeout Verbindung

  • Anpassung des Standardtimeouts für Azure-Verbindungen.
  • Angabe in Millisekunden.
  • Minimum/Standard: 100000.
  • Nur anpassen, wenn Abfragen aufgrund von Timeouts abgebrochen werden.

Timeout Nachrichten

  • Anpassung des Standardtimeouts für Azure-Abfragen.
  • Angabe in Millisekunden.
  • Minimum/Standard: 5000.

image


UseCases

Für die Kommunikation mit Sage Bäurer b7 sind unterschiedliche UseCases definiert.

Beispiele

  • UC.SageCRM.Schema.REQ
  • UC.SageCRM.AllCustomers.REQ
  • UC.Sageb7.AllCustomers.RESP
  • UC.SageCRM.Selection.REQ
  • UC.SageCRM.Customer.REQ
  • UC.Sageb7.Customer.RESP
  • UC.SageCRM.SqlQuery.REQ

Unterstützte Objekte

  • Customer – Kunde
  • Supplier – Lieferant
  • Part – Teil
  • ProductFamily – Produktgruppe
  • Project – Projekt
  • SalesOpp – Verkaufschance (vc)
  • Invoice – Rechnung
  • Order – Auftrag
  • Offer – Angebot
  • Selection – Auswahllisten (awl)

⚠️ Hinweis:

  • Das Objekt Rechnung wird aufgrund seiner internen Vorgangsunterteilung in mehrere Unterobjekte aufgesplittet.
  • Für Belege existieren zusätzliche Funktionalitäten.

Weitere Informationen:
Sage Bäurer b7 Belege