@BuildNamedDocKeyLists
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.
