Autor Thema: Replizierformel für Antwortdokumente weiter einschränkbar?  (Gelesen 2102 mal)

Offline ossigo

  • Aktives Mitglied
  • ***
  • Beiträge: 149
Moin,

habe eine Replizierformel, die genau das macht, was sie soll, z.B.:
SELECT (Form = "Verein" & Meister = "FCBayern") | @AllDescendants
Hier wird jetzt neben den entsprechenden Hauptdokumenten die komplette Hierarchie aller Antwortdokumente geholt, soweit gut. Ich möchte jetzt aber gerne zwei bestimmte Typen von Antwortdokumenten nicht mit replizieren, also in diesem Fall nicht lokal haben. Geht das überhaupt, wenn ich mit @AllDescendants arbeite?
Versuche mit:
SELECT (Form = "Verein" & Meister= "FCBayern" & (Form != "myForm1" | Form != "myForm2")) | @AllDescendants
bzw.
SELECT ((Form = "Verein" & Meister= "FCBayern" ) | @AllDescendants) & (Form != "myForm1" | Form != "myForm2")
wirkten nicht... (letztere bestimmt eher Unfug),
wobei
(Form != "myForm1":"myForm2") ausgeschlossen werden soll.

Andere Lösung?

Jens


Offline koehlerbv

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Replizierformel für Antwortdokumente weiter einschränkbar?
« Antwort #1 am: 06.04.09 - 17:37:46 »
Jens, ich mag es nicht, wenn ich ungeprüft etwas weitergebe, aber ich mag auch keine Replikationsformeln  ;) Daher - eben ungeprüft - folgende Empfehlung: Das OR und die Klammerung ist Dein Problem.

Was passiert bei folgender Formel?
SELECT ((Form = "Verein" & Meister= "FCBayern") & @AllDescendants)  & (!Form *= "myForm1" : "myForm2")

Bernhard

Offline ossigo

  • Aktives Mitglied
  • ***
  • Beiträge: 149
Re: Replizierformel für Antwortdokumente weiter einschränkbar?
« Antwort #2 am: 07.04.09 - 10:53:07 »
Hallo Bernhard,

danke für den Lösungsvorschlag, paßte aber leider nicht. Das Ergebnis war eine DB ohne Dokumente, es wurden also keine Dokumente repliziert...
Nach Recherche und Tests ist der Fehler bei Dir die UND-Verknüpfung vor dem @AllDescendants. Es muss also grundsätzlich so:
(Form = "Verein" & Meister= "FCBayern") | @AllDescendants
und nicht so
(Form = "Verein" & Meister= "FCBayern") & @AllDescendants (es werden keine Dokumente repliziert)
heißen.
Erste Formel macht ja auch genau was Sie soll. Diese jetzt noch einzuschränken im Bereich der Antwortdokumente wäre das Ziel. Bei meinen beiden Versuchen wurden immer alle gewünschten Dokumente repliziert, meine Einschränkungen für die Antwortdokumente griffen aber überhaupt nicht. Ich teste weiter...

@All: Was spricht gegen Replizierformeln? Habe hier im Forum in einigen Threads die Bemerkung gelesen, dass einige hier Replizierformeln ablehnen. Warum?

Jens


Offline Hirnbeisz

  • Frischling
  • *
  • Beiträge: 26
  • Geschlecht: Männlich
Re: Replizierformel für Antwortdokumente weiter einschränkbar?
« Antwort #3 am: 07.04.09 - 11:55:24 »
@AllDescendants scheint in diesem Zusammenhang nicht zu funktionieren, es geht aber mit @IsResponseDoc oder @AllChildren.
Wenn Du dir eine Ansicht baust mit der Formel und dann nur die Dokumente in der Ansicht replizierst siehst Du das Ergebnis schon im Designer.
Ich persönlich arbeite seit Jahren ohne Probleme mit selektiven Repliken!
Gruß Aloisius

Offline ossigo

  • Aktives Mitglied
  • ***
  • Beiträge: 149
Re: Replizierformel für Antwortdokumente weiter einschränkbar?
« Antwort #4 am: 07.04.09 - 17:20:43 »
Hallo Hirnbeisz,

danke für die Info, aber Deine Einstellung wiederspricht teilweise den "Anweisungen" von IBM aus der Adminhilfe. Demnach ist @IsResponseDoc nicht zu verwenden, weil man sonst zuviele Antwortdokumente holt. Ich werde hier aber trotzdem mal in diese Richtung testen.

Untermengen von Dokumenten replizieren
Verwenden Sie diese Einstellung, um festzulegen, dass eine Replik nur Dokumente eines bestimmten Verzeichnisses oder einer bestimmten Ansicht empfängt, oder nur Dokumente, die denen in einer Formel angegebenen Auswahlkriterien entsprechen. Replizierungsformeln verhalten sich ähnlich wie Ansichtsauswahlformeln.
Beachten Sie bei der Verwendung von Replizierungsformeln Folgendes:
Sie können in einer Replizierungsformel nicht @DbLookup, @UserName, @Environment oder @Now verwenden.
Das Verwenden von @IsResponseDoc in einer Replizierformel hat zur Folge, dass alle Antwortdokumente in einer Datenbank repliziert werden, nicht nur diejenigen, die den Auswahlkriterien entsprechen. Um dies zu verhindern, verwenden Sie stattdessen @AllChildren oder @AllDescendants. Wenn Sie @AllChildren oder @AllDescendants verwenden, stellen Sie sicher, dass die Eigenschaft für die Datenbankleistung "Spezielle Antworthierarchie nicht unterstützen" nicht ausgewählt ist.

Jens

Offline ossigo

  • Aktives Mitglied
  • ***
  • Beiträge: 149
Re: Replizierformel für Antwortdokumente weiter einschränkbar?
« Antwort #5 am: 08.04.09 - 08:48:23 »
Tests dazu haben folgendes gezeigt:
@IsResponseDoc holt einfach alle Antwortdokumente --> nicht zu verwenden
@AllChildren holt nur die erste Ebene der Antwortdokumente; Antwortdokumente von Antwortdokumenten werden nicht mitgenommen
aus Hilfe: "mit der Sie einen Satz von Dokumenten mit den unmittelbaren Antworten replizieren können"
@AllDescendants: hier greifen nach Tests keine Formeln, die die zu replizierenden Typen von Antwortdokumenten einschränken.

Sollte ich noch irgendwie Erfolg haben landet das hier...
Jens

Offline Axel

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Replizierformel für Antwortdokumente weiter einschränkbar?
« Antwort #6 am: 08.04.09 - 09:05:43 »
@All: Was spricht gegen Replizierformeln? Habe hier im Forum in einigen Threads die Bemerkung gelesen, dass einige hier Replizierformeln ablehnen. Warum?

Replikationsformel sind mit allergrößter Vorsicht zu genießen. Eine kleine Änderung kann schon dazu führen, dass in einer Replik Dokumente gelöscht werden. Ich habe in grauer Vorzeit schon einige solcher Fälle. Nach der Replikation waren in der Replik keinerlei Dokumente mehr vorhanden.

Ich vermeide sie wo es nur geht und ich bin eigentlich damit ganz gut gefahren.

Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz