Ermittelt zu einer beliebigen Anzahl Mitglieder (deren IDs in „tempdb.dbo.OneID“ anzugeben sind) einer Community bestimmte Eigenschaften. Es kann angegeben werden, zu welchen Merkmalen die Eigenschaften zurückgegeben werden sollen, allerdings sind nur die Merkmale erlaubt, die in „CommunitySettings“ zum Schlüssel „PublicCharacteristicIDs“ hinterlegt und zudem „sichtbar“ (s. Thema Zugriffsbeschränkungen bzw. Prozedur pm_GetPChAccRestrForUsers_Ad) sind. Bzgl. der letzteren Bedingung („sichtbar“) gilt aber, daß es KEINEN Fehler gibt, sondern „nicht sichtbare“ Merkmale werden einfach herausgefiltert.
Anmerkung zur Rückgabemenge :
Hat ein Mitglied zu einem (gewünschten) Merkmal KEINE Eigenschaft, dann gibt es gar keinen entsprechenden Datensatz, d.h. in allen Datensätzen ist „ValueID“ NICHT „NULL“.
HTTP-Method | GET |
HTTP-Auth | Optional |
Tags | |
Engine-Kategorie | communities |
Engine-Typ | Daten-Ermittlung |
Letzte Aktualisierung | 6.5.2 (2013-02-26) |
Name 1) | Standard-Wert | Beschreibung 2) | SQL-Datentyp3) | ab Version |
---|---|---|---|---|
CommunityID | ID einer Community. In „tempdb.dbo.OneID“ werden die (Person)IDs der Mitglieder aus dieser Community erwartet, zu denen durch „CharacteristicIDList“ angegebene Eigenschaften ermittelt werden sollen. | smallint | 3.5.19 | |
UniqueID | Eindeutige ID eines Besuchers, die dem zu identifizierenden Mitglied aktuell zugeordnet ist. Falls die Identifizierungsdaten zur Person in „SessionManagement“ (zu dieser „UniqueID“) gespeichert sind, darf „PersonIdentificationValues“ auch „NULL“ sein. | varchar(50) | 3.5.19 | |
PersonIdentificationValues | Liste von Werten, die das Mitglied identifizieren. Diese Werte müssen Eigenschaften zu den Merkmal-IDs sein, die in „PersonTypeSettings“ zur „PersonTypeID“ der „CommunityID“ zum Schlüssel „PersonIdentificationIDs“ hinterlegt sind. | varchar(255) | 3.5.19 | |
CharacteristicIDList | Liste von „PersonCharacteristicID“s (durch '¶' getrennt), zu denen die Eigenschaften (der Mitglieder aus „tempdb.dbo.OneID“) zu ermitteln sind. Es sind nur IDs erlaubt, die in „CommunitySettings“ zum Schlüssel „PublicCharacteristicIDs“ hinterlegt sind ! | varchar(255) | 3.5.19 | |
LanguageID | NULL | Sollen evtl. vorhandene Übersetzungen der Eigenschaften zurückgegeben werden, ist hier die ID der entsprechenden Sprache anzugeben | tinyint | 3.5.19 |
CommunityMemberID | NULL | Falls Eigenschaften für ein einziges Mitglied ermittelt werden sollen, kann man hier die entsprechende (Person)ID angeben - sonst werden die IDs in „tempdb.dbo.OneID“ erwartet. (Alternative : co_GetMemberInformation_Pu) | integer | 3.5.19 |
SeparatorInIdentVals | '¶' | Gibt an, durch welches Zeichenkette die Werte in „PersonIdentificationValues“ getrennt sind | varchar(4) | 5.5.0 |
Spaltenname | Beschreibung | SQL-Datentyp4) | ab Version |
---|---|---|---|
CommunityMemberID | ID eines Mitglieds der Community „CommunityID“. Entweder eine ID aus „tempdb.dbo.OneID“ oder „CommunityMemberID“. | integer | 3.5.19 |
PersonCharacteristicID | ID eines Personen-Merkmals (das durch „CharacteristicIDList“ angegeben wurde) | smallint | 3.5.19 |
ValueID | ID der Eigenschaft „Value“ | integer | 3.5.19 |
Value | Eigenschaft des Mitglieds „CommunityMemberID“ zum Merkmal „PersonCharacteristicID“. Kann aufgrund von Zugriffsbeschränkungen „NULL“ oder unvollständig sein, was dann durch „ValueRestrictedByPattern“ gekennzeichnet ist. | varchar(100) | 3.5.19 |
ValueRestrictedByPattern | Was enthält „Value“ (womöglich wegen Zugriffsbeschränkungen nur einen Teil) ? - NULL : den vollständigen Wert - „#left(<n>)#“ : nur die ERSTEN n Zeichen - „#right(<n>)#“ : nur die LETZTEN n Zeichen Anmerkung : „n = 0“ möglich, „Value“ ist dann „NULL“ | varchar(100) | 6.5.2 |
Die Prozedur hat keine Output-Parameter.
Code | Beschreibung | Quelle 5) |
---|---|---|
-781 | Fehlender oder falscher Eintrag in CommunitySettings | nur indirekt |
-780 | Fehlender oder falscher Eintrag in CommunityMemberSettings | nur indirekt |
-774 | Login vorübergehend gesperrt | nur indirekt |
-773 | Login gesperrt | nur indirekt |
-772 | User ist nicht angemeldet | nur indirekt |
-771 | Der Sweeper ist nicht gestartet | nur indirekt |
-770 | Login zur Zeit nicht möglich | nur indirekt |
-750 | Fehlende Berechtigung für die Anzeige der Daten | nur direkt |
-660 | Identifikation fehlgeschlagen | nur indirekt |
-621 | Fehlender oder falscher Eintrag in PersonTypeSettings | nur indirekt |
-602 | Zur defaultUniqueID („VisitorID = -2“) können keinerlei Daten gespeichert oder verändert werden | nur indirekt |
-599 | Lizenz ist ungültig oder abgelaufen | nur indirekt |
-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 |
-550 | Fehlender oder falscher Eintrag in Settings | 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.
6.5.2 | 2013-02-26 | 1. Interne Anpassungen (Spalte „Visible“ von „PersonCharacteristics“ ist weggefallen) 2. Neue Rückgabespalte „ValueRestrictedByPattern“ 3. Datentyp-Länge von „SeparatorInIdentVals“ wurde erweitert |
5.5.1 | 2008-07-29 | Berücksichtigung des neuen „Settings“-Eintrags „AssignmentMethodForListVariables“ |
5.5.0 | 2008-01-07 | 1. Neuer Parameter „SeparatorInIdentVals“ 2. Interne Änderungen 3. Ab jetzt werden nur noch Datensätze geliefert, wenn tatsächlich eine Eigenschaft vorhanden ist 4. Explizite Sortierung 5. Beschränkung auf „253“ Zeichen in „CharacteristicIDList“ |
4.0.0 | 2003-04-03 | 1. Merkmale mit „Visible = 0“ dürfen nicht beachtet werden 2. Performance-Verbesserung (überfl. Referenz. v. „Persons“, fehl. Konvert. zu „smallint“, so daß der Index nicht voll ausgen. wurde 3. Bei Angabe der IDs über „tempdb.dbo.OneID“ : immer „-500“ |
3.5.19 | 2002-06-17 | 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 GET 'http://<partner>-<project>.dstore.de/default/engine/co_GetMemberProperties_Pu?CommunityID=<value>&UniqueID=<value>&PersonIdentificationValues=<value>&CharacteristicIDList=<value>'
Mit xmllint 6) formatierte Ausgabe:
curl -X GET 'http://<partner>-<project>.dstore.de/default/engine/co_GetMemberProperties_Pu?CommunityID=<value>&UniqueID=<value>&PersonIdentificationValues=<value>&CharacteristicIDList=<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'), 'co_GetMemberProperties_Pu', array( 'CommunityID' => <value>, 'UniqueID' => '<value>', 'PersonIdentificationValues' => '<value>', 'CharacteristicIDList' => '<value>', // 'LanguageID' => NULL, // 'CommunityMemberID' => NULL, // 'SeparatorInIdentVals' => '¶' ) ); $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="co_GetMemberProperties_Pu"> <Parameters> <Parameter Name="CommunityID"><!-- smallint value --></Parameter> <Parameter Name="UniqueID"><!-- varchar value --></Parameter> <Parameter Name="PersonIdentificationValues"><!-- varchar value --></Parameter> <Parameter Name="CharacteristicIDList"><!-- varchar value --></Parameter> <!-- <Parameter Name="LanguageID">NULL</Parameter> --> <!-- <Parameter Name="CommunityMemberID">NULL</Parameter> --> <!-- <Parameter Name="SeparatorInIdentVals">'¶'</Parameter> --> </Parameters> </Procedure> </Batch> </ListOfBatches>