dms.XMLUpdate
Dieser Job ändert das angegebene Objekt. Es kann ein Ordner, Register oder Dokument aktualisiert werden. Ist das einzufügende Objekt ein Dokument, können der Datei-Liste Pfade auf Dateien übergeben werden. Ob diese Dateien die bestehenden ersetzen oder an diese angehängt werden sollen wird durch die Option REPLACEFILES bestimmt.
Dokumente können zu Verweisdokumenten gemacht werden, solange sie keine Dateien besitzen. Dieses geschieht durch das Setzen des Systemfeldes 'Fremd-ID' (und evtl. System-ID). Für Verweisdokumente gilt ähnliches: Sie können wieder zu Dokumenten gemacht werden, indem die Fremd-ID (und evtl. System-ID) geleert werden. Dieses geschieht durch Setzen der Systemfelder mithilfe des Attributes 'field_function' und dem Wert 'NULL'.
Durch Angabe des Systemfelds 'Besitzers' kann der Besitzer geändert werden. Dieser darf jedoch nicht mittels der GUID angegeben werden, sondern muss als Wert dem Benutzernamen entsprechen.
Wird im Object Tag das Attribut 'concurrency_timestamp' mit einem Wert gefüllt, so wird überprüft, ob sich das der Datensatz seit dem letzten Abruf des Datensatzes des Aufrufers geändert hat, und liefert einen Fehler zurück. So kann verhindert werden, dass Änderungen, die zwischen dem Abruf und der gewünschten Änderung, vorgenommen werden, verloren gehen.
Standardmäßig werden Zeilen von Tabellencontrols an die bestehenden Daten angehängt. Wird im <Row>- Element das Attribut 'line' mit einer Zeilennummer gesetzt, wird die betreffende Zeile aktualisiert. Die Nummerierung der Zeilen ist dabei 1-basiert. Wird die Job Option REPLACETABLEFIELDS gesetzt, werden alle bestehenden Zeilen vollständig durch die neuen Daten ersetzt.
Die Job Option REPLACEREMARKS legt fest, ob beim Anlegen von Notizen oder Verknüpfungen alle bestehenden Notizen und ebenfalls alle bestehenden Verknüpfungen gelöscht werden oder die Notizen und Verknüpfungen hinzugefügt werden (Default). 'RemarkText' und 'RemarkObject' haben das Attribut 'action' mit folgenden Werten: INSERT (Default), DELETE, UPDATE, UPDATE_TEXT, UPDATE_COLOR. Bestehende Notizen werden über die ID (remark_id), Verknüpfungen über Objekt-ID und Objekttyp-ID des verknüpften Objekts angegeben.
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) |
|
STRING |
Ja |
bestimmt den Benutzerkontext (siehe Der Parameter JobUserGUID) |
2. Eingabedateien
| Name | Beschreibung |
|---|---|
|
Pfad und Name des geänderten Dokuments |
|
N-ter Dateipfad als Alternative zur Dateiliste |
3. Rückgabe
(INT): 0 = Job erfolgreich, sonst Fehlercode
Vollständige Fehlerliste
Keine jobspezifischen Rückgabewerte.
| Die folgenden XML-Beispiele enthalten immer alle Tags und Tag-Attribute, die für die jeweilige Aktion verwendet werden können. Nicht benötigte Tags bzw. Attribute können natürlich weggelassen werden. |
<?xml version="1.0" encoding="UTF-8"?>
<DMSData>
<Archive id="-1" internal_name="press_archive">
<ObjectType id="-1" internal_name="press_archive_folder" type="FOLDER">
<Object object_id="54">
<Fields>
<Field system="0" internal_name="subject_area">Softwareentwicklung</Field>
<Field dbname="feld2" system="0">Testbenutzer</Field>
</Fields>
<TableFields>
<TableField dbname="Tabelle" system="0">
<Row>
<Field internal_name="designation">Dokumentation</Field>
</Row>
</TableField>
</TableFields>
<Remarks>
<RemarkText action="INSERT" color="WHITE">Eine Notiz zum Ordner.</RemarkText>
<RemarkObject action="INSERT" object_id="123" object_type="196616">Verknüpfungstext</RemarkObject>
</Remarks>
</Object>
</ObjectType>
</Archive>
</DMSData>
<?xml version="1.0" encoding="UTF-8"?>
<DMSData>
<Archive id="-1" internal_name="press_archive">
<ObjectType id="-1" internal_name="year_2004" type="REGISTER">
<Object object_id="78">
<Fields>
<Field system="0" internal_name="category">Neuentwicklung</Field>
</Fields>
<TableFields>
<TableField internal_name="table_topics">
<Row>
<Field internal_name="topic">Dokumentenmanagement</Field>
</Row>
</TableField>
</TableFields>
<Remarks>
<RemarkText action="INSERT" color="WHITE">Eine Notiz zum Register.</RemarkText>
<RemarkObject action="INSERT" object_id="234" object_type="196616">Verknüpfungstext</RemarkObject>
</Remarks>
</Object>
</ObjectType>
</Archive>
</DMSData>
<?xml version="1.0" encoding="UTF-8"?>
<DMSData>
<Archive id="-1" internal_name="press_archive">
<ObjectType id="-1" maintype="4" cotype="0" internal_name="word_documents" type="DOCUMENT">
<Object object_id="221" register_id="-1" variantparent_id="-1" maintype="0">
<Fields>
<Field system="0" internal_name="author">Testuser</Field>
</Fields>
<MultiFields>
<MultiField system="0" osguid="2AED8A3399EE778DS4ECBFDB582">
<Page id="1">
<Value>345</Value>
</Page>
<Page id="2">
<Value>123</Value>
</Page>
</MultiField>
</MultiFields>
<TableFields>
<TableField name="Tabelle">
<Row>
<Field name="Team">Entwicklung</Field>
<Field internal_name="feld2">Status: freigegeben</Field>
</Row>
</TableField>
<TableField osguid="AAED8A3C99EED78DS4ECBFDB586">
<Row>
<Field dbname="fd1">Jahr 2004</Field>
</Row>
</TableField>
</TableFields>
<Remarks>
<RemarkText action="INSERT" color="BLUE">Eine Notiz zum Dokument.</RemarkText>
<RemarkObject action="INSERT" object_id="432" object_type="196616">Verknüpfungstext</RemarkObject>
</Remarks>
</Object>
</ObjectType>
</Archive>
</DMSData>