Table of Contents

Löschweitergabe bei Replikation

Informationen

  • Kategorien: Kernel | Replikation
  • Version: 12.1.0.1473
  • Veröffentlichungsdatum: Freitag, 20. November 2009
  • Entwickler: Götzen
  • Benötigt Datenbankänderung: Ja
  • Betreff: Löschweitergabe bei Replikation

Beschreibung

Bei der Replikation können jetzt auch gelöschte Objekte übertragen werden.

Dies geschieht so, dass gewisse Daten, aller Objekte die im System gelöscht werden in einer eigens für diesen Zweck eingerichteten neuen Tabelle SysDeletedObjects (bzw. SysSysDeletedObjects für die Metadaten) gespeichert werden. Informationen über die Struktur der Tabellen sind im Beispielcode zu finden.

Der Modus für die Löschweitergabe kann in der Replikationsbeschreibung (*.prp Datei) eingestellt werden mit dem neuen Schlüssel "DeleteMode"

mögliche Werte für DeleteMode: DeleteNever: Gelöschte Objekte werden nicht übertragen AskForDelete: Der Benutzer kann auswählen welches Objekt gelöscht werden soll. AskIfChanged: Wenn sich das gelöschte Objekt inzwischen auf dem Zielsystem geändert hat kann der Benutzer entscheiden ob es dort auch gelöscht werden soll. DeleteAllways: Gelöschte Objekte werden ohne Rückfrage mit gelöscht.

Beispiel:

[class ] DestClass= DeleteMode=AskForDelete

Beispielcode


*********************************************************************************
 Die notwendige(n) neue(n) Klasse(n): (Definition aus der Descriptor.ini)

;  Tabelle SysDeletedObjects zum Speichern der gelöschten Objekte der Userdatenbank
; *********************************************************************************

[SysDeletedObjects]
PRINTNAME=Gelöschte Objekte
USINGIDFACTORY=FALSE
DATABASE=USER

ATTRIBUTE_1=ID
TYPE_1=ID

ATTRIBUTE_2=Class
TYPE_2=STRING
NULL_2=TRUE
LENGTH_2=50

ATTRIBUTE_3=DisplayName
TYPE_3=STRING
LENGTH_3=255
NULL_3=TRUE

ATTRIBUTE_4=DeletedByUser
TYPE_4=STRING
NULL_4=TRUE
LENGTH_4=50

ATTRIBUTE_5=DeletedAtTime
TYPE_5=TIME
NULL_5=TRUE

ATTRIBUTE_6=CreationDate
TYPE_6=CREATEDATTIME
NULL_6=TRUE

; *********************************************************************************
;  Ende   Definition:       Tabelle SysDeletedObjects
; *********************************************************************************


; *********************************************************************************
;  Tabelle SysSysDeletedObjects zum Speichern der gelöschten Objekte derMetadatenbank
; *********************************************************************************

[SysSysDeletedObjects]
PRINTNAME=Gelöschte Systemobjekte
USINGIDFACTORY=FALSE

ATTRIBUTE_1=ID
TYPE_1=ID

ATTRIBUTE_2=Class
TYPE_2=STRING
NULL_2=TRUE
LENGTH_2=50

ATTRIBUTE_3=DisplayName
TYPE_3=STRING
LENGTH_3=255
NULL_3=TRUE

ATTRIBUTE_4=DeletedByUser
TYPE_4=STRING
NULL_4=TRUE
LENGTH_4=50

ATTRIBUTE_5=DeletedAtTime
TYPE_5=TIME
NULL_5=TRUE

ATTRIBUTE_6=CreationDate
TYPE_6=CREATEDATTIME
NULL_6=TRUE

; *********************************************************************************
;  Ende   Definition:       Tabelle SysSysDeletedObjects
; *********************************************************************************


; ****************************************************************************************
;Neuer Schlüssel DeleteMode in der Replikationsbeschreibungsdatei (*.prp)
; *****************************************************************************************

mögliche Werte für DeleteMode:
DeleteNever:  Gelöschte Objekte werden nicht übertragen
AskForDelete: Der Benutzer kann auswählen welches Objekt gelöscht werden soll.
AskIfChanged: Wenn sich das gelöschte Objekt inzwischen auf dem Zielsystem geändert hat kann der Benutzer entscheiden ob es dort auch gelöscht werden soll.
DeleteAllways: Gelöschte Objekte werden ohne Rückfrage mit gelöscht.

Beispiel:

[class <Klassenname>]
DestClass=<Klassenname>
DeleteMode=AskForDelete