Function DE Version 5.00

@ReplicateWithFieldProtection

Database NotesAdmin NotesSystem Replication

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.