Erstellt oder löscht Zuordnungen von Binärobjekten zu Personen.
Anmerkungen zum Parameter „BinaryCodeID“ :
1. Falls hierfür „NULL“ übergeben wird, erwartet die Prozedur ein neues Binärobjekt in „tempdb.dbo.ImageData“ (als „SortNo“ muß „1“ angegeben sein, das Feld „Format“ hat derzeit keine Bedeutung). Etwaige Eigenschaften („BinaryProperties“) werden in der Tabelle „tempdb.dbo.CharacteristicValues“ erwartet. In dieser Tabelle müssen zumindest die Merkmale mit ID „1“ bzw. „7“ eingetragen sein, da die Dateiendung und der Bildtyp Pflicht-Eigenschaften aller Binärobjekte im „dStore“ sind.
2. Zu jedem Binärobjekt kann ein sogenanntes „Thumbnail“ gespeichert werden (bei Bildern in der Regel eine Miniaturansicht, sonst ein Symbol), dies ist jedoch nicht zwingend erforderlich. Möchte man ein „Thumbnail“ angeben, ist dieses ebenfalls durch einen entsprechenden Datensatz in „tempdb.dbo.ImageData“ anzugeben, und zwar zur „SortNo = 2“.
3. Die Tabelle „tempdb.dbo.ImageData“ wird entgegen der üblichen Vorgehensweise durch die Prozedur automatisch (am Ende) wieder geleert.
HTTP-Method | POST |
HTTP-Auth | Optional |
Tags | |
Engine-Kategorie | person management |
Engine-Typ | Daten-Änderung |
Letzte Aktualisierung | 7.0.7 (2015-01-29) |
Name 1) | Standard-Wert | Beschreibung 2) | SQL-Datentyp3) | ab Version |
---|---|---|---|---|
PersonID | ID einer Person | integer | 3.5.5 | |
BinaryCodeID | ID eines Binärobjektes. Wird „NULL“ (und „Delete = 0“) angegeben, ist ein Binärobjekt in „tempdb.dbo.ImageData“ anzugeben, zugehörige Eigenschaften („Bildtyp“, ID „1“ und „Dateierweiterung“, ID „7“ sind Pflicht !) über „tempdb.dbo.CharacteristicValues“. | integer | 3.5.5 | |
Delete | 0 | „0“ : Eine Zuordnung von „BinaryCodeID“ (bzw. eines neuen Binärobjekts) zur „PersonID erstellen „1“ : Die bestehende Zuordnung von „BinaryCodeID“ zu „PersonID“ löschen | bit | 3.5.5 |
BinaryDescription | NULL | Die Bezeichnung des neu anzulegenden Binärobjektes (falls keine „BinaryCodeID“ angegeben wurde) | varchar(100) | 3.5.11 |
Die Prozedur hat keine Rückgaben.
Die Prozedur hat keine Output-Parameter.
Code | Beschreibung | Quelle 4) |
---|---|---|
-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 | nur 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 |
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 |
4.0.7 | 2004-01-16 | Da es seit 4.0.7 auch eine entsprechende „Pu“-Prozedur gibt, wurde der Code in die neue Prozedur „_pm_ModifyBinariesForPersons“ verlagert |
4.0.4 | 2003-08-26 | Bisher wurden auch Eigenschaften zu Merkmalen mit vordefinierten Werten u.U. neu angelegt [das darf natürlich nicht sein] ! |
3.5.11 | 2001-09-06 | |
3.5.5 | 2001-03-30 | 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_ModifyBinariesForPersons_Ad?PersonID=<value>&BinaryCodeID=<value>'
Mit xmllint 5) formatierte Ausgabe:
curl -X POST 'http://<partner>-<project>.dstore.de/default/engine/pm_ModifyBinariesForPersons_Ad?PersonID=<value>&BinaryCodeID=<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_ModifyBinariesForPersons_Ad', array( 'PersonID' => <value>, 'BinaryCodeID' => <value>, // 'Delete' => 0, // 'BinaryDescription' => NULL ) ); $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_ModifyBinariesForPersons_Ad"> <Parameters> <Parameter Name="PersonID"><!-- integer value --></Parameter> <Parameter Name="BinaryCodeID"><!-- integer value --></Parameter> <!-- <Parameter Name="Delete">0</Parameter> --> <!-- <Parameter Name="BinaryDescription">NULL</Parameter> --> </Parameters> </Procedure> </Batch> </ListOfBatches>