Gibt Einträge aus der Tabelle „LockedNodeCharacteristics“ aus. In dieser Tabelle ist festgehalten, welche Merkmale für welche Benutzer wie gesperrt sind.
Derzeit kann nach vier Berechtigungs-Arten unterschieden werden :
Grundsätzlich gilt : Eine „GLOBALE“ Konfiguration (intern zur „UserID = -1“) wird von einer DIREKTEN Konfiguration (für einen bestimmen Benutzer) überschrieben.
HINWEIS wie „Neu-Anlage“, „Ändern“ und „Löschen“ von Eigenschaften jeweils zu verstehen ist :
(1) Allgemeines :
Artikel-Elementen zugewiesene Eigenschaften sind IMMER nur in einem Zeitraum gültig - insbesondere ist „unendlich“ gültig so implementiert, daß das Ende des Zeitraums der größt-mögliche Datumswert (derzeit „31.12.9999 23:59:59:999“) ist. Außerdem ist es generell nicht möglich, Zeiträume mit einem Beginn in der Vergangenheit einzufügen.
(2) Definitionen der einzelnen Modifikations-Arten :
Sei der Beginn eines Gültigkeitszeitraums, in dem eine Eigenschaft zugewiesen werden soll, nun „FROM“, und das Ende „TO“ benannt. Wenn wir außerdem den Beginn eines bestehenden Gültigkeitszeitraums, in dem bereits eine Eigenschaft zugewiesen ist, „FROM_alt“, das Ende „TO_alt“ nennen, ergeben sich folgende Definitionen :
(i) Löschen :
Gibt es einen Zeitraum „FROM_alt“ bis „TO_alt“, der einen Teil enthält, in dem das betroffene Artikel-Element nach der Änderung KEINE Eigenschaft besitzt, handelt es sich um einen LÖSCH-Vorgang.
(ii) Neu-Anlage :
Hatte ein Element vor der Änderung in einem Teil des neuen Zeitraums „FROM“ bis „TO“ keine Eigenschaft zum Merkmal, handelt es sich um eine NEU-Anlage.
(iii) Ändern :
Gibt es einen Zeitraum „FROM_alt“ bis „TO_alt“, der sich mit dem neuen Zeitraum „FROM“ bis „TO“ überschneidet, wird eine Eigenschaft geÄNDERT.
⇒ Daher kann es durchaus vorkommen, daß mit einer Modifikation (durch im_ModifyNodeProperties_Ad z.B.) gleich ZWEI Fälle (z.B. Ändern und Hinzufügen) eintreten.
Hinweis zur Rückgabespalte „LockStatus“ :
Ist hier „0“ konfiguriert, bedeutet dies „Keine Sperrung“, d.h. Eigenschaften zum Merkmal dürfen sowohl gelesen als auch bearbeitet werden. Dies ist dann sinnvoll, wenn man für ALLE BENUTZER (d.h. zur „UserID = -1“) eine „Sperre“ konfiguriert hat, aber für einen bestimmten Benutzer diese Sperre wieder aufheben möchte.
HTTP-Method | GET |
HTTP-Auth | Optional |
Alias | im_GetLockedNodeCharacteristics_Ad |
Tags | |
Engine-Kategorie | item management |
Engine-Typ | Daten-Ermittlung |
Letzte Aktualisierung | 7.0.7 (2015-01-29) |
Name 1) | Standard-Wert | Beschreibung 2) | SQL-Datentyp3) | ab Version |
---|---|---|---|---|
UserID | NULL | ID eines im „dStore“ registrierten Benutzers (aus der Tabelle „UserInfo“), nach dem das Ergebnis eingeschränkt werden soll | smallint | 3.5.20 |
NodeCharacteristicID | NULL | ID eines Merkmals, nach der das Ergebnis eingeschränkt werden soll | smallint | 3.5.20 |
LockStatus | NULL | Falls angegeben, werden nur Datensätze mit einem solchen „LockStatus“ ausgegeben (s. a. Dokumentation der gleichnamige Rückgabespalte) | tinyint | 3.5.20 |
Spaltenname | Beschreibung | SQL-Datentyp4) | ab Version |
---|---|---|---|
UserID | ID eines im „dStore“ registrierten Benutzers (aus der Tabelle „UserInfo“), der nur lesenden oder gar keinen Zugriff auf das Merkmal „NodeCharacteristicID“ hat. | smallint | 3.5.20 |
UserName | Name des Benutzers „UserID“ | varchar(50) | 3.5.20 |
NodeCharacteristicID | ID eines Merkmals auf das der Benutzer „UserID“ nur lesenden oder gar keinen Zugriff hat | smallint | 3.5.20 |
CharacteristicDescription | Bezeichnung des Merkmals „NodeCharacteristicID“ (in der Standardsprache) | varchar(100) | 3.5.20 |
LockStatus | Summe folgender Optionen (s.a. Beschreibung !) : - „1“ : Neu-Anlage von Eigenschaften ist nicht möglich - „2“ : Ändern von Eigenschaften ist verboten - „4“ : Löschen von Eigenschaften ist nicht erlaubt - „8“ : Ermitteln von Eigenschaften ist verboten | tinyint | 3.5.20 |
(parameterunabängige Sortierung)
Die Prozedur hat keine Output-Parameter.
Code | Beschreibung | Quelle 5) |
---|---|---|
-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 |
-500 | Falsche Parameter | nur 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] |
5.1.5 | 2006-08-29 | 1. Der „LockStatus“ ist jetzt völlig anders aufgebaut - BRUCH DER ABWÄRTSKOMPATIBILITÄT ! 2. Sortierung der Ergebnismenge 3. Falsche Index-Angabe in einem Fall 4. Fehlende „set forceplan“-Anweisung |
5.1.1 | 2006-04-05 | Der „LockStatus = 2“ ist ersatzlos weggefallen, da es seit 5.1.0 grundsätzlich verboten ist, Eigenschaften in der Vergangenheit zu ändern ! |
4.0.11 | 2004-03-31 | 1. 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 3. Fehlende Doku der Rückgabemenge |
3.5.20 | 2002-07-22 | 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/im_GetLockedNodeCharacs_Ad'
Mit xmllint 6) formatierte Ausgabe:
curl -X GET 'http://<partner>-<project>.dstore.de/default/engine/im_GetLockedNodeCharacs_Ad' | 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'), 'im_GetLockedNodeCharacs_Ad', array( // 'UserID' => NULL, // 'NodeCharacteristicID' => NULL, // 'LockStatus' => 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="im_GetLockedNodeCharacs_Ad"> <Parameters> <!-- <Parameter Name="UserID">NULL</Parameter> --> <!-- <Parameter Name="NodeCharacteristicID">NULL</Parameter> --> <!-- <Parameter Name="LockStatus">NULL</Parameter> --> </Parameters> </Procedure> </Batch> </ListOfBatches>