dms.XMLImport
Dieser Job ermöglicht das Einfügen oder Aktualisieren eines Objektes in Abhängigkeit des Ergebnisses einer vorhergehenden Suche.
1. Eingabeparameter
| Name | Typ | Pflicht | Beschreibung |
|---|---|---|---|
|
INT |
Ja |
allgemeine Optionen für den Job (siehe Flags) |
|
STRING |
Ja |
Semikolon-separierte Job-Optionen (z. B. ARCHIVABLE=1;CHECKACCESS=0) (siehe Parameter Options) |
|
BASE64 |
Ja |
enthält Objektbeschreibung im XML-Format (siehe DMSData XML-Format und Der Parameter XML) mit der Erweiterung um das Tag |
|
STRING |
Ja |
bestimmt den Benutzerkontext (siehe Der Parameter JobUserGUID) |
|
STRING |
Nein |
Durchzuführende Aktion bei keinem Treffer (s. Aktionstabelle unten) |
|
STRING |
Nein |
Durchzuführende Aktion bei einem Treffer (s. Aktionstabelle unten) |
|
STRING |
Nein |
Durchzuführende Aktion bei mehreren Treffern (s. Aktionstabelle unten) |
3. Ausgabeparameter
| Name | Typ | Abhängigkeit | Beschreibung |
|---|---|---|---|
|
INT |
— |
neue Objektid, wenn Job erfolgreich, ansonsten -1 |
|
INT |
— |
Typ des Objekts, ansonsten -1 |
|
INT |
— |
Anzahl der Treffer der Suche |
|
STRING |
— |
Durchgeführte Aktion. Mögliche Werte: |
4. Ausgabedateien
| Name | Beschreibung |
|---|---|
|
Pfad und Name der XML-Datei mit den Fehlern (siehe Flags) |
5. Rückgabe
(INT): 0 = Job erfolgreich, sonst Fehlercode
Vollständige Fehlerliste
6. Aktionstabelle
| Suchergebnis (Trefferzahl) | Parametername | Möglicher Parameterwert | Erläuterung |
|---|---|---|---|
0 |
|
|
Einfügen (siehe dms.XMLInsert) |
1 |
|
|
Keine Aktion durchführen |
>1 |
|
|
Keine Aktion durchführen |
| Wird der Standort des Objektes vorgegeben oder eingeschränkt, wird dieser Standort sowohl für die Suche als auch zum Einfügen verwendet. Die Suche kann dabei auch zur Bestimmung des Standortes verwendet werden. Wird kein Standort vorgegeben und kein Objekt gefunden, so ist das Einfügen eines Registers oder Dokumentes nicht möglich. In diesem Fall wird eine Fehlermeldung generiert. Werden keine Suchfelder angegeben, wird das Objekt eingefügt. |
dms.XMLImport läuft intern in den INSERT- oder UPDATE-Pfad und löst dort dieselben Datenbank-Side-Effects und Folgejobs aus wie der jeweils zugrundeliegende Job (siehe Folgeverarbeitung und Events).
|
<?xml version="1.0" encoding="UTF-8"?>
<DMSData>
<Archive internal_name="addresses">
<ObjectType internal_name="addresses">
<Object>
<Search>
<Fields>
<Field internal_name="contact_person">Schaumer</Field>
<Field internal_name="first_name">Harald</Field>
</Fields>
</Search>
<Fields>
<Field internal_name="phone">0815-12345</Field>
</Fields>
</Object>
</ObjectType>
</Archive>
</DMSData>
7. Folgeverarbeitung und Events
Ein erfolgreicher Aufruf löst serverintern den Folgejob std.IndexDataChanged aus und erzeugt damit einen Historieneintrag in osobjhist. Die Action richtet sich nach dem gewählten Zweig:
-
Insert-Zweig:
Action=2(Objekt angelegt) -
Update-Zweig:
Action=3(Indexdaten geändert), sofern das XML mindestens ein<Field>enthält
| Der Server vergleicht die übergebenen Werte nicht mit dem Bestand — ein identisch übertragener Wert zählt als Schreibvorgang und löst den Folgejob aus. Die vollständige Übersicht steht unter Auslösung durch die DMS-XML-Jobs. |
Ein Server-Event, das auf die Änderung reagieren soll, wird an diesen Folgejob gebunden, nicht an dms.XMLImport (siehe Indexdatenänderung abfangen).