Benutzer-Werkzeuge

Webseiten-Werkzeuge


xml:persons_in

persons_in

Diese Schnittstelle dient dem Anlegen und Ändern von Personendaten.

Im XML-Job wird eine Liste von Personen übergeben mit einem eindeutigen Schlüssel als Attribut der Person zur Referenzierung (der sog. „IdentifyingValue“) übergeben. Auf welches Merkmal sich der Referenz-Schlüssel bezieht ist entweder in den ApplicationSettings zum xml_SmartGate hinterlegt oder kann pro Job über ein Attribut gesteuert werden. Typische Referenzen sind Kundennummer oder E-Mail Adresse.

Die Schnittstelle erkennt für jede Person selbstständig ob der Referenz-Schlüssel bereits existiert oder nicht. Existiert der Schlüssel bereits werden die Personendaten geändert, andernfalls wird die Person neu angelegt. Wird die Person neu angelegt ist unbedingt darauf zu achten, dass alle Pflichtmerkmale (auch eventuell Pflichtmerkmale in Kategorien) übergeben werden. Wird die Person geändert, so werden nur die übergebenen Merkmale geändert. Nicht übergebene Merkmale bleiben unverändert.

Ein Job der persons_in Schnittstelle schlägt nicht fehl, wenn das Anlegen oder Ändern von Daten fehlschlägt. Es wird lediglich in den Logfiles ein Vermerk gemacht und die fehlerhaften Datensätze werden in den Tabellen „ImportPersonData_Modify_Errors“ und „ImportPersonData_New_Errors“ geschrieben. Typische Fehler sind falsche Datenformate oder fehlende Pflichtmerkmale.

Neben „einfachen“ Änderungen werden auch inkrementelle Änderungen unterstützt. Es können Zahl-Werte hochgezählt werden, Text-Werte konkateniert werden und Datumswerte um Tage, Monate und Jahre erhöht werden.

Beispieldatei

persons_in_sample1.xml
<?xml version="1.0" encoding="UTF-8" ?>
<ListOfPersons xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="http://resources.dstore.de/xsd/xml_SmartGate/persons_in_v1_0.xsd"
    PersonType="1"
    CreationDate="1237378667">
    <!-- Anlegen einer neuen Person des Typs "Accounts" -->
    <Person IdentifyingValue="klaus@dbap.de">
        <!-- Zuerst die Pflicht-Merkmale für dem Personentyp -->
        <Property Characteristic="E-Mail">klaus@dbap.de</Property>
        <Property Characteristic="Passwort">default</Property>
        <!-- Dann noch das Geburtsdatum -->
        <Property Characteristic="Geburtsdatum">23.02.1976</Property>
    </Person>
    <!-- Inkrementelles Update der Hausnummer: Ralf zieht zwei Häuser weiter -->
    <Person IdentifyingValue="ralf@dbap.de">
        <Property Characteristic="Hausnr" Increment="true">2</Property> 
    </Person>
</ListOfPersons>

Best-Practice

Referenzierung über PersonID

Will man eine Person über die PersonID als Referenz ändern, so wird in der Datei das Attribut IdentifyingCharacteristicID auf „0“ gesetzt und im Identifying Value die PersonID übergeben. Die IdentifyingCharacteristicID gilt für alle Personen der Liste, es ist also nicht möglich innerhalb einer Datei mal über die PersonID und mal über ein Unique-Merkmal zu referenzieren.

persons_in_sample2.xml
<?xml version="1.0" encoding="UTF-8" ?>
<ListOfPersons xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    PersonType="1"
    xsi:noNamespaceSchemaLocation="http://resources.dstore.de/xsd/xml_SmartGate/persons_in_v1_0.xsd"
    IdentifyingCharacteristicID="0"
    CreationDate="1237378667">
    <!-- Änderung der Hausnummer der Person mit der PersonID 13 (da IdentifyingCharacteristicID=0 oben) -->
    <Person IdentifyingValue="13">
        <Property Characteristic="Hausnummer">122</Property>
    </Person>
</ListOfPersons>

Löschen von Daten

Da das Löschen von Personen über die Schnittstelle nicht vorgesehen ist arbeitet man hier in der Regel mit einem „Status“ zum Kunden. Die Werte für den Status sind z.B. „gelöscht“ oder „gesperrt“.

Weiterführende Informationen

xml/persons_in.txt · Zuletzt geändert: 13.11.2014 (Externe Bearbeitung)