dms.GetResultList
Sucht nach DMS-Objekten, die der Anfrage entsprechen. Die Festlegung der Zielobjekte und Felder geschieht über ein DMSQuery XML-Anfragedokument, in dem OS-Namen, interne Namen, GUIDs und Datenbanknamen verwendet werden können.
Allgemeine Anfrageeigenschaften lassen sich sowohl als Jobparameter als auch als XML-Attribute im Rootelement der XML-Anfrage setzen — XML-Attribute haben dabei Vorrang.
Das Attribut internal_name des <Archive>-Elements
ist nur bei archivübergreifenden Abfragen (mehrere <Archive>-Elemente) erforderlich — vorausgesetzt,
auch die enthaltenen <ObjectType>-Elemente verwenden internal_name.
Bei Einzelarchiv-Anfragen kann das Attribut entfallen.
|
1. Eingabeparameter
| Name | Typ | Pflicht | Beschreibung |
|---|---|---|---|
|
INT |
Ja |
Steuerung des Ausgabeformats. |
|
BASE64 |
Ja |
Anfrage im XML-Format (siehe Ausführliche Beschreibung). |
|
STRING |
Nein |
Kodierung des Ergebnisdokuments. |
|
INT |
Nein |
Offset für den ersten zurückgegebenen Datensatz. Default: |
|
INT |
Nein |
Anzahl der zurückzugebenden Datensätze. |
|
INT |
Nein |
Maximale Trefferzahl pro Objekttyp. |
|
INT |
Nein |
|
|
INT |
Nein |
|
|
INT |
Nein |
|
|
STRING |
Nein |
Formatierung zurückgelieferter Datumsangaben |
|
INT |
Nein |
|
|
STRING |
Nein |
Anfragetyp: |
|
STRING |
Nein |
Ausgabeformat in Abhängigkeit vom Anfragetyp: |
|
STRING |
Nein |
Trennzeichen zwischen Werten bei linearer Liste als einfache Textdatei. |
|
INT |
Nein |
|
|
STRING |
Nein |
Standard-Feldschema für alle Objekttypen der Anfrage. |
|
INT |
Nein |
|
|
INT |
Nein |
|
|
INT |
Nein |
|
|
INT |
Nein |
|
|
INT |
Nein |
|
|
INT |
Nein |
|
|
INT |
Nein |
Automatisches Anhängen von |
|
INT |
Nein |
Sprachcode für DMS-Namen in der Anfrage. Default: |
|
STRING |
Nein |
Locale (z. B. |
|
INT |
Nein |
Sprachcode für DMS-Namen im Ergebnisdokument. Default: |
|
STRING |
Nein |
Locale (z. B. |
|
INT |
Nein |
|
|
STRING |
Nein |
Benutzerkontext für die Jobausführung |
|
INT |
Nein |
|
|
INT |
Nein |
|
2. Ausgabeparameter
| Name | Typ | Abhängigkeit | Beschreibung |
|---|---|---|---|
|
INT |
— |
Anzahl der zurückgegebenen Datensätze. |
|
INT |
— |
Gesamtanzahl der vorhandenen Treffer. |
|
INT |
Optional |
Anzahl der zurückgegebenen Dateien (immer |
|
BASE64 |
Wenn |
Trefferliste im XML-Format als Buffer. |
3. Ausgabedateien
| Name | Beschreibung |
|---|---|
|
Pfad und Name der XML-Datei mit der Trefferliste. |
4. Rückgabe
(INT): 0 = Job erfolgreich, sonst Fehlercode
Vollständige Fehlerliste
5. Ausführliche Beschreibung
Eine Anfrage besteht im Wesentlichen aus der Festlegung des angefragten DMS-Objekts, der Auswahl der zurückzugebenden Felder und dem Setzen von Suchbedingungen. Darüber hinaus können Standortinformationen angefragt, Volltext- oder Basisparameterrecherchen durchgeführt, Verknüpfungen zu Objekten aus anderen Schränken erstellt oder Anfragen parametrisiert werden.
5.1. Anfragetypen
Bei Suchanfragen wird prinzipiell zwischen linearen und hierarchischen Anfragen unterschieden. Einen Sonderfall stellen die Detailanfragen dar.
5.1.1. Lineare Anfragen / Lineare Objektlisten (LOL)
Über lineare Anfragen können die einfachen Indexdaten von Objekten eines bestimmten Typs angefordert werden. Tabellensteuerelemente und Mehrfachparameterfelder sind davon ausgeschlossen.
Werden Dokumente oder Register angefragt, können auch Felder des direkten Elternregisters und des Ordners angefragt werden.
5.1.2. Hierarchische Anfragen / Hierarchische Objektlisten (HOL)
Hierarchische Anfragen können nicht nur den Inhalt von Tabellensteuerelementen und Mehrfachparameterfeldern zurückgeben, sondern auch Kindelemente — also z. B. die Register und Dokumente innerhalb des angefragten Ordners. Zusätzlich können Objekteigenschaften wie Dokumentenvarianten, Zugriffsrechte und Notizen angefordert werden.
Im Unterschied zu linearen Anfragen muss bei hierarchischen Anfragen zu jedem Treffer mindestens eine weitere Datenbankanfrage durchgeführt werden. Jede angefragte Objekteigenschaft erhöht diese Zahl.
5.2. Ergebnisformate
Das XML-Format für Anfrageergebnisse folgt dem DMSContent XML-Format.
Es beginnt immer mit dem <DMSContent>-Element, das über das Attribut format den Typ (LOL, HOL oder MIXED) angibt.
5.2.1. Lineare Objektliste (LOL)
Lineare Objektlisten werden durch das <Rowset>-Element eingeleitet. Sie besitzen einen
tabellarischen Aufbau mit Tabellenkopf (<Columns>) und Trefferzeilen (<Rows>).
5.2.2. Hierarchische Objektliste (HOL)
Hierarchische Trefferlisten werden durch das <ObjectList>-Element eingeleitet.
Für jedes Trefferobjekt werden Felddefinition und Feldwert geschrieben.
Über das <ChildObjects>-Element können beliebige Hierarchietiefen abgebildet werden.
<ObjectList>
<ObjectType name="Aufnahme" id="196616" type="REGISTER" table="object12">
<Object id="3226">
<Fields>
<Field name="Fallnummer" datatype="TEXT" dbname="feld62" ostype="X" size="20">987654</Field>
<Field name="Beginn" datatype="DATE" dbname="datum1" ostype="D" size="10">01.10.2003</Field>
<Field name="Ende" datatype="DATE" dbname="datum2" ostype="D" size="10"/>
</Fields>
<ChildObjects>
<!-- Dokumenttyp 'Arztbrief' -->
<ObjectType name="Arztbrief" id="262273" type="DOCUMENT" modul="WINDOWS" table="object162">
<ObjectList>
<Object id="37744">
<Fields>
<Field name="Datum" datatype="DATE" dbname="datum1" ostype="D" size="10">12.11.2003</Field>
<Field name="erstell. Arzt" datatype="TEXT" dbname="feld1" ostype="X" size="50">DEMO</Field>
<Field name="Typ" datatype="TEXT" dbname="feld3" ostype="X" size="20">Arztbrief operativ</Field>
<Field name="Status" datatype="INTEGER" dbname="zahl2" ostype="9" size="1"/>
</Fields>
</Object>
</ObjectList>
<Statistics startpos="0" pagesize="5" total_hits="1"/>
</ObjectType>
</ChildObjects>
</Object>
</ObjectType>
<Messages/>
</ObjectList>
5.2.3. Darstellung der Feldwerte
Im Allgemeinen werden Feldwerte als XML-Elementtext ausgegeben. Bei bestimmten Feldtypen
(Zeit, Zeitstempel, Optionsschaltflächen, Systemfeld Besitzer, Bäume, mehrsprachige Kataloge)
wird der Datenbankwert als value-Attribut und der Anzeigetext als Elementtext ausgegeben.
Beispiel LOL: <Value value="M">männlich</Value>
Beispiel HOL:
<Field value="M" name="Geschlecht" datatype="TEXT" dbname="feld7" ostype="X" size="1">männlich</Field>
5.2.4. Das <Statistics>-Element
Am Ende jeder Trefferliste gibt das <Statistics>-Element Auskunft über den Ergebnisumfang:
<Statistics startpos="20" pagesize="20" total_hits="50"/>
5.3. Allgemeines Anfrageverhalten
In einer Suchanfrage können Suchbedingungen für ein oder mehrere Objekttypen formuliert werden — z. B. bei einer Dokumentenanfrage sowohl für Register als auch für Ordner.
Dieses Verhalten wird über den Parameter RegisterContext gesteuert:
-
1(Default) — Suchbedingungen für Register werden berücksichtigt. -
0— Registerklauseln werden ignoriert; es werden nur Objekte in Registern angefragt (HOL).
5.4. Anfragen erstellen
Zur Erstellung einer Anfrage werden zunächst die anzufragenden DMS-Objekte und Felder definiert. Objekte und Felder können identifiziert werden über:
-
name— sprechender OS-Name -
internal_name— interner Name -
osguid— OSGUID -
table/dbname— Datenbanktabellen- oder Spaltenname
5.4.1. Einfaches Beispiel
Alle Ordner des Schranks Patient mit allen Indexdaten anfordern.
Das type-Attribut (FOLDER, REGISTER, DOCUMENT) vermeidet Namenskonflikte zwischen
gleichnamigen Objekttypen.
<?xml version="1.0" encoding="UTF-8"?>
<DMSQuery>
<Archive internal_name="patient">
<ObjectType internal_name="patient_folder" type="FOLDER">
<Fields field_schema="ALL"/>
</ObjectType>
</Archive>
</DMSQuery>
5.4.2. Felder explizit definieren
Werden nicht alle Indexdaten benötigt, setzt man field_schema="DEF" und listet die
gewünschten Felder einzeln auf:
<Fields field_schema="DEF">
<Field internal_name="firstname"/>
<Field internal_name="postal_code_city"/>
<Field internal_name="city"/>
</Fields>
5.4.3. Systemfelder
Systemfelder werden mit dem Attribut system="1" angefragt und über internen Namen,
GUID oder Datenbankfeldname angegeben.
Eine vollständige Übersicht aller verfügbaren Systemfelder bietet Systemfelder.
<Archive internal_name="patient">
<ObjectType internal_name="images" type="DOCUMENT">
<Fields field_schema="ALL">
<Field internal_name="OBJECT_COUNT" system="1"/>
</Fields>
</ObjectType>
</Archive>
5.4.4. Sortierung
Sortierung über das Attribut sortpos (Priorität, Wert > 0) und sortorder (ASC / DESC).
Felder mit niedrigerem sortpos haben höhere Priorität.
<?xml version="1.0" encoding="UTF-8"?>
<DMSQuery>
<Archive internal_name="patient">
<ObjectType internal_name="admission" type="REGISTER">
<Fields field_schema="ALL">
<Field internal_name="author" sortpos="1" sortorder="ASC"/>
<Field internal_name="date" sortpos="2" sortorder="DESC"/>
</Fields>
</ObjectType>
</Archive>
</DMSQuery>
5.5. Suchbedingungen
Bedingungen können für das angefragte Objekt sowie für Eltern- und Kindobjekte formuliert
werden. Das <ConditionObject>-Attribut legt fest, für welches Objekt die Bedingungen gelten.
5.5.1. Kombinierte Abfragen über mehrere Objekttypen
Bedingungen können gleichzeitig Felder verschiedener Objekttypen desselben Schranks referenzieren. Der Server gibt nur diejenigen Objekte zurück, bei denen alle Bedingungen erfüllt sind — unabhängig davon, auf welchen Objekttyp sich eine Bedingung bezieht.
Folgende Kombinationen sind möglich:
-
Suche nach einem Dokument mit Bedingungen auf Feldern des Dokuments selbst, seines Registers und seines Ordners.
-
Suche nach einem Register oder Ordner, in dem sich ein Unterobjekt befindet, das einer bestimmten Bedingung entspricht.
| Bei verschachtelten Registern steht nur das unmittelbar übergeordnete Register als Bedingungsziel zur Verfügung — dessen Elternregister können nicht referenziert werden. |
Variante 1 — Kindobjekte anhand von Elternobjekt-Kriterien suchen
Alle Körpermessungen (body_measurements) abrufen, die sich in einer Aufnahme der Station Kardiologie befinden und bei denen die Körpergröße über 180 cm liegt. Das angefragte Objekt ist das Dokument; die Bedingung auf das Register schränkt den Suchraum auf Aufnahmen der gewünschten Station ein.
<?xml version="1.0" encoding="UTF-8"?>
<DMSQuery>
<Archive internal_name="patient">
<ObjectType internal_name="body_measurements" type="DOCUMENT">
<Fields field_schema="DEF">
<Field internal_name="body_height_cm"/>
<Field internal_name="body_weight_kg"/>
</Fields>
<Conditions>
<ConditionObject internal_name="admission" type="REGISTER">
<FieldCondition internal_name="ward" operator="=">
<Value>Kardiologie</Value>
</FieldCondition>
</ConditionObject>
<ConditionObject internal_name="body_measurements" type="DOCUMENT">
<FieldCondition internal_name="body_height_cm" operator=">">
<Value>180</Value>
</FieldCondition>
</ConditionObject>
</Conditions>
</ObjectType>
</Archive>
</DMSQuery>
Variante 2 — Elternobjekte anhand von Kindobjekt-Kriterien suchen
Alle Aufnahmen (admission) abrufen, in denen mindestens eine Körpermessung mit einer Körpergröße über 180 cm abgelegt ist. Das angefragte Objekt ist das Register; die Bedingung referenziert ein untergeordnetes Dokument.
<?xml version="1.0" encoding="UTF-8"?>
<DMSQuery>
<Archive internal_name="patient">
<ObjectType internal_name="admission" type="REGISTER">
<Fields field_schema="DEF">
<Field internal_name="ward"/>
<Field internal_name="start_date"/>
</Fields>
<Conditions>
<ConditionObject internal_name="body_measurements" type="DOCUMENT">
<FieldCondition internal_name="body_height_cm" operator=">">
<Value>180</Value>
</FieldCondition>
</ConditionObject>
</Conditions>
</ObjectType>
</Archive>
</DMSQuery>
5.5.2. Vergleichsoperatoren
| Operator | XML-konformes Format |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5.5.3. Platzhalter (Textfelder)
| Platzhalter | Bedeutung |
|---|---|
|
Beliebige Zeichenfolge |
|
Einzelnes Zeichen |
|
Phonetische Suche (nur MSSQL und Oracle) |
Escapezeichen: Backslash — \? sucht nach einem Fragezeichen.
LIKE-Operator wird automatisch verwendet, wenn Platzhalter vorhanden sind.
5.5.5. Datum
Datumsangaben können in allen gängigen Formaten übergeben werden. Zweistellige Jahreszahlen: xy < 50 → 20xy, xy ≥ 50 → 19xy.
Bei unvollständigen Datumsangaben mit dem Gleichheitsoperator wird über den entsprechenden Zeitbereich gesucht:
-
=1999→BETWEEN 1.1.1999 AND 31.12.1999 -
!= 1999→NOT BETWEEN 1.1.1999 AND 31.12.1999
Werden zwei <Value>-Elemente angegeben, wird automatisch BETWEEN verwendet.
5.5.6. Suchbedingungen für Tabellenfelder
<DMSQuery>
<Archive internal_name="test_cabinet">
<ObjectType internal_name="windoc">
<Fields field_schema="ALL"/>
<Conditions>
<ConditionObject internal_name="windoc">
<TableCondition name="MeineTabelle">
<TableColumn name="1.Spalte" operator="=">
<Value>11</Value>
</TableColumn>
</TableCondition>
</ConditionObject>
</Conditions>
</ObjectType>
</Archive>
</DMSQuery>
5.5.7. Boolsche Verknüpfungen (UND / ODER)
Standardmäßig werden Bedingungen mit UND verknüpft. Für ODER-Verknüpfungen werden
Feldbedingungen über <FieldGroup operator="OR"> gruppiert. Schachtelung ist möglich.
<Conditions>
<ConditionObject internal_name="press_archive">
<FieldGroup operator="OR">
<FieldCondition internal_name="subject_area">
<Value>Technik</Value>
</FieldCondition>
<FieldCondition internal_name="created_by">
<Value>Schmitz</Value>
</FieldCondition>
</FieldGroup>
<Created>
<From>1.1.2002</From>
<To>31.12.2003</To>
</Created>
</ConditionObject>
</Conditions>
Mehrere <ConditionObject>-Elemente für denselben Objekttyp werden mit ODER verknüpft.
5.5.8. Basisparameter-Suchbedingungen
| XML-Element | Bedeutung |
|---|---|
|
Ersteller |
|
Erstellungsdatum |
|
Letzter Bearbeiter |
|
Datum der letzten Änderung (zwei Werte → Bereich) |
|
Benutzername des Besitzers |
|
Archivierungsstatus (nur Dokumente): |
|
Auscheckstatus (nur Dokumente): |
5.5.9. OBJECT_SEARCHFLAGS
Basisparameter-Eigenschaften von Dokumenten als Suchbedingung:
<Conditions>
<ConditionObject internal_name="document1" type="DOCUMENT">
<FieldCondition internal_name="OBJECT_SEARCHFLAGS" system="1">
<Value>68</Value>
</FieldCondition>
</ConditionObject>
</Conditions>
Werte werden bitweise kombiniert: Wert 68 = IN_REGISTER (64) UND NOT_ARCHIVABLE (4).
-
Werte der gleichen Gruppe → logisch ODER
-
Werte unterschiedlicher Gruppen → logisch UND
| Konstante | Hex | Dezimal | Beschreibung |
|---|---|---|---|
|
|
1 |
Dokument ist archiviert |
|
|
2 |
Dokument ist zur Archivierung freigegeben |
|
|
4 |
Dokument ist nicht zur Archivierung freigegeben |
|
|
8 |
Dokument hat keine Seiten |
|
|
16 |
Dokument ist vom aktuellen Benutzer ausgecheckt |
|
|
32 |
Dokument ist von einem anderen Benutzer ausgecheckt |
|
|
64 |
Dokument befindet sich in einem Register |
|
|
128 |
Dokument befindet sich in keinem Register (direkt auf Ordnerebene) |
|
|
256 |
Dokument ist ein externes Dokument |
|
|
512 |
Dokument ist ein Dokumentverweis |
|
|
1024 |
Dokument befindet sich an mehreren Orten |
|
|
2048 |
Dokument hat Varianten |
|
|
4096 |
Aktuelle Version des Dokuments ist signiert |
|
|
8192 |
Eine frühere Version des Dokuments ist signiert |
5.5.10. Volltextbedingungen
Über <Fulltext> wird eine Volltextanfrage durchgeführt. Das optionale Attribut
query_catalogue_locale legt die Sprache für mehrsprachige Kataloge fest.
5.5.11. Parametrisierung von Anfragen
Parameter werden unterhalb von <DMSQuery> definiert und in Bedingungen über das
ref-Attribut im <ParamValue>-Element referenziert:
<DMSQuery>
<Params>
<Param name="PatID">3987</Param>
</Params>
<Archive internal_name="patient">
<ObjectType internal_name="patient_folder">
<Fields field_schema="ALL"/>
<Conditions>
<ConditionObject internal_name="patient_folder">
<FieldCondition internal_name="patient_id">
<ParamValue ref="PatID"/>
</FieldCondition>
</ConditionObject>
</Conditions>
</ObjectType>
</Archive>
</DMSQuery>
5.5.12. Schrankübergreifende Anfragen
Über <ExternalObjects> lassen sich in HOL-Anfragen Informationen aus einem anderen
Schrank verknüpfen. Die Verknüpfung geschieht über ein link_name-Attribut am
Ausgangsfeld und eine <LinkedValue ref="…"/>-Referenz im externen Objekt:
<DMSQuery>
<Archive internal_name="press_archive">
<ObjectType internal_name="bw_scans">
<Fields>
<Field internal_name="document_type"/>
<Field internal_name="author" link_name="author"/>
<Field internal_name="date"/>
</Fields>
<ExternalObjects>
<ExternalArchive internal_name="addresses">
<ExternalObjectType internal_name="addresses">
<Fields field_schema="ALL"/>
<SubConditions>
<FieldCondition internal_name="last_name">
<LinkedValue ref="author"/>
</FieldCondition>
</SubConditions>
</ExternalObjectType>
</ExternalArchive>
</ExternalObjects>
</ObjectType>
</Archive>
</DMSQuery>
5.5.13. Standortinformationen
<ParentObjects> ist ein HOL-exklusives Element. Es liefert den vollständigen Objektpfad
(Ordner, Register) zum Trefferobjekt mit.
Bei LOL-Anfragen sind Elternfelder nicht über <ParentObjects> verfügbar —
Felder des direkten Elternregisters und des Ordners können dort direkt in die <Fields>-Liste
aufgenommen werden und erscheinen in der Trefferzeile.
<ParentObjects> unterstützt die Attribute:
-
parent_schema— welche Elterntypen zurückgeliefert werden; Standard:DEF
Gültige Werte: object_schema (DEF,ALL,REGISTER,DOCUMENTS) -
field_schema— Standard-Feldauswahl für alle Elternobjekte
Gültige Werte: field_schema (DEF,ALL,ALLREL,MIN)
Kindelemente:
-
<ParentObjectType>— ein oder mehrere explizit gewünschte Elterntypen -
<SubObjectType>— das gesuchte Zielobjekt im Pfad (Typ und interner Name)
<DMSQuery requesttype="HOL">
<Archive internal_name="patient">
<ObjectType internal_name="medical_letter" type="DOCUMENT">
<Fields field_schema="DEF">
<Field internal_name="date"/>
<Field internal_name="physician"/>
</Fields>
<ParentObjects parent_schema="DEF">
<SubObjectType internal_name="medical_letter" type="DOCUMENT"/>
</ParentObjects>
</ObjectType>
</Archive>
</DMSQuery>
5.5.14. Export hierarchischer Strukturen (HOL)
<ChildObjects> ist ein HOL-exklusives Element. Es bestimmt, welche Kinderobjekte
hierarchisch mitgeliefert werden.
Attribute:
-
child_schema— welche Kindtypen zurückgeliefert werden; Standard:DEF
Gültige Werte: object_schema (DEF,ALL,REGISTER,DOCUMENTS) -
export_depth— Tiefe der Hierarchie (0= direkte Kinder,1= Kinder und Kindeskinder usw.); Standard:0 -
field_schema— Standard-Feldauswahl für alle Kindtypen
Gültige Werte: field_schema (DEF,ALL,ALLREL,MIN)
Kindelemente von <ChildObjects>:
-
<ChildObjectType>— ein Element pro anzufragendem Kindtyp; trägt dieselben Identifikationsattribute wie<ObjectType>plus:-
alias— Aliasname für gleichnamige Typen in der Trefferliste -
<Fields>— gewünschte Felder des Kindtyps -
<SubConditions>— zusätzliche Filterbedingungen für die Kinderobjekte -
<ExternalObjects>— verknüpfte Fremdarchiv-Objekte der Kinder
-
<DMSQuery requesttype="HOL">
<Archive internal_name="patient">
<ObjectType internal_name="admission" type="REGISTER">
<Fields field_schema="DEF">
<Field internal_name="case_number"/>
<Field internal_name="admission_date"/>
</Fields>
<ChildObjects child_schema="DEF" export_depth="0">
<ChildObjectType internal_name="medical_letter" type="DOCUMENT">
<Fields field_schema="DEF">
<Field internal_name="date"/>
<Field internal_name="physician"/>
</Fields>
</ChildObjectType>
</ChildObjects>
</ObjectType>
</Archive>
</DMSQuery>
5.5.15. Volltextrecherchen
<?xml version="1.0" encoding="UTF-8"?>
<DMSQuery>
<Archive internal_name="patient">
<FulltextQuery>
<ChildObjects child_schema="DEF">
<ChildObjectType internal_name="medical_letter">
<Fields>
<Field internal_name="date"/>
<Field internal_name="senior_physician"/>
<Field internal_name="type"/>
</Fields>
</ChildObjectType>
<ChildObjectType internal_name="diagnosis">
<Fields field_schema="ALL"/>
</ChildObjectType>
</ChildObjects>
<Fulltext>Meningitis</Fulltext>
</FulltextQuery>
</Archive>
</DMSQuery>
5.5.16. Mehrere Anfragen in einem Dokument
<DMSQuery>
<Archive internal_name="addresses">
<ObjectType internal_name="addresses">
...
</ObjectType>
</Archive>
<Archive internal_name="patient">
<ObjectType internal_name="color_images" alias="F2">...</ObjectType>
<ObjectType internal_name="grayscale_images" alias="G1">...</ObjectType>
<ObjectType internal_name="color_images" alias="F1">...</ObjectType>
</Archive>
</DMSQuery>
Das optionale Attribut alias im <ObjectType>-Element ermöglicht gezielten Zugriff auf
Ergebnisse gleichnamiger Objekttypen in der Trefferliste.
5.6. Blättern durch Trefferlisten
Über PageSize (Seitengröße), Offset (Startpunkt) und MaxHits (Trefferobergrenze) können
Trefferlisten seitenweise abgerufen werden. Das <Statistics>-Element am Ende jeder
Trefferliste gibt Auskunft über den Umfang:
<Statistics startpos="20" pagesize="20" total_hits="50"/>
Beispiel: PageSize=20, MaxHits=101, tatsächlich 120 Treffer:
| Seite | Eingabe | <Statistics>-Ausgabe |
|---|---|---|
1 |
|
|
2 |
|
|
3 |
|
|
4 |
|
|
5 |
|
|
Nach Seite 1 ergibt sich: (101-1) / 20 = 5 Seiten. Da total_hits=101 > MaxHits-1=100,
gibt es noch weitere Treffer jenseits der Obergrenze.
5.7. Basisparameter
Mit baseparams=1 werden zusätzlich zu den Indexdaten alle Basisparameter geliefert.
Bei HOL erscheinen sie in einer eigenen <BaseParams>-Gruppe:
Für alle Objekttypen: Ersteller, Erstellungsdatum, Änderungsperson, Änderungsdatum, Besitzer
(Name als Text, GUID als osguid-Attribut).
Für Dokumente zusätzlich: Ein-/Auscheckstatus, Archivierungsstatus, Retentionzeiten.
<BaseParams>
<Creator>liebe</Creator>
<Created>12.12.2003</Created>
<Modifier>root</Modifier>
<Modified>14.12.2003</Modified>
<Owner guid="BC1123CDFAAAS">liebe</Owner>
<ArchiveState>ARCHIVABLE</ArchiveState>
<Locked>SELF</Locked>
</BaseParams>
5.8. Objektstatus
Mit status=1 im <DMSQuery>-Element werden folgende Statusinformationen je Objekt ermittelt:
-
Verknüpfungen
Für Dokumente zusätzlich:
-
Modultyp
-
Archivierungsstatus
-
Eingecheckt / Ausgecheckt
-
Anzahl der Seiten
-
Anzahl der realen Dokumentseiten (Systemfeld OBJECT_DOCPAGECOUNT)
5.9. Rechte
Mit rights=1 im <DMSQuery>-Element werden je Objekt die Zugriffsrechte des anfragenden
Benutzers ermittelt:
| Attribut | Beschreibung |
|---|---|
|
Benutzer darf Indexdaten ändern |
|
Benutzer darf das Objekt löschen |
|
Benutzer darf das Objekt öffnen bzw. exportieren |
|
Benutzer darf das Objekt bearbeiten |
Beispiel: <Rights modify_index="1" delete_object="1" export_object="1" modify_object="1"/>
Mit ObjectInserts=1 werden je möglichem Kindobjekttyp die einfügbaren Instanzen ermittelt:
<Rights object_inserts="1" modify_index="1" delete_object="1" export_object="1" modify_object="1">
<ObjectInserts type="65536" count="-1"/>
<ObjectInserts type="131108" count="-1"/>
<ObjectInserts type="131119" count="0"/>
<ObjectInserts type="196608" count="-1"/>
<ObjectInserts type="262144" count="-1"/>
</Rights>
count="-1" bedeutet keine Einschränkung. Wurde rights=1 nicht gesetzt, werden alle
Rechteattribute auf -1 gesetzt.
5.10. Dateiinformationen
Mit fileinfo=1 werden je Dokument folgende Eigenschaften als Attribute in <FileProperties>
geschrieben:
| Attribut | Beschreibung |
|---|---|
|
Anzahl der Dateien |
|
Dokumentgröße in Bytes |
|
Dateityp-Standarderweiterung |
|
MIME-Typ |
|
Gruppe des MIME-Typs (z. B. |
|
ID des verlinkten Objekts (wenn |
|
Typ-ID des verlinkten Objekts (wenn |
|
Anzahl der Dokumentseiten (wenn bekannt) |
Die Attribute extension, mimetype und mimetypegroup stehen bei LOL-Anfragen nicht zur Verfügung und werden nur bei HOL-Anfragen zurückgeliefert.
|
Beispiel: <FileProperties count="1" size="179489" extension="jpg" mimetype="image/jpeg"/>
5.11. Notizen
Mit dem <DMSQuery>-Attribut remarks="1" werden Notizen und Notizverknüpfungen
je angefragtem Dokument zurückgeliefert (nur HOL):
| Attribut / Element | Beschreibung |
|---|---|
|
ID der Notiz |
|
Notiztyp: |
|
|
|
Medium-ID (Work-Verzeichnis) oder |
|
Anlegername (ID als Attribut) |
|
Anlegedatum (Timestamp als Attribut) |
|
Letzter Bearbeiter (ID als Attribut) |
|
Datum der letzten Bearbeitung (Timestamp als Attribut) |
|
Notiztext (ID als Attribut; leer bei Objektnotiz) |
<Object id="81">
<Remarks>
<Remark id="1413" type="1" relation="0" medium="4">
<Creator id="16">MAIER</Creator>
<Created value="1143560855">28.03.2006 17:47:35</Created>
<Modifier id="18">SCHMIDT</Modifier>
<Modified value="1946463756">30.04.2006 14:50:12</Modified>
<Text>Notiztext</Text>
</Remark>
</Remarks>
</Object>
5.12. Spracheinstellungen
Über lang_id bzw. query_language kann die Sprache für Feld- und Objektnamen in der
Anfrage festgelegt werden.
Für mehrsprachige Kataloge stehen QueryCatalogueLocale (Jobparameter),
query_catalogue_locale (XML-Attribut am Root oder am Feld) zur Verfügung.
Die feldspezifische Locale überschreibt die globale Angabe.
| Ein mehrsprachiger Katalog darf innerhalb einer Anfrage nicht mit verschiedenen Locales angefragt werden. |
5.13. Icons
Mit icons="1" im <DMSQuery>-Element werden Icon-IDs aller benutzerdefinierten Icons
zurückgeliefert. Das iconid-Attribut wird an <Object> angehängt (nur HOL; bei LOL-Anfragen wird icons="1" ignoriert).
Bilddateien zu einer Icon-ID können über cnv.GetIcons abgerufen werden.
5.14. Dokumentenvarianten
Mit variants="1" im <DMSQuery>-Element wird für W-Dokumente der Variantenbaum
über <DocumentVariant>- und <DocumentVariants>-Elemente ausgegeben
(ohne Indexdaten).
| Attribut | Bedeutung |
|---|---|
|
|
|
Dokumenten-ID dieser Variante |
|
Versionsbezeichnung |
|
ID der Ursprungsvariante (kann auch ID gelöschter Dokumente enthalten) |
| Bei Recherchen nach W-Dokumenten wird immer die aktive Variante zurückgegeben. |
6. Verwandte Jobs
-
dms.GetObjectDetails — Gibt Indexdaten eines einzelnen Objekts zurück; nutzt dasselbe DMSContent HOL-Format und dieselben Ausgabeparameter
-
dms.GetDeletedObjects — Suche nach gelöschten Objekten mit identischem DMSQuery-Format
-
dms.ConvertQuery — Konvertiert eine DMSQuery zwischen verschiedenen Bezeichnerformaten (Name, interner Name, GUID, DB-Name)
-
dms.AddStoredQuery — Gespeicherte Suchanfrage anlegen
-
dms.GetStoredQuery — Gespeicherte Suchanfrage abrufen
-
dms.ExecuteStoredQuery — Gespeicherte Suchanfrage ausführen
-
dms.UpdateStoredQuery — Gespeicherte Suchanfrage aktualisieren
-
dms.RemoveStoredQuery — Gespeicherte Suchanfrage löschen