Das Notes Forum

Lotus Notes / Domino 10 => ND10: Entwicklung => Thema gestartet von: Kaljamam am 03.04.20 - 08:06:59

Titel: Mailgruppe automatisch aus Ansicht anderer DB füllen
Beitrag von: Kaljamam am 03.04.20 - 08:06:59
Hallo zusammen !

Suche einen Ansatz, um folgendes zu realisieren.

Ich habe in unserer Mitarbeiter Datenbank eine sortierte Ansicht mit allen Mitarbeitern, die ein KFZ gestellt bekommen haben.

In unserem names.nsf habe ich eine Gruppe "Fuhrpark".

ZIEL: gerne würde ich die Fuhrpark Gruppe automatisch mit den Daten aus der KFZ MItarbeiteransicht befüllen lassen, um diese Einträge nicht jedesmal manuell durchführen zu müssen.

Meine erste Idee: dblookup, aber wahrscheinlich gibt es schönere Varianten ? Wer kann unterstützen oder hätte eine Idee?

Grüßle vom Bodensee !  :)
Titel: Re: Mailgruppe automatisch aus Ansicht anderer DB füllen
Beitrag von: Tode am 03.04.20 - 10:03:20
DBlookup ist für diese Aufgabe, in der Du schon eine spezifische Ansicht hast, wo nur die notwendigen Dokumente drin sind, der falsche Befehl. Hierfür nimmst Du eher DBColumn:

Das könntest Du verwenden in einem Agenten, der in der names.nsf z.B. 1x täglich läuft mit folgender Formel:

Code
_srv := "ServerDerMitarbeiterDb";
_db := "PfadDerMitarbeiterDb";
_viw := "FuhrparkAnsicht";
_col := NummerDerSpalteMitDenNotesNamenInFuhrparkAnsicht;
_lkp := @DBColumn( "" : "NoCache"; _srv : _db; _viw; _col );

@If( _lkp = "" | @IsError( _lkp ) ; @Return( "" ) ; "" );

_unidGroup := "UniversalIDdesGruppenDokumentes";
@SetDocField( _unidGroup; _lkp )

Dieser Agent läuft periodisch, auf Selektion = "Keine" und sollte das Gruppendokument aktualisieren. Du könntest Dir die UNID der Gruppe natürlich auch noch durch einen separaten Lookup ermitteln, dieser Code wäre dann nach dem ersten Lookup:

Code
_viw2 := "($Groups)";
_crit := "Fuhrpark";
_col := 1;
_lkp2 := @DBLookup( "" : "NoCache"; ""; _viw2; _crit; _col2; [RETURNDOCUMENTUNIQUEID] );
_unidGroup := @If( _lkp2 = "" | @IsError( _lkp2 ); @Return( "" ) ; _lkp2 )
@SetDocField( _unidGroup; _lkp )

Besser wäre es aber, das in LotusScript umzusetzen, dann hast Du mehr Steuermöglichkeiten, musst keinen Agenten in die names.nsf packen, kannst protokollieren, etc. etc.
Titel: Re: Mailgruppe automatisch aus Ansicht anderer DB füllen
Beitrag von: Kaljamam am 03.04.20 - 12:43:19
Großartig! So funktioniert es bei uns bestens!!! Das Wochenende ist gerettet, vielen, vielen Dank!  :)

_srv := "ServerDerMitarbeiterDb";
_db := "PfadDerMitarbeiterDb";
_viw := "FuhrparkAnsicht";
_col := NummerDerSpalteMitDenNotesNamenInFuhrparkAnsicht;
_lkp := @DBColumn( "" : "NoCache"; _srv : _db; _viw; _col );

@If( _lkp = "" | @IsError( _lkp ) ; @Return( "" ) ; "" );

_unidGroup := "FDD34BD8946ABA43C1257552002780CB";
@SetDocField(_unidGroup; "Members"; _lkp)
Titel: Re: Mailgruppe automatisch aus Ansicht anderer DB füllen
Beitrag von: Tode am 05.04.20 - 18:29:00
Stimmt, Sorry, hatte den Feldnamen vergessen....