@ReplicateWithFieldProtection
Syntax
@ReplicateWithFieldProtection(DBHANDLE1;DBHANDLE2;FNLIST3;FIELDNAMELIST1;FIELDNAMELIST2);
@ReplicateWithFieldProtection(DBHANDLE1;DBHANDLE2;FNLIST3;FIELDNAMELIST1;FIELDNAMELIST2;FNREPLICATIONFLAGS4);
@ReplicateWithFieldProtection(DBHANDLE1;DBHANDLE2;FNLIST3;FIELDNAMELIST1;FIELDNAMELIST2;FNREPLICATIONFLAGS4;FNLISTERROR5);
Beschreibung
Repliziert die durch DBHANDLE1 referenzierte Datenbank mit der durch DBHANDLE2 referenzierten Datenbank. FNLIST3 enthält die Replikationsrechte. Das erste Element gibt die Rechte für die Replikation in der ersten Datenbank an, das zweite Element die Rechte für die zweite Datenbank.
Die Datenbanken müssen keine Repliken voneinander sein!
Über FIELDNAMELIST1 und FIELDNAMELIST2 können Feldnamen angegeben werden, deren Werte in der jeweiligen Datenbank erhalten bleiben sollen. Diese Felder werden bei der Replikation nicht durch gleichnamige Felder aus der jeweils anderen Datenbank überschrieben.
TEXT/TEXTLIST FIELDNAMELIST1:
Gibt die Namen der Felder an, die in den Dokumenten der DB1 erhalten bleiben sollen.
Gleichnamige Felder aus Dokumenten der DB2 werden beim Replizieren nach DB1 nicht übernommen.
TEXT/TEXTLIST FIELDNAMELIST2:
Gibt die Namen der Felder an, die in den Dokumenten der DB2 erhalten bleiben sollen.
Gleichnamige Felder aus Dokumenten der DB1 werden beim Replizieren nach DB2 nicht übernommen.
Es wird eine FNLIST zurückgegeben:
Element Bedeutung
1 UpdateCount DBHANDLE1
2 CreateCount DBHANDLE1
3 DeleteCount DBHANDLE1
4 UpdateCount DBHANDLE2
5 CreateCount DBHANDLE2
6 DeleteCount DBHANDLE2
FNLIST3:
Bit HEX Bedeutung
01 0001 Lesen
02 0002 Schreiben
03 0004 Ändern
04 0008 Löschen
FNREPLICATIONFLAGS4:
Bit HEX Bedeutung
01 0001 Lokalisieren von Links (Doc;View;DB) in Datenbanken mit unterschiedlicher ReplicaID.
FNLISTERROR5:
Bei Verwendung des optionalen Return-Parameter FNLISTERROR5, wird in diesem eine Error-Statistik zurückgegeben.
Element Bedeutung
1 Error UpdateCount DBHANDLE1
2 Error CreateCount DBHANDLE1
3 Error DeleteCount DBHANDLE1
4 Error UpdateCount DBHANDLE2
5 Error CreateCount DBHANDLE2
6 Error DeleteCount DBHANDLE2
Beispiel: @ReplicateWithFieldProtection(DBHANDLE1;DBHANDLE2;FNLIST3;FIELDNAMELIST1;FIELDNAMELIST2)
DBHANDLE1:=@OpenDB("TESTRP1.NSF");
DBHANDLE2:=@OpenDB("TESTRP2.NSF");
FNLIST3:=@BitVektor(1:2:3:4);
FNLIST3:=FNLIST3:FNLIST3;
FIELDNAMELIST1:="TestFeldInDB1";
FIELDNAMELIST2:="";
@LogReport(@ReplicateWithFieldProtection(DBHANDLE1;DBHANDLE2;FNLIST3;FIELDNAMELIST1;FIELDNAMELIST2));
DBHANDLE2:=@CloseDB(DBHANDLE2);
DBHANDLE1:=@CloseDB(DBHANDLE1);
Es wird die Datenbank "TESTRP1.NSF" mit der Datenbank "TESTRP2.NSF" repliziert und das Ergebnis ausgeben.
Die Felder (bzw. die Inhalte der Felder),mit dem Namen "TestFeldInDB1", bleiben in den Dokumenten der DB "TESTRP1.NSF" bleiben erhalten.
Beispiel: @ReplicateWithFieldProtection(DBHANDLE1;DBHANDLE2;FNLIST3;FIELDNAMELIST1;FIELDNAMELIST2;FNREPLICATIONFLAGS4)
DBHANDLE1:=@OpenDB("TESTRP1.NSF");
DBHANDLE2:=@OpenDB("TESTRP2.NSF");
FNLIST3:=@BitVektor(1:2:3:4);
FNLIST3:=FNLIST3:FNLIST3;
FNREPLICATIONFLAGS4:=1;
FIELDNAMELIST1:="TestFeldInDB1";
FIELDNAMELIST2:="";
@LogReport(@ReplicateWithFieldProtection(DBHANDLE1;DBHANDLE2;FNLIST3;FIELDNAMELIST1;FIELDNAMELIST2;FNREPLICATIONFLAGS4));
DBHANDLE2:=@CloseDB(DBHANDLE2);
DBHANDLE1:=@CloseDB(DBHANDLE1);
Es wird die Datenbank "TESTRP1.NSF" mit der Datenbank "TESTRP2.NSF" repliziert und das Ergebnis ausgeben.Lokale Links werden auf die jeweilige ReplicaID der Datenbank umgesetzt.
Die Felder (bzw. die Inhalte der Felder),mit dem Namen "TestFeldInDB1", bleiben in den Dokumenten der DB "TESTRP1.NSF" bleiben erhalten.
