Benutzer-Werkzeuge

Webseiten-Werkzeuge


engine:procedures:st_getdirectsuccessors_tree_ad

st_GetDirectSuccessors_Tree_Ad

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-MethodGET
HTTP-AuthOptional
Tags
Engine-Kategoriestatistics
Engine-TypDaten-Ermittlung
Letzte Aktualisierung7.0.7 (2015-01-29)

Parameter

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 !)
integer3.5.6
FromDate Start-Zeitpunkt des zu untersuchenden Zeitraums
datetime3.5.6
ToDate End-Zeitpunkt des zu untersuchenden Zeitraums
datetime3.5.6
BasicCharacteristicNo11 ID einer Basis-Kennzahl (Pflichtangabe), zu der für die ausgegebenen Elemente jeweils die gespeicherte statistische Informationen ermittelt werden soll
tinyint3.5.6
Weight_BasicCharacteristicNo10.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
BasicCharacteristicNo22 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“.
tinyint3.5.6
Weight_BasicCharacteristicNo20.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
BasicCharacteristicNo34 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“.
tinyint3.5.6
Weight_BasicCharacteristicNo30.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
SourceTableForStatistics1 Hierdurch wird angegeben, aus welchen Tabellen die statistischen Informationen gesammelt werden sollen…
„1“ : „TreeNodeCharacteristicNos_PD“
„2“ : „TreeNodeCharacteristicNos_PW“
„3“ : „TreeNodeCharacteristicNos_PM“
tinyint3.5.6
DisplayOnlyActive0 Sollen nur die aktiven („Active = 1“ in „TreeView“) Elemente angezeigt werden ? (siehe auch Beschreibung !)
bit3.5.7

Rückgabe

(parameterunabhängig)

Spaltenname Beschreibung SQL-Datentyp4) ab Version
NodeDescriptionBezeichnung der „NodeID“
varchar(100)3.5.6
TreeNodeIDID eines Elementes im Artikelbaum
integer3.5.6
NodeIDID des zur „TreeNodeID“ gehörenden Artikel-Elementes
integer3.5.6
HTreeNodeIDID 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
integer3.5.6
FromDateBeginn des Gültigkeitszeitraums für „HTreeNodeID“ als String (Format „12.04.2000 17:44:13“)
varchar(30)3.5.6
ToDateEnde des Gültigkeitszeitraums für „HTreeNodeID“ als String (Format „12.04.2000 17:44:13“)
varchar(30)3.5.6
PredecessorID des Vorgängers von „TreeNodeID“ (im Zeitraum „FromDate“ bis „ToDate“)
integer3.5.6
LevelNoNummer der Hierarchie der „NodeID“
tinyint3.5.6
TreeLevelAnzahl Vorgänger von „TreeNodeID“ plus 1
tinyint3.5.6
HasSuccessorsHat „TreeNodeID“ selbst Nachfolger ?
bit3.5.6
HasNextSiblingGibt 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“ ?
bit3.5.6
ActiveIst „TreeNodeID“ z.Zt. aktiviert ? („0“ : Nein, „1“ : Ja)
bit3.5.6
DeletedIst „TreeNodeID“ bereits gelöscht ? („0“ : Nein, „1“ : Ja)
bit3.5.6
TotalValue_BasicCharacNo1Wert zur Basis-Kenzahl „BasicCharacteristicNo1“ zum Element „HTreeNodeID“
decimal(12,2)3.5.6
RelativeValue_BasicCharacNo1Prozentualer 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_BasicCharacNo2Wert zur Basis-Kenzahl „BasicCharacteristicNo2“ zum Element „HTreeNodeID“. Falls „BasicCharacteristicNo2 = NULL“ angegeben wurde, steht hier immer „0.00“.
decimal(12,2)3.5.6
RelativeValue_BasicCharacNo2Prozentualer 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_BasicCharacNo3Wert 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_BasicCharacNo3Prozentualer 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_IndexZusammengesetzte Kennzahl nach der Formel :
(TotalValue_BasicCharacNo1 * Weight_BasicCharacteristicNo1) + (TotalValue_BasicCharacNo2 * Weight_BasicCharacteristicNo2) + (TotalValue_BasicCharacNo3 * Weight_BasicCharacteristicNo3)
decimal(12,2)3.5.6
RelativeValue_IndexProzentualer Anteil von „TotalValue_Index“ zur Summe von „TotalValue_Index“ aller Elemente mit dem Vorgänger „Predesessor“.
decimal(5,2)3.5.6
MaxRelativeValuePerPredecessorDas 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_IndexPerPredDas Maximum aller Werte für „RelativeValue_Index“ von Elementen, die als Vorgänger ebenfalls „Predecessor“ besitzen (siehe Beschreibung)
decimal(5,2)3.5.6

Output-Parameter

Die Prozedur hat keine Output-Parameter.

Mögliche Return-Codes

Code Beschreibung Quelle 5)
-569Der Benutzer hat kein Ausführungsrecht für die Prozedurnur indirekt
-567Die Prozedur darf z. Zt. nicht ausgeführt werdennur indirekt
-566Die Prozedur darf mit den übergebenen Parametern nicht ausgeführt werdennur indirekt
-535Das Datum liegt nicht in der Vergangenheitnur indirekt
-530Der Wert ist nicht konvertierbarnur indirekt
-510Der Benutzer ist nicht registriertnur indirekt
-504Es ist ein Problem aufgetreten, das nicht gelöst werden kann, Prozedur wird daher abgebrochennur indirekt
-500Falsche Parameterdirekt und indirekt
-410Für den Zeitraum der Auswertung sind nicht mehr alle Daten vorhandennur direkt
-120Der Benutzer hat keine Berechtigung für das (die) Element(e)nur direkt

XML-Schema

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

Historie

7.0.7 2015-01-29Interne Änderung : Datentyp-Erweiterung des „ReferenceKey“ [für „_mi_StartProcedure“-Aufruf]
5.1.2 2006-06-26Die [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-29Ab 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-301. 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-03Fehler 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-17Erstmalig 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 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 -
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'),
	'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();
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="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>
1)
Pflichtparameter sind unterstrichen
5)
direkt meint „von der Prozedur selber“ und indirekt meint „von intern aufgerufenen Unterprozeduren“
6)
I.d.R. auf Unix-artigen Systemen bereits installiert, Bestandteil der libxml2, siehe http://www.xmlsoft.org
engine/procedures/st_getdirectsuccessors_tree_ad.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)