Erstellt, ändert oder löscht Merkmal-Kategorien.
Diese dienen dazu, für einen Personen-Typ festzulegen, zu welchen Merkmalen Personen dieses Typs Eigenschaften haben können und zu welchen Merkmalen Eigenschaften beim Neuanlegen einer Person angegeben werden müssen. Außerdem können so logische Gruppen von Merkmalen (wie „Adreßdaten“, „Kreditkartendaten“ etc.) gebildet werden.
Wichtige Hinweise :
1. Sobald es eine (oder mehrere) Person(en) mit einer Eigenschaft zu EINEM (oder mehreren) Merkmal(en) der Kategorie gibt, kann diese Kategorie NICHT mehr geändert oder gelöscht werden !
Ausnahme : Die Bezeichnung (→ „CategoryDescription“) alleine kann jederzeit geändert werden.
2. Soll der Personen-Typ einer Kategorie geändert werden, überprüft die Prozedur, ob es nicht bereits eine andere Kategorie für diesen Typ gibt, der Pflicht-Merkmale („Required = 1“ in „PersonCharacteristics“) zugordnet sind. Ist dies der Fall, schlägt die Änderung fehl.
HTTP-Method | POST |
HTTP-Auth | Optional |
Alias | pm_ModifyPersonCharacteristicCategories_Ad |
Tags | |
Engine-Kategorie | configurations |
Engine-Typ | Daten-Änderung |
Letzte Aktualisierung | 7.0.7 (2015-01-29) |
Name 1) | Standard-Wert | Beschreibung 2) | SQL-Datentyp3) | ab Version |
---|---|---|---|---|
PersonCharacCategoryID | NULL | ID einer Kategorie von Personen-Merkmalen. „NULL“ angeben, um eine neue Kategorie anzulegen. | tinyint | 3.5.0 |
CategoryDescription | Bezeichnung der Kategorie „PersonCharacCategoryID“ bzw. der neu anzulegenden Kategorie | varchar(100) | 3.5.0 | |
PersonTypeID | ID eines Personen-Typs, auf den sich die (neue) Kategorie bezieht | tinyint | 3.5.0 | |
DeletePersonCharacCategory | 0 | Wird nur beachtet, falls eine „PersonCharacCategoryID“ angegeben wurde. Diese soll dann… „0“ : geändert „1“ : gelöscht … werden. | bit | 3.5.0 |
Die Prozedur hat keine Rückgaben.
Die Prozedur hat keine Output-Parameter.
Code | Beschreibung | Quelle 4) |
---|---|---|
-686 | Die Merkmal-Kategorie kann nicht geändert/gelöscht werden, da bereits Personendaten existieren | nur direkt |
-680 | Es darf zu einem Personen-Typ nur genau eine Merkmal-Kategorie mit Pflichtmerkmalen existieren | nur direkt |
-569 | Der Benutzer hat kein Ausführungsrecht für die Prozedur | nur indirekt |
-567 | Die Prozedur darf z. Zt. nicht ausgeführt werden | nur indirekt |
-566 | Die Prozedur darf mit den übergebenen Parametern nicht ausgeführt werden | nur indirekt |
-535 | Das Datum liegt nicht in der Vergangenheit | nur indirekt |
-530 | Der Wert ist nicht konvertierbar | nur indirekt |
-510 | Der Benutzer ist nicht registriert | nur indirekt |
-504 | Es ist ein Problem aufgetreten, das nicht gelöst werden kann, Prozedur wird daher abgebrochen | direkt und indirekt |
-502 | Die Parameter-Werte der Prozedur können nicht verarbeitet werden (kein passendes Trennzeichen) | nur indirekt |
-500 | Falsche Parameter | direkt und indirekt |
Die Rückgabe erfolgt als XML-Dokument welches gegen das Schema Response/EngineProcedure_v1_0.xsd validiert.
7.0.7 | 2015-01-29 | Interne Änderung : Datentyp-Erweiterung des „ReferenceKey“ [für „_mi_StartProcedure“-Aufruf] |
6.5.4 | 2013-04-29 | Anpassungen an aktuellen Code-Standard, u.a. wg. UTF8-Unterstützung |
6.0.0 | 2010-03-26 | Ab jetzt wird bei Neu-Anlage einer Kategorie nach einer freien ID gesucht, falls die Grenze von „255“ erreicht ist |
5.5.0 | 2008-01-07 | 1. Ab jetzt kann die Bezeichnung alleine jederzeit geändert werden 2. Ausgabe an die Standard-Ausgabe [via „print“] im Fehler-Fall „-500“, die nähere Informationen über die Ursache enthält |
4.0.15 | 2004-07-30 | 1. Aufruf der Prozeduren „_mi_StartProcedure“, „_mi_FinishProcedure“ und „_mi_ChooseParamValueSeperator“ 2. Ausführen von „set transaction isolation level 1“ und „set rowcount 0“ zu Beginn der Prozedur 3. Konsequente Fehlerbehandlung |
3.5.13 | 2001-12-06 | |
3.5.0 | 2000-11-23 | Erstmalig in dieser Version erstellt |
Der folgende Link öffnet in einem separaten Fenster den Engine Playground der fest mit dem dbap-demo System verbunden ist:
Unformatierte Ausgabe:
curl -X POST 'http://<partner>-<project>.dstore.de/default/engine/pm_ModifyPersonCharacCats_Ad?CategoryDescription=<value>&PersonTypeID=<value>'
Mit xmllint 5) formatierte Ausgabe:
curl -X POST 'http://<partner>-<project>.dstore.de/default/engine/pm_ModifyPersonCharacCats_Ad?CategoryDescription=<value>&PersonTypeID=<value>' | xmllint --format -
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_ModifyPersonCharacCats_Ad', array( 'CategoryDescription' => '<value>', 'PersonTypeID' => <value>, // 'PersonCharacCategoryID' => NULL, // 'DeletePersonCharacCategory' => 0 ) ); $service->execute($request); $xml_result = $request->getResponse()->getBody()->toSimpleXmlDocument(); $ResultSet = $xml_result->getRowsAsArray();
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_ModifyPersonCharacCats_Ad"> <Parameters> <Parameter Name="CategoryDescription"><!-- varchar value --></Parameter> <Parameter Name="PersonTypeID"><!-- tinyint value --></Parameter> <!-- <Parameter Name="PersonCharacCategoryID">NULL</Parameter> --> <!-- <Parameter Name="DeletePersonCharacCategory">0</Parameter> --> </Parameters> </Procedure> </Batch> </ListOfBatches>