Function DE Version 4.50

@BuildNamedDocKeyLists

Database Float IDList List Misc NUMBER Search TimeDate

Syntax

@BuildNamedDocKeyLists(DBHANDLE;FORMULAGROUPDOCS;FORMULAPERSDOCS;TDSINCE;NOTECLASSES;NAMEFIELDNAMEGROUPDOCS;NAMEFIELDNAMEPERSDOCS;FNFLAGS;RETHTL;RETIDL);

Beschreibung

Diese @Function erzeugt zwei korrespondierende Listen (HUGETEXT RETHTL und IDLIST RETIDL). In der Liste HUGETEXT RETHTL werden alphabetisch sortiert die Inhalte der Felder, aus den durch die Selektionsformeln TEXT FORMULAGROUPDOCS und TEXT FORMULAPERSDOCS sowie durch TD TDSINCE und FN NOTECLASSES spezifizierten Dokumenten der DB mit dem DBHANDLE DBHANDLE, zurückgegeben. Korrespondierend dazu wird in der Liste IDLIST RETIDL die NOTEID`s der Dokumente zurückgegeben.

TEXT FORMULAGROUPDOCS:
Bei den Dokumenten die durch diese Selektionsformeln speziefiziert werden, wird davon ausgegegangen, daß die Inhalte des Feldes mit dem Namen TEXT NAMEFIELDNAMEGROUPDOCS in den Dokumenten vom Datentyp TEXT oder TEXTLIST, und GruppenNamen oder Personen aus dem Notes-Adressbuch sind.
Gruppen werden expandiert (die Gruppe muß im Notes-Adressbuch als Typ Mail oder Multipurpose definiert sein) und daß Ergebnis als einzelne Namen in die Liste HUGETEXT RETHTL eingetragen.
Ist ein Name in mehreren Gruppen vorhanden, wird nur die Information (NOTEID an der korrespondierenden Position in IDLIST RETIDL) des ersten Auftrettens eingetragen.
Wird als TEXT FORMULAGROUPDOCS ein NULLSTRING ("") angegeben wird dieser Schritt übergangen.

TEXT FORMULAPERSDOCS:
Bei den Dokumenten die durch diese Selektionsformeln speziefiziert werden, wird davon ausgegegangen, daß die Inhalte des Feldes mit dem Namen TEXT NAMEFIELDNAMEPERSDOCS in den Dokumenten vom Datentyp TEXT oder TEXTLIST sind.
Die Inhalte werden als einzelne Namen in die Liste HUGETEXT RETHTL eingetragen.
Ist ein Name in schon vorhanden, wird nur die Information (NOTEID an der korrespondierenden Position in IDLIST RETIDL) des letzten Auftrettens eingetragen.
Wird als TEXT FORMULAPERSDOCS ein NULLSTRING ("") angegeben wird dieser Schritt übergangen.

TD TDSINCE:
Es werden nur die Dokumente in den Listen berücksichtigt die vor dem Zeitpunkt, der in TD TDSINCE angegeben ist, erstellt wurden. Sollen die Dokumente unabhängig von ihrer Erstellung berücksichtigt werden liefert die @Function @AnyAllDay den passenden Zeit-Datums-Wert (siehe @AnyDay/@AllDay/@AnyAllDay).

FN NOTECLASSES:
Mit diesem Parameter wird spezifiziert, welche Klassen von Dokumenten berücksichtigt werden sollen.
DEC   BIT   Bedeutung

00000   XX   No Notes   keine Dokumente
00001   01   Documents   Daten-Dokumente
00002   02   Policy-Note   Über-DB-Dokument
00004   03   Form-Note   Masken-Design-Dokumente
00008   04   View-Note   Ansicht-Design-Dokumente
00016   05   Icon-Note   Piktogramm-Dokument
00032   06   Design-Collection-Note   Ansicht-Dokumente
00064   07   ACL-Info-Note   ACL-Info-Dokument
00128   08   Help-Index-Note   
00256   09   Help-Note   Hilfe-DB-Dokument
00512   10   Filter-Note   Macro-Design-Dokumente
01024   11   Feld-Note   Feld-Design-Dokumente
02048   12   Replication-Note   Replikations-Dokumente
04096   13   Privat_Design   Privat-Design-Dokumente

32768   16   Default-Note of Each   Von jedem das Vorgabe-Dokument

32767   01-15   Notes   Alle Dokumente
32766   02-15   All Non-Document-Notes   Alle nicht Daten-Dokumente

(Um mehrere Dokumenten-Klassen anzugeben werden die Werte der betreffenden Klassen addiert oder durch @BitVektor aufgebaut)

TEXT NAMEFIELDNAMEGROUPDOCS:
In diesem Parameter wird der Name der Felder, in den Dokumenten die durch TEXT FORMULAGROUPDOCS spezifiziert werden, angegeben. Die Inhalte dieser Felder (Datentyp TEXT oder TEXTLIST) werden als GruppenNamen oder Personen aus dem Notes-Adressbuch interpretiert (die Gruppen werden expandiert) und einzeln in die zurückgegebenen Listen eingetragen.

TEXT NAMEFIELDNAMEPERSDOCS:
In diesem Parameter wird der Name der Felder, in den Dokumenten die durch TEXT FORMULAPERSDOCS spezifiziert werden, angegeben. Die Inhalte dieser Felder (Datentyp TEXT oder TEXTLIST) werden einzeln in die zurückgegebenen Listen eingetragen.

FN FNFLAGS:
0   Keine Flags
1   Abbreviate Alle Namen werden (wenn möglich) in die abbreviate Form gebracht.
2   Canonicalize Alle Namen werden (wenn möglich) in die kanonische Form gebracht.

Als Return-Wert liefert die @Function bei einem Fehler @ERROR andernfalls TRUE zurück.

Beispiel: @BuildNamedDocKeyLists(DBHANDLE;FORMULAGROUPDOCS;FORMULAPERSDOCS;TDSINCE;NOTECLASSES;NAMEFIELDNAMEGROUPDOCS;NAMEFIELDNAMEPERSDOCS;FNFLAGS;RETHTL;RETIDL);

DBHANDLE:=@OpenDB("names.nsf");
FORMULAGROUPDOCS:="SELECT Form=\"Group\"";
FORMULAPERSDOCS:="SELECT Form=\"Person\"";
TDSINCE:=@AnyAllDay;
NOTECLASSES:=1;
NAMEFIELDNAMEGROUPDOCS:="ListName";
NAMEFIELDNAMEPERSDOCS:="FullName";
FNFLAGS:=1;
RET:=@BuildNamedDocKeyLists(DBHANDLE;FORMULAGROUPDOCS;FORMULAPERSDOCS;TDSINCE;NOTECLASSES;NAMEFIELDNAMEGROUPDOCS;NAMEFIELDNAMEPERSDOCS;FNFLAGS;RETHTL;RETIDL);
@LogReport(RET);
n1:=1;
n1e:=@Elements(RETHTL);
@LogReport("Elemente:"+@Text(n1e));
WHILE(n1<=n1e)
{
   Name:=@GetListElement(RETHTL;n1);
   ID:=@GetListElement(RETIDL;n1);
   @LogReport("Name:"+Name+" NoteID:"+@Text(ID));
   @Increment(n1);
}
DBHANDLE:=@CloseDB(DBHANDLE);

In diesem Beispiel wird eine Liste mit den Namen aller im Adressbuch eingetragenen Personen (alphabetisch sortiert) aufgebaut und in RETHTL zurückgegeben. Gruppen werden dabei zu Ihren Mitgliedern (wenn möglich) expandiert. Ist ein Name nur in einer(oder mehreren) Gruppe(n) vorhanden wird in der Korrespondierenden Liste RETIDL an der gleichen Position die NoteID des ersten auftrettens in einer Gruppe abgelegt. Ist für eine Person auch ein Personen-Dokument vorhanden wird die NoteID dieses Dokuments (an der entsprechenden Position) in der Liste RETIDL abgelegt.
Die Namen werden (wenn möglich) in der abbreviaten Form in die Liste RETHTL eingetragen.