Function DE Version 1.90

@ScanDB

Database IDList Note NotesSystem Search

Syntax

@ScanDB(DBHANDLE1;FORMULA2;SINCE3;NOTECLASSES4);
@ScanDB(DBHANDLE1;FORMULA2;SINCE3;NOTECLASSES4;MODUS5);

Beschreibung

Sucht alle Dokumente in der Datenbank mit dem DBHANDLE DBHANDLE1 die der Selection-Formula TEXT FORMULA2 entsprechen, vor dem Zeitpunkt TD SINCE3 in dieser DB geändert wurden und in NOTECLASSES NOTECLASSES4 enthalten sind. Sollen die Dokumente unabhängig von ihrer letzten Änderung selektiert werden liefert die @Funktion @AnyAllDay den passenden Zeit-Datums-Wert (siehe @AnyDay/@AllDay/@AnyAllDay). Zurückgegeben wird eine IDLIST mit den NoteIDs der selektierten Dokumente.
(Bei APIEngine <V2.10 wurde der Datentyp FLOATLIST zurückgegeben (siehe LIMITS). Ab V2.10 wird der Datentyp IDList zurückgegeben.
Da auf den Datentyp IDList nicht alle @Funktionen angewendet werden können, die auf den Datentyp FLOATLIST angewendet werden können, kann zur Kompatibilitätssicherung mit dem NOTES.INI Eintrag APIVersionModus eine prä V2.10 Version simuliert werden.)

Es ist auch möglich das Domino-Directory mit dieser @Function zu scannen (dazu einen Pseudo-DBHANDLE über @OpenDB mit einem Leestring "" erzeugen).
In diesem Fall wird über FN NOTECLASSES4 gesteuert, welche Files gefunden werden sollen.
Der Rückgabe-Wert ist in diesem Fall immer eine HUGETEXTLIST und die FORMULA2 wird ignoriert, sollte aber mit "SELECT @All" trotzdem angegeben werden.

NOTECLASSES4:
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.

NOTECLASSES4 (für den Fall eines Directory-Scans):
Types:
DEC   Bedeutung
00000   FILE_ANY      alle Dateitypen
00001   FILE_DBREPL      alle DBs die repliziert werden könnten
00002   FILE_DBDESIGN      alle DBs die Templates sein könnten
00003   FILE_DBDESIGN      alle Mail-Box-DBs (MAIL.BOX, SMTP.BOX, …)
00004   FILE_DBANY      alle DBs (NS?)
00005   FILE_FTANY      alle NTF-DBs (NT?)
00006   FILE_MDMTYPE      Modem-Command-Files (MDM)
00007   FILE_DIRSONLY      Nur Verzeichnisse
00008   FILE_VPCTYPE      Virtual-Port-Command-Files (VPC)
00009   FILE_SCRTYPE      COMM-Port-Script-Files (SCR)
00010   FILE_ANYNOTEFILE   absolut alle Notes-BDs (NS?, NT?, BOX)
00011   FILE_UNIQUETEMP   Container und Sort-Temp-Files (DTF)
00012   FILE_MULTICLN      Multi-User-Cleanup-Files (CLN)
00013   FILE_SMARTI      alle SMARTICON-Files (SMI)
00014   FILE_DBREP_REDIR   FILE_DBREPL und database-redirects

Flags:
HEX   DEC   BIT   Bedeutung
0100   00256   09 FILE_SKIPDAOS   DAOS-Repository nicht durchsuchen
0200   00512   10 FILE_SKIPJS   HTTP-JavaScript-Verzeichnisse nicht durchlaufen
1000   04096   13 FILE_LINKSONLY   alle Verzeichnisse, linked Files und linked Directories
2000   08192   14 FILE_RECURSE   rekurive Suche in den Unterverzeichnissen
4000   16384   15 FILE_NOUPDIRS   die Rücksprungverzeichnisse (..) nicht mit zurückgeben
8000   32768   16 FILE_DIRS   Unterverzeichnisse und normale Files zurückgeben
Es kann nur ein Type, aber mehre Flags angegeben werden. Die Werte müssen dafür einfach addiert werden.

MODUS5:
0= Wie ohne Angabe
1= Es wird auf jedenfall der Datentyp IDList zurückgegeben, unabhängig von der APIVersionModus(NOTES.INI) Einstellung.
2= Es wird eine UNIDList zurückgegeben (ab V3.00).

LIMITS:
bei FLOATLIST als Rückgabe maximal 8063 Elemente -> Datentyp FLOATLIST.


Beispiel: @ScanDB(DBHANDLE1;FORMULA2;SINCE3;NOTECLASSES4)

DBHANDLE1:=@OpenDB("TEST.NSF");
FORMULA2:="SELECT Form=\"TEST FORM\" & Category=\"Kat1\"";
@LogReport(@ScanDB(DBHANDLE1;FORMULA2;@AnyAllDay;32767));
DBHANDLE1:=@CloseDB(DBHANDLE1);

Es wird eine Datenbank geöffnet, alle Dokumente (unabhängig von ihrem Erstellungsdatum) ausgewählt, die im Feld Form den Inhalt "TEST FORM" und im Feld Category den Inhalt "Kat1" haben, deren NoteIDs ausgeben und schließlich die Datenbank wieder geschlossen.