Kontakte einer zusätzlichen Kategorie zuordnen

  • Hallo zusammen,


    habe ein kleines Problem mit einem Agenten, der alle Kontakte in der Adressdatenbank überprüfen soll, ob diese in der Kategorie "Event" drin sind, aber nicht in der Kategorie "Event2". Diese Kontakte soll er dann der Kategorie "Event2" zusätzlich zuordnen ohne das die anderen Kategorien geändert werden.


    Mir fehlt im Prinzip nur der Formelausdruck um die Kategorie zu zuordnen.


    Meine Überlegung war es mit If-Abfragen zu machen, also:


    @If(Kategorie="Event",@If(Kategorie="Event2","",..... ),"")
    SELECT @ALL


    Cu
    Armin

  • FIELD Kategorie := @If(@Ismember(Kategorie;"Event");@Unique(Kategorie : "Event2");Kategorie)



    Wenn Kategorie Event enthält wird Event2 hinzugefügt und dafür gesorgt, daß es nur einmal drin ist, ansonsten wird das ursprüngliche Feld übernommen

  • Irgendwie funktioniert beides nicht wirklich, meine Agenten sehen so aus:


    FIELD Categories := @If(@IsMember(Categories;"Event");@Unique(Categories:"Event2");Categories);
    SELECT @All


    oder


    @If (Categories = "Event";@If(Categories = "Event2";"";@SetField (Categories;"Event2"));"");
    SELECT @All


    Wenn ich bei beiden einen Testlauf machen, bekomme ich als Ergebnis "0 Dokmente wurden geändert".


    Die Kontakte sind natürlich noch mehreren Kategorien zugeordnet, aber das kann doch nicht das Problem sein.

  • Der Typ des Feldes ist Dialogliste - Bearbeitbar und die Auswahl die hier erscheint wird über ein Profildokument angegeben(@GetProfileField("DirectoryProfile";"Categories")). Der Wert "Event2" ist da auch hinterlegt.

  • Die 2. Formel mit @SetField hat auch einen Fehler. Aber die erste sollte funktionieren.
    Mit der richtigen Bedingung saehe sie so aus:

    Code
    FIELD Categories := @If(@IsMember(Categories;"Event") & !@IsMember(Categories;"Event2");@Unique(Categories:"Event2");Categories);
  • Ich hab den Agent jetzt einfach so eingestellt, dass er nur ausgewählte Dokumente bearbeitet und habe alle in der Kategorie Event makiert und haben diese Aktion ausgeführt:


    @Unique(Categories:"Event2")


    Von da aus hab ich dann die Aktion erweitert auf


    Field Categories := @If(Categories="Event";@If(Categories != "SRI Delegation";@Unique(Categories:"SRI Delegation");Categories);Categories);


    Hat auf die ausgewählten Dokumente gut funktioniert.


    Hab den Agenten dann so umgestellt, dass er auf alle Dokumente in der Datenbank losgeht und es hat funktioniert.


    Ich weiß nicht genau warum die Aktionen mit den @IfMember Befehlen nicht den gewünschten Erfolg hatten.


    Vielen Dank für eure Unterstützung und die Ideen :)