Benutzer-Werkzeuge

Webseiten-Werkzeuge


engine:procedures:pm_modifybinariesforpersons_pu

pm_ModifyBinariesForPersons_Pu

Erstellt oder löscht die Zuordnung eines Binärobjektes (ein neues oder ein bestehendes) zu einer Person.

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.

Anmerkung zum Parameter „PersonID“ :

Falls „Binaries“ einer anderen Person bearbeitet werden sollen, ist die entsprechende ID in „PersonID“ anzugeben. Natürlich klappt dies nur, wenn eine bestimmte „Beziehung“ der identifizierten Person zur „PersonID“ besteht :
1. Zugriff ist erlaubt, wenn die identifizierte Person Auftraggeber eines Auftrags ist, bei dem „PersonID“ die Lieferanschrift („DeliveryPersonID“) ist UND der „PersonTypeSettings“-Eintrag zum Schlüssel „UnlimitedAccessToDeliveryPersonData“ (zur „PersonTypeID = 0“) auf „1“ konfiguriert ist.
2. Andernfalls ist der Zugriff nur erlaubt, wenn aktuell eine Beziehung der identifizierten Person zur „PersonID“ besteht, deren „AccessLevel“ (s. gleichnamige Rückgabespalte von pm_GetPersonRelationships_Pu) dies erlaubt.

HTTP-MethodPOST
HTTP-AuthOptional
Tags
Engine-Kategorieperson management
Engine-TypDaten-Änderung
Letzte Aktualisierung5.1.10 (2007-03-12)

Parameter

Name 1) Standard-Wert Beschreibung 2) SQL-Datentyp3) ab Version
PersonIdentificationValues Liste (durch '¶' getrennt) von Werten, die die Person identifizieren. Diese Werte müssen Eigenschaften zu den Merkmal-IDs sein, die in „PersonTypeSettings“ zur „PersonTypeID“ zum Schlüssel „PersonIdentificationIDs“ hinterlegt sind.
varchar(255)4.0.7
PersonTypeID1 ID des Personen-Typs dem die zu identifizierende Person angehört. Dieser muß bei einer Identifizierung immer mit angegeben werden, da die Merkmale zur Identifizierung pro Personentyp variieren können.
tinyint4.0.7
CaseSensitive1 „0“ : Der Vergleich der Identifizierungsdaten erfolgt unabhängig von der Groß- und Kleinschreibung
„1“ : Die Identifizierungsdaten werden EXAKT verglichen
bit4.0.7
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“.
integer4.0.7
Delete0 „0“ : Eine Zuordnung von „BinaryCodeID“ (bzw. eines neuen Binärobjekts) zur identifizierten Person erstellen
„1“ : Die bestehende Zuordnung von „BinaryCodeID“ zur identifizierten Person löschen
bit4.0.7
BinaryDescriptionNULL Die Bezeichnung des neu anzulegenden Binärobjektes (falls keine „BinaryCodeID“ angegeben wurde)
varchar(100)4.0.7
PersonIDNULL ID der Person, zu der die Binärdaten ausgegeben werden sollen. Angeben, falls NICHT die „Binaries“ der identifizierten Person ermittelt werden sollen.
integer5.1.10

Rückgabe

Die Prozedur hat keine Rückgaben.

Output-Parameter

Die Prozedur hat keine Output-Parameter.

Mögliche Return-Codes

Code Beschreibung Quelle 4)
-670Daten anderer Personen können nicht geändert/eingesehen werden, wenn keine entspr. Beziehung bestehtnur direkt
-660Identifikation fehlgeschlagennur indirekt
-624Fehlender oder falscher Eintrag in RelationshipSettingsnur indirekt
-621Fehlender oder falscher Eintrag in PersonTypeSettingsnur indirekt
-599Lizenz ist ungültig oder abgelaufennur indirekt
-500Falsche Parameterdirekt und indirekt

XML-Schema

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

Historie

5.1.10 2007-03-12Neuer Parameter „PersonID“, wobei das neue „AccessLevel“-feature in „PersonRelationships“ beachtet wird
4.0.7 2004-01-16Erstmalig 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_ModifyBinariesForPersons_Pu?PersonIdentificationValues=<value>&BinaryCodeID=<value>'

Mit xmllint 5) formatierte Ausgabe:

curl -X POST  'http://<partner>-<project>.dstore.de/default/engine/pm_ModifyBinariesForPersons_Pu?PersonIdentificationValues=<value>&BinaryCodeID=<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_ModifyBinariesForPersons_Pu',
		array(
			'PersonIdentificationValues' => '<value>',
			'BinaryCodeID' => <value>,
			// 'PersonTypeID' => 1,
			// 'CaseSensitive' => 1,
			// 'Delete' => 0,
			// 'BinaryDescription' => NULL,
			// 'PersonID' => NULL
		)
);
 
$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_ModifyBinariesForPersons_Pu">
			<Parameters>
				<Parameter Name="PersonIdentificationValues"><!-- varchar value --></Parameter>
				<Parameter Name="BinaryCodeID"><!-- integer value --></Parameter>
				<!-- <Parameter Name="PersonTypeID">1</Parameter> -->
				<!-- <Parameter Name="CaseSensitive">1</Parameter> -->
				<!-- <Parameter Name="Delete">0</Parameter> -->
				<!-- <Parameter Name="BinaryDescription">NULL</Parameter> -->
				<!-- <Parameter Name="PersonID">NULL</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_modifybinariesforpersons_pu.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)