[gelöst] Mandanten Replikation

13. August 2008 14:33

Hallo,

ich habe folgende Problemstellung:

Der Kunde hat 3 Mandanten:
1 Vorlagemandant - hier werden die Stammdaten gepflegt
2 Hauptmandant
3 Hauptmandant

Die Replizierung ist ja nicht das eigentliche Problem, sondern er möchte nur gewisse Felder auf die Hauptmandanten Replizieren...

Soweit auch nicht unlösbar nur habe ich mir gestern noch über folgende Thematik gedanken gemacht:
1) Ich lege einen Auftrag in einem Hauptmandant an
2) Ich lösche als Beispiel den Debitor im Vorlagemandant

Hmm was passiert dann? Richtig Debitor ist auch im Hauptmandant gelöscht somit ist der Auftrag eine leiche... Gut ich könnte einen Test programmieren der eben z.B.: beim Debitor löschen alle Hauptmandanten durchläuft und Aufträge etc. kontrolliert.

Beispiel 2:
1) Ich Lösche einen Debitor
2) In der Zeit zwischen Replizierung wähle ich den Debitor für einen Auftrag aus

Somit ist der Test aus Beispiel wieder um sonst :/

Vielleicht habt ihr ein paar Tipps bzw. auch schon in der Praxis ein Tool im einsatz? Aja DB Version 5.01

LG
Zuletzt geändert von xeto am 14. August 2008 12:20, insgesamt 1-mal geändert.

Re: Mandanten Replikation

13. August 2008 21:31

Hallo xeto,

also wir haben das Problem so gelöst: Löschen ist im Mastermandanten nicht erlaubt :mrgreen: Das ist natürlich von Fall zu Fall unterschiedlich. Für Debitoren/Kreditoren würde ich wahrscheinlich ein Kennzeichen "gelöscht" mitgeben, und den Datensatz erst bei der Synchronisation nach eingehender Prüfung (also pro Mandant: OnDelete-Logik zur Prüfung verwenden) tatsächlich löschen. Wenn die Prüfung fehlschlägt wird das Kennzeichen wieder entfernt. Die Prüfung muss mit Locking funktionieren, um das andere Problem zu vermeiden. Man könnte für die Synchronisation einen extra Knopf vorsehen. Die Stammdatenfenster können auf das gelöscht-Kennzeichen gefiltert sein - würde sich also eher normal bedienen.

LG Jens

Re: Mandanten Replikation

14. August 2008 08:23

Hallo,

wir haben das wie folgt gelöst ( Vorlagemandnat = Zentralmandnat ):

Das Löschen von Stammdaten bzw. Daten, die durch Zentralmandnaten verteilt werden, kann nur durchgeführt werden, wenn es in den "Verteilten" Mandanten diesen Stammsatz nicht mehr gibt. Ein Globales löschen vom Zentralmandanten aus ist sehr fragwürdig ob dies Sinn macht.

In unserer Lösung steuert 1 Zentralmandant 55 Mandanten mit deren Stammdaten. Hierbei lässt sich einstellen welche Tabellen , welche Felder an welche Mandanten verteilt werden sollen.

LG

Ackermann

Re: Mandanten Replikation

14. August 2008 12:20

Hallo, vielen dank für die Antworten!!!

Das mit dem löschen ist nicht möglich gefällt mir =) aber den kunden leider nicht :/

Die Lösung wird so oder so sehr zeitintensiv sein in der programmierung sowie im konzept...
Wir werden einen externen Replikator verwenden der direkt die datensätze per SQL repliziert, die prüfung passiert jedoch in jeden mandant seperat d.h NAS je mandant der dann die löschung durchführt oder auch nicht! Denn sollte als Beispiel ein Debitor verwendet werden posten etc... kann er schlicht und einfach nicht gelöscht werden! jedoch ist er dann nur in diesem Mandanten verfügbar und in den anderen eben nicht mehr!

Ich glaube diese Fragestellung kann einfach nicht für alle gelöst werden da die Anforderungen von Kunde zu Kunde ganz einfach zu unterschiedlich sind!

Technische Lösung:
SQL Tool der als Service läuft Repliziert die Datensätze in devinierten Intervallen
Tabellen und Felder können in einer Einrichtung hinterlegt werden.
Ob ein Datensatz repliziert werden muss wird über den SQL Timestamp entschieden (kein zusätzliches Feld notwendig)
Löschen geschieht über eine quasi "Aufgaben Tabelle" je Mandant, ein NAS je Mandant leitet weitere Aktionen ein und versucht den Datensatz zu löschen!

Vielen Dank nochmal
LG