Benutzer-Werkzeuge

Webseiten-Werkzeuge


engine:procedures:pm_updatepossibleduplicates_ad

pm_UpdatePossibleDuplicates_Ad

Führt einen Dubletten-Check für eine Person durch und trägt das Ergebnis in „PossibleDuplicates“ ein.

Hinweis zum Dubletten-Check :

1. Beim Ändern von Personendaten, also auch insbesondere beim Anlegen neuer Personen, kann ein Dubletten-Check durchgeführt werden. Vorraussetzung dafür ist zum einen, daß der „PersonTypeSettings“-Eintrag „CharacteristicsForDuplicateSearch“ für den entsprechenden Personen-Typ konfiguriert ist oder „_ac_ExecuteDuplicateCheck“ (individuell) implementiert ist. Standardmäßig ist die Prozedur „_ac_ExecuteDuplicateCheck“ so codiert, daß eine „Action“ angelegt wird, die als Parameter die betroffene „PersonID“ (zur „KeyVariable = AffectedPersonID“) sowie zur „KeyVariable = ActionInsertedByProcedure“ den Prozedurnamen „_ac_ExecuteDuplicateCheck“ besitzt.
Es ist dann noch ein entsprechendes Skript/Programm einzurichten, das diese Actions abarbeitet, d.h. letztlich die Prozedur pm_UpdatePossibleDuplicates_Ad aufruft. Die Prozedur „_ac_ExecuteDuplicateCheck“ legt diese Action aber nur an, wenn der besagte „PersonTypeSettings“-Eintrag vorhanden ist. Diese Prozedur kann natürlich (wie alle „ac“-Prozeduren) individuell angepaßt werden.

2. Soll ein Dubletten-Check ohne Verzögerung durchgeführt werden, d.h. transaktionssicher zusammen mit dem Anlegen der Personendaten, ist der „PersonTypeSettings“-Eintrag „ExecDuplicateCheckImmediately“ für den entsprechenden Personen-Typ auf „1“ zu setzen. In diesem Fall wird eine interne Prozedur aufgerufen, die den Dubletten-Check durchführt und dazu den bereits erwähnten Eintrag aus „PersonTypeSettings“ zum Schlüssel „CharacteristicsForDuplicateSearch“ ZWINGEND benötigt (ansonsten gibt es zwar keinen Fehler, es wird aber auch nichts weiter ausgeführt) !

HTTP-MethodPOST
HTTP-AuthOptional
Tags
Engine-Kategorieperson management
Engine-TypDaten-Änderung
Letzte Aktualisierung7.0.7 (2015-01-29)

Parameter

Name 1) Standard-Wert Beschreibung 2) SQL-Datentyp3) ab Version
PersonID ID einer Person, für die eine Suche nach möglichen Dubletten durchgeführt werden soll
integer3.5.0

Rückgabe

Die Prozedur hat keine Rückgaben.

Output-Parameter

Die Prozedur hat keine Output-Parameter.

Mögliche Return-Codes

Code Beschreibung Quelle 4)
-621Fehlender oder falscher Eintrag in PersonTypeSettingsnur indirekt
-569Der Benutzer hat kein Ausführungsrecht für die Prozedurnur indirekt
-567Die Prozedur darf z. Zt. nicht ausgeführt werdennur indirekt
-566Die Prozedur darf mit den übergebenen Parametern nicht ausgeführt werdennur indirekt
-535Das Datum liegt nicht in der Vergangenheitnur indirekt
-530Der Wert ist nicht konvertierbarnur indirekt
-510Der Benutzer ist nicht registriertnur indirekt
-504Es ist ein Problem aufgetreten, das nicht gelöst werden kann, Prozedur wird daher abgebrochennur indirekt
-500Falsche Parameternur indirekt

XML-Schema

Die Rückgabe erfolgt als XML-Dokument welches gegen das Schema Response/EngineProcedure_v1_0.xsd validiert.

Historie

7.0.7 2015-01-29Interne Änderung : Datentyp-Erweiterung des „ReferenceKey“ [für „_mi_StartProcedure“-Aufruf]
4.0.15 2004-07-301. Aufruf der Prozeduren „_mi_StartProcedure“ und „_mi_FinishProcedure“
2. Ausführen von „set transaction isolation level 1“ und „set rowcount 0“ zu Beginn der Prozedur
4.0.5 2003-10-04An der Prozedur wurde nichts geändert ! Nur die Dokumentation hat sich (aufgrund der Umstellung einiger „Settings“-Einträge nach „PersonTypeSettings“) geändert.
3.5.0 2000-11-23Erstmalig in dieser Version erstellt

Code-Snippets

Engine Playground

Der folgende Link öffnet in einem separaten Fenster den Engine Playground der fest mit dem dbap-demo System verbunden ist:

cURL

Unformatierte Ausgabe:

curl -X POST  'http://<partner>-<project>.dstore.de/default/engine/pm_UpdatePossibleDuplicates_Ad?PersonID=<value>'

Mit xmllint 5) formatierte Ausgabe:

curl -X POST  'http://<partner>-<project>.dstore.de/default/engine/pm_UpdatePossibleDuplicates_Ad?PersonID=<value>' | xmllint --format -
dStore_php
use dStore_php\WebService;
 
$service = new WebService\Service( WebService\Scheme::HTTP,'<partner>-<project>.dstore.de', 80);
 
$request = new WebService\Requests\Engine\Procedure\Request(
			new WebService\Requests\AccessData('default'),
	'pm_UpdatePossibleDuplicates_Ad',
		array(
			'PersonID' => <value>
		)
);
 
$service->execute($request);
 
			$xml_result = $request->getResponse()->getBody()->toSimpleXmlDocument();
			$ResultSet = $xml_result->getRowsAsArray();
engine/execute

XML zur Ausführung mit der Methode engine/execute, z.B. per

curl --header 'Content-Type: application/xml' -X POST 'http://<partner>-<kunde>.dstore.de/default/engine/execute' -d '<xml-daten>'
<?xml version="1.0" encoding="UTF-8"?>
<ListOfBatches>
	<Batch No="0">
		<Procedure Name="pm_UpdatePossibleDuplicates_Ad">
			<Parameters>
				<Parameter Name="PersonID"><!-- integer value --></Parameter>
			</Parameters>
		</Procedure>
	</Batch>
</ListOfBatches>
1)
Pflichtparameter sind unterstrichen
4)
direkt meint „von der Prozedur selber“ und indirekt meint „von intern aufgerufenen Unterprozeduren“
5)
I.d.R. auf Unix-artigen Systemen bereits installiert, Bestandteil der libxml2, siehe http://www.xmlsoft.org
engine/procedures/pm_updatepossibleduplicates_ad.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)