Dient wie im_GetDirectSuccessors_Tree_Ad der Darstellung eines Teilbereichs des Artikelbaums, mit dem Unterschied daß zusätzlich statistische Informationen zu bis zu drei Basis-Kennzahlen ausgegeben werden. Zusätzlich kann man die angegebenen Kennzahlen gewichten (→ „Weight…“-Parameter) und zu einer Kennzahl zusammenfassen lassen.
Hinweise :
1.Falls „HTreeNodeID“ NICHT in dem Zeitraum „FromDate“ bis „ToDate“ gültig ist, gibt es den Fehler „-500“. Der gleiche Fehler tritt auf, falls „FromDate“ nicht angegeben wurde oder „ToDate ⇐ FromDate“ ist. „ToDate = NULL“ ist übrigens erlaubt…
2.Wird eine Basiskennzahl mehrfach über die „BasicCharacteristicNo…“-Parameter angegeben, gibt es „-500“ !
Anmerkung zum Parameter „DisplayOnlyActive“ :
Wenn hierfür „1“ angegeben wird, gibt die Prozedur nur aktive Elemente aus. Es werden aber trotzdem bei der Berechnung der prozentualen Werte im Ergebnis (Rückgabspalten „RelativeValue…“) IMMER ALLE Elemente im Gültigkeitszeitraum herangezogen ! Dies gilt auch für Elemente, für die der Benutzer, der diese Prozedur aufruft, keine Berechtigung hat !
Anmerkung zu den Rückgabespalten „MaxRelativeValuePerPredecessor“ und „MaxRelativeValue_IndexPerPred“ :
Diese Werte haben den Sinn, bei der graphischen Darstellung der prozentualen Werte besser skalieren zu können.
Anmerkungen zum Parameter „HTreeNodeID“ :
1. Erläuterungen zum Begriff „HTreeNodeID“ : siehe im_GetHTreeNodeID_Pu.
2. Durch die „HTreeNodeID“ gibt man an, daß die direkten Nachfolger dieses Elementes ermittelt werden sollen. Wie bei im_GetDirectSuccessors_Tree_Ad sollen aber natürlich die vorherigen Elemente des Baumes (Vorgänger und deren „Geschwister“ von „HTreeNodeID“) ebenfalls angezeigt werden. Da jedoch nicht (nur) der aktuelle Artikelbaum zu berücksichtigen ist, sondern alle Nachfolger, die in einem Zeitraum von „FromDate“ bis „ToDate“ gültig waren/sind, ergibt sich folgende Problematik : Der Vorgänger eines Elementes ist in einem Zeitraum NICHT eindeutig - das ist er nur zu einem ZeitPUNKT. Aus diesem Grund kann die Prozedur die Vorgänger von „HTreeNodeID“ nicht selbst ermitteln, sondern erwartet die „Vorgänger-HTreeNodeID“s in „tempdb.dbo.TwoIDs“ :
ID1 → „TreeLevel“ („1“ ist das oberste Element, „2“ das Nachfolger-Element usw. bis zum direkten Vorgänger-Element von „HTreeNodeID“),
ID2 → HTreeNodeID
ACHTUNG : Die Richtigkeit dieser Vorgänger-Kette wird NICHT geprüft, sondern nur ob sie auch in dem Zeitraum „FromDate“ bis „ToDate“ gültig sind/waren.
Besonderheit : Im Fall „HTreeNodeID = 0“ wird „tempdb.dbo.TwoIDs“ erst gar nicht beachtet, da es sich hierbei ja um das „Root“-Element handelt.
HTTP-Method | GET |
HTTP-Auth | Optional |
Tags | |
Engine-Kategorie | statistics |
Engine-Typ | Daten-Ermittlung |
Letzte Aktualisierung | 7.0.7 (2015-01-29) |
Name 1) | Standard-Wert | Beschreibung 2) | SQL-Datentyp3) | ab Version |
---|---|---|---|---|
HTreeNodeID | ID eines Elementes im Artikelbaum mit Gültigkeitszeitraum, dessen direkte Nachfolger ermittelt werden sollen (siehe auch Beschreibung !) | integer | 3.5.6 | |
FromDate | Start-Zeitpunkt des zu untersuchenden Zeitraums | datetime | 3.5.6 | |
ToDate | End-Zeitpunkt des zu untersuchenden Zeitraums | datetime | 3.5.6 | |
BasicCharacteristicNo1 | 1 | ID einer Basis-Kennzahl (Pflichtangabe), zu der für die ausgegebenen Elemente jeweils die gespeicherte statistische Informationen ermittelt werden soll | tinyint | 3.5.6 |
Weight_BasicCharacteristicNo1 | 0.2 | Gewichtung (Wert zwischen 0 und 1) der Werte zur „BasicCharacteristicNo1“ für den Index (siehe Rückgabespalte „TotalValue_Index“). Es muß gelten : „Weight_BasicCharacteristicNo1 + Weight_BasicCharacteristicNo2 + Weight_BasicCharacteristicNo3 = 1“ ! | decimal(5,4) | 3.5.6 |
BasicCharacteristicNo2 | 2 | ID einer Basis-Kennzahl, zu der für die ausgegebenen Elemente jeweils die gespeicherte statistische Informationen ermittelt werden soll. Wird „NULL“ angegeben, enthalten die Rückgabespalten „…BasicCharacNo2“ und „…CharacNo3“ immer den Wert „0.00“. | tinyint | 3.5.6 |
Weight_BasicCharacteristicNo2 | 0.3 | Gewichtung (Wert zwischen 0 und 1) der Werte zur „BasicCharacteristicNo2“ für den Index (siehe Rückgabespalte „TotalValue_Index“). Es muß gelten : „Weight_BasicCharacteristicNo1 + Weight_BasicCharacteristicNo2 + Weight_BasicCharacteristicNo3 = 1“ ! | decimal(5,4) | 3.5.6 |
BasicCharacteristicNo3 | 4 | ID einer Basis-Kennzahl, zu der für die ausgegebenen Elemente jeweils die gespeicherte statistische Informationen ermittelt werden soll. Wird „NULL“ angegeben, enthalten die Rückgabespalten „…BasicCharacNo3“ immer den Wert „0.00“. | tinyint | 3.5.6 |
Weight_BasicCharacteristicNo3 | 0.5 | Gewichtung (Wert zwischen 0 und 1) der Werte zur „BasicCharacteristicNo3“ für den Index (siehe Rückgabespalte „TotalValue_Index“). Es muß gelten : „Weight_BasicCharacteristicNo1 + Weight_BasicCharacteristicNo2 + Weight_BasicCharacteristicNo3 = 1“ ! | decimal(5,4) | 3.5.6 |
SourceTableForStatistics | 1 | Hierdurch wird angegeben, aus welchen Tabellen die statistischen Informationen gesammelt werden sollen… „1“ : „TreeNodeCharacteristicNos_PD“ „2“ : „TreeNodeCharacteristicNos_PW“ „3“ : „TreeNodeCharacteristicNos_PM“ | tinyint | 3.5.6 |
DisplayOnlyActive | 0 | Sollen nur die aktiven („Active = 1“ in „TreeView“) Elemente angezeigt werden ? (siehe auch Beschreibung !) | bit | 3.5.7 |
Spaltenname | Beschreibung | SQL-Datentyp4) | ab Version |
---|---|---|---|
NodeDescription | Bezeichnung der „NodeID“ | varchar(100) | 3.5.6 |
TreeNodeID | ID eines Elementes im Artikelbaum | integer | 3.5.6 |
NodeID | ID des zur „TreeNodeID“ gehörenden Artikel-Elementes | integer | 3.5.6 |
HTreeNodeID | ID des zur „TreeNodeID“ zugehörigen Elementes aus „HistoryTreeView“ (in dieser ist die Historie des gesamten Artikelbaums abgebildet), das im Zeitraum „FromDate“ bis „ToDate“ gültig ist/war | integer | 3.5.6 |
FromDate | Beginn des Gültigkeitszeitraums für „HTreeNodeID“ als String (Format „12.04.2000 17:44:13“) | varchar(30) | 3.5.6 |
ToDate | Ende des Gültigkeitszeitraums für „HTreeNodeID“ als String (Format „12.04.2000 17:44:13“) | varchar(30) | 3.5.6 |
Predecessor | ID des Vorgängers von „TreeNodeID“ (im Zeitraum „FromDate“ bis „ToDate“) | integer | 3.5.6 |
LevelNo | Nummer der Hierarchie der „NodeID“ | tinyint | 3.5.6 |
TreeLevel | Anzahl Vorgänger von „TreeNodeID“ plus 1 | tinyint | 3.5.6 |
HasSuccessors | Hat „TreeNodeID“ selbst Nachfolger ? | bit | 3.5.6 |
HasNextSibling | Gibt es ein nächstes „Geschwister-Element“, also ein anderes Element des Artikelbaums, das ebenfalls „Predecessor“ als Vorgänger hat und dessen „SortNo“ um 1 niedriger ist als die „SortNo“ von „TreeNodeID“ ? | bit | 3.5.6 |
Active | Ist „TreeNodeID“ z.Zt. aktiviert ? („0“ : Nein, „1“ : Ja) | bit | 3.5.6 |
Deleted | Ist „TreeNodeID“ bereits gelöscht ? („0“ : Nein, „1“ : Ja) | bit | 3.5.6 |
TotalValue_BasicCharacNo1 | Wert zur Basis-Kenzahl „BasicCharacteristicNo1“ zum Element „HTreeNodeID“ | decimal(12,2) | 3.5.6 |
RelativeValue_BasicCharacNo1 | Prozentualer Anteil von „TotalValue_BasicCharacNo1“ (des Elementes „HTreeNodeID“) zur Summe von „TotalValue_BasicCharacNo1“ aller Elemente mit dem Vorgänger-Element „Predesessor“ | decimal(5,2) | 3.5.6 |
TotalValue_BasicCharacNo2 | Wert zur Basis-Kenzahl „BasicCharacteristicNo2“ zum Element „HTreeNodeID“. Falls „BasicCharacteristicNo2 = NULL“ angegeben wurde, steht hier immer „0.00“. | decimal(12,2) | 3.5.6 |
RelativeValue_BasicCharacNo2 | Prozentualer Anteil von „TotalValue_BasicCharacNo2“ (der „HTreeNodeID“) zur Summe von „TotalValue_BasicCharacNo2“ aller Elemente mit dem Vorgänger-Element „Predesessor“. Falls „BasicCharacteristicNo2 = NULL“ angegeben wurde, steht hier immer „0.00“. | decimal(5,2) | 3.5.6 |
TotalValue_BasicCharacNo3 | Wert zur Basis-Kenzahl „BasicCharacteristicNo3“ zum Element „HTreeNodeID“. Falls „BasicCharacteristicNo2 = NULL“ oder „BasciCharacteristicNo3 = NULL“ angegeben wurde, steht hier immer „0.00“. | decimal(12,2) | 3.5.6 |
RelativeValue_BasicCharacNo3 | Prozentualer Anteil von „TotalValue_BasicCharacNo3“ zur Summe von „TotalValue_BasicCharacNo3“ aller Elemente mit dem Vorgänger „Predesessor“. Wurde für „BasicCharacteristicNo2“ oder „BasicCharacteristicNo3“ „NULL“ angegeben, steht hier immer „0.00“. | decimal(5,2) | 3.5.6 |
TotalValue_Index | Zusammengesetzte Kennzahl nach der Formel : (TotalValue_BasicCharacNo1 * Weight_BasicCharacteristicNo1) + (TotalValue_BasicCharacNo2 * Weight_BasicCharacteristicNo2) + (TotalValue_BasicCharacNo3 * Weight_BasicCharacteristicNo3) | decimal(12,2) | 3.5.6 |
RelativeValue_Index | Prozentualer Anteil von „TotalValue_Index“ zur Summe von „TotalValue_Index“ aller Elemente mit dem Vorgänger „Predesessor“. | decimal(5,2) | 3.5.6 |
MaxRelativeValuePerPredecessor | Das Maximum aller Werte für „RelativeValue_BasicCharacNo1“, „RelativeValue_BasicCharacNo2“, „RelativeValue_BasicCharacNo3“ und „RelativeValue_Index“ von Elementen, die als Vorgänger ebenfalls „Predecessor“ besitzen (siehe Beschreibung) | decimal(5,2) | 3.5.6 |
MaxRelativeValue_IndexPerPred | Das Maximum aller Werte für „RelativeValue_Index“ von Elementen, die als Vorgänger ebenfalls „Predecessor“ besitzen (siehe Beschreibung) | decimal(5,2) | 3.5.6 |
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 | direkt und indirekt |
-410 | Für den Zeitraum der Auswertung sind nicht mehr alle Daten vorhanden | nur direkt |
-120 | Der Benutzer hat keine Berechtigung für das (die) Element(e) | nur direkt |
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.2 | 2006-06-26 | Die [entscheidende] Sortierung der Rückgabemenge ist im ASE 15 ohne explizites „ORDER BY“ nicht gewährleistet, daher mußten intern in dieser Prozedure entsprechende Änderungen vorgenommen werden |
5.0.1 | 2005-03-29 | Ab jetzt wird „-500“ zurückgeliefert, falls eine Basiskennzahl mehrfach über die „BasicCharacteristicNo…“-Parameter angegeben wird [bislang gab es dann u.U. falsche Werte] ! |
4.0.15 | 2004-07-30 | 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. Konsequente Fehlerbehandlung |
4.0.0 | 2003-04-03 | Fehler bzgl. der Rückgabespalte „Predecessor“ : Es wurde bislang der AKTUELLE Vorgänger zurückgegeben, was natürlich falsch ist und sich bemerkbar macht, wenn ein Element verschoben wurde ! |
3.5.19 | 2002-06-17 | |
3.5.18 | 2002-05-15 | |
3.5.11 | 2001-09-06 | |
3.5.9 | 2001-06-16 | |
3.5.7 | 2001-05-04 | |
3.5.6 | 2001-04-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/st_GetDirectSuccessors_Tree_Ad?HTreeNodeID=<value>&FromDate=<value>&ToDate=<value>'
Mit xmllint 6) formatierte Ausgabe:
curl -X GET 'http://<partner>-<project>.dstore.de/default/engine/st_GetDirectSuccessors_Tree_Ad?HTreeNodeID=<value>&FromDate=<value>&ToDate=<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'), 'st_GetDirectSuccessors_Tree_Ad', array( 'HTreeNodeID' => <value>, 'FromDate' => <value>, 'ToDate' => <value>, // 'BasicCharacteristicNo1' => 1, // 'Weight_BasicCharacteristicNo1' => 0.2, // 'BasicCharacteristicNo2' => 2, // 'Weight_BasicCharacteristicNo2' => 0.3, // 'BasicCharacteristicNo3' => 4, // 'Weight_BasicCharacteristicNo3' => 0.5, // 'SourceTableForStatistics' => 1, // 'DisplayOnlyActive' => 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="st_GetDirectSuccessors_Tree_Ad"> <Parameters> <Parameter Name="HTreeNodeID"><!-- integer value --></Parameter> <Parameter Name="FromDate"><!-- datetime value --></Parameter> <Parameter Name="ToDate"><!-- datetime value --></Parameter> <!-- <Parameter Name="BasicCharacteristicNo1">1</Parameter> --> <!-- <Parameter Name="Weight_BasicCharacteristicNo1">0.2</Parameter> --> <!-- <Parameter Name="BasicCharacteristicNo2">2</Parameter> --> <!-- <Parameter Name="Weight_BasicCharacteristicNo2">0.3</Parameter> --> <!-- <Parameter Name="BasicCharacteristicNo3">4</Parameter> --> <!-- <Parameter Name="Weight_BasicCharacteristicNo3">0.5</Parameter> --> <!-- <Parameter Name="SourceTableForStatistics">1</Parameter> --> <!-- <Parameter Name="DisplayOnlyActive">0</Parameter> --> </Parameters> </Procedure> </Batch> </ListOfBatches>