Fragen und Antworten - Sage 100
Dieses Dokument beantwortet häufige Fragen zur Sage-100-Integration mit Syncler und gibt konkrete Handlungsempfehlungen.
Was muss ich beim Feld „Ansprechpartner“ beachten?
Kurzfassung
- In Sage 100 (Office Line) existieren häufig nur teilweise gepflegte Personenfelder.
- Für CRM-Systeme werden meist Anrede, Vorname, Nachname benötigt.
- Nutzen Sie in der Transformation eine Auftrennung des freien Feldes „Ansprechpartner“ und Fallback-Regeln.
Hintergrund
Ein Ansprechpartner in der Office Line besitzt typischerweise die Felder Ansprechpartner (freier Text), Anrede, Vorname, Nachname – diese sind jedoch nicht immer durchgängig befüllt. In vielen Datenbeständen steht der vollständige Name ausschließlich im freien Textfeld „Ansprechpartner“ (z. B. Herr Max Mustermann).
CRM-Systeme erwarten dagegen strukturierte Personenfelder. Die Syncler-Vorlagen kombinieren daher Parsing (Auftrennen) und Feldprüfung (Fallback).
Empfohlenes Vorgehen (Transformation)
- „Vollständigen Namen trennen“
- Quelle:
Ansprechpartner - Ergebnis:
Ansprechpartner_salutation,Ansprechpartner_firstname,Ansprechpartner_lastname
- Quelle:
- „Erstes nicht-leeres Feld“ (je Zielattribut)
Anrede_final = COALESCE(Anrede, Ansprechpartner_salutation)Vorname_final = COALESCE(Vorname, Ansprechpartner_firstname)Nachname_final = COALESCE(Nachname, Ansprechpartner_lastname)
- (Optional) „Groß-/Kleinschreibung“ normalisieren
-
-
- Erstes Zeichen groß, Rest klein
-
-
- Feldzuordnung ins CRM
Anrede ← Anrede_final,Vorname ← Vorname_final,Nachname ← Nachname_final
Qualitätsregeln (optional, empfehlenswert)
- Validierung: Wenn nach Parsing/Quelle kein
Nachname_finalermittelbar ist → Datensatz kennzeichnen (z. B. Flagneeds_review = Y) und optional filtern, um fehlerhafte Neuanlagen zu vermeiden. - Titel/Adelsprädikate: Bei Bedarf per RegEx/Mapping entfernen oder gesondert ablegen.
- Anrede-Mapping: Einheitliche Werte (z. B.
Herr/Frau) über Auswahllisten abbilden.
Häufige Fehler & Abhilfe
- Leere CRM-Felder trotz gefülltem „Ansprechpartner“ → Parsing-Schritt fehlt oder Fallback nicht konfiguriert.
- Falsche Anrede → Unterschiedliche Schreibweisen nicht gemappt (z. B.
Hr.→Herr). - Kompletter Name als Nachname → Parsing-Muster anpassen; bei zusammengesetzten Nachnamen Testfälle ergänzen.
Was ist beim Einsatz und der Erzeugung von Kontokorrenten zu beachten?
Kurzfassung
- Adressen sind die Basis der Sage-100-Integration; Kontokorrente können in zwei Ausbaustufen angebunden werden.
- Beim Auslesen werden Umsätze (Gesamt/Aktuelles Jahr/Vorjahr) automatisch mitgeliefert.
- Für zeitgesteuerte Umsatz-Updates existiert eine Vorlage; ohne komplette Aktualisierung werden Umsätze nur bei Änderungen an Adresse/Kontokorrent übertragen.
Ausbaustufen
Ausbaustufe 1 – Ein relevantes Kontokorrent je Firma
- Annahme: Es gibt maximal ein CRM-relevantes Kontokorrent pro Adresse.
- Selektion im Sage-100-System über zwei Parameter zur Bildung der Untergruppe
Kontokorrent.___first___. - Where-Bedingung (SData-Syntax), um Kontokorrente auszuschließen (z. B.
Aktiv eq '-1'). - Sortierung definiert, welches Kontokorrent als erstes (und damit relevantes) gewählt wird.
- Synchronisation gemeinsam mit Adresse/Firma.
Ausbaustufe 2 – Eigene Konto-Entität im CRM
- Das CRM besitzt eine Konto-Entität; Kontokorrente werden direkt synchronisiert (eigener, spezieller Sync-Typ).
- Adress-/Firmen-Sync bleibt getrennt, Verknüpfung über IDs/Referenzen.
Umsatzaktualisierung
- Beim Auslesen eines Kontokorrents berechnet Syncler automatisch Umsatz gesamt, aktuelles Jahr, Vorjahr (Zustand zum Zeitpunkt des Auslesens).
- Für regelmäßige Updates (z. B. täglich) wird eine Sync-Vorlage mitgeliefert.
- Wichtig: Eine Änderung der Umsatzzahlen gilt nicht als Änderung der Adresse/Kontokorrent-Stammdaten. Ohne explizites Umsatz-Update werden geänderte Umsätze nicht geschrieben.
Anlage neuer Kontokorrente in Sage 100
- Syncler kann neue Kontokorrente automatisch anlegen; Nummernkreise können über eine vorgegebene Kontonummer beeinflusst werden (z. B. bei Ad-hoc-Übertragung).
- Ausbaustufe 1 (indirekt über Firma):
- Weisen Sie CRM-Felder der Untergruppe
Kontokorrent.___first___zu. - Mappen Sie z. B. CRM-Feld „Kontonummer“ auf Kontokorrent-Spalte
Kto. - Nicht vorhandenes Kontokorrent wird (gemäß Systemeinstellung) angelegt.
- Hinweis: Diese Zuordnung ist nicht Teil der Standard-Vorlagen.
- Weisen Sie CRM-Felder der Untergruppe
- Ausbaustufe 2 (direkt):
- Erstellen Sie einen eigenen Sync (spezielle Kontokorrent-Variante) für CRU auf Kontokorrenten.
Vorlagen (empfohlen)
- Verwenden Sie eine Kontokorrent-Vorlage aus der Sage 100:
- In Sage 100 aus einem bestehenden Kontokorrent generieren.
- Im Syncler die Kontonummer der Vorlage am Sync hinterlegen.
- Ohne Vorlage drohen fehlende, funktionsrelevante Felder → Kontokorrent nicht nutzbar oder nicht erzeugbar.
Best Practices
- Klarer Pfad entscheiden: Ausbaustufe 1 (ein Kontokorrent je Firma) oder Ausbaustufe 2 (eigene Entität) – Mischformen bewusst planen.
- Umsatz-Jobs separat und zeitgesteuert betreiben (Performanz/API-Kontingente beachten).
- Eindeutige Referenzen pflegen (ExternalId/Composite Keys), um Suche/Verknüpfung im CRM zu stabilisieren.
Häufige Fehler & Abhilfe
- Umsätze aktualisieren sich nicht → Umsatz-Update nicht als eigener Lauf geplant; nur Stammdaten-Änderungen werden verarbeitet.
- Falsches Kontokorrent gewählt → Where/Sortierung in
Kontokorrent.___first___prüfen (SData-Syntax, Filterlogik). - Anlage scheitert → Kontokorrent-Vorlage fehlt; Pflichtfelder/Nummernkreis unklar.
Was ist beim Filtern von Daten zu beachten?
Kurzfassung
- Filter auf Sage 100 Schemaobjekte werden in einem OData-Syntax verfasst und vom Application Server der Sage 100 ausgewertet.
- Dabei werden NULL-Werte nicht korrekt berücksichtigt.
- Ein Abrufen von Datensätze mit einem Filter auf Felder die NULL-Werte enthalten ist dadurch nicht möglich. (z.B. Gruppe ne 'LIEF' liefert keine Datensätze, wo Gruppe leer ist bzw. einen NULL-Wert hat)
Verhindern des Verhaltens
- Solange das Verhalten in der Sage 100 nicht angepasst wird, muss es bei Bedarf durch den Sync kompensiert werden.
- Dies kann durch den Einsatz des zweiten Filters erreicht werden.
- Formulieren Sie hier z.B. Gruppe = '', um alle Datensätze mit leerer Gruppe zu verwenden. Dies können auch Datensätze sein, die in der Sage 100 einen NULL-Wert in diesem Feld haben.