Get-Breadcrumbs #
ÜBERSICHT #
Ermittelt alle Merkmals-Pfade (Breadcrumbs) eines Datensatzes z.B. in Tabelle ARTIKEL aus der EULANDA-Datenbank und gibt sie als XML-Struktur zurück.
SYNTAX #
Get-Breadcrumbs [-Id] <int> [[-BreadcrumbRoot] <string>] [-Tablename] <string> [<CommonParameters>]
BESCHREIBUNG #
Diese Funktion liest alle hierarchischen Merkmalpfade (sog. Breadcrumbs) zu einem bestimmten Datensatz einer Tabelle, wie ARTIKEL, ADRESSE etc. aus der EULANDA-Datenbank.
Das Ergebnis wird als XML-Text mit einem Wurzelelement <MERKMALLISTE> und einem <MERKMAL>-Element pro Pfad zurückgegeben. Jeder Eintrag enthält das Feld <PFAD>, das den vollständigen Breadcrumb-Pfad (z. B. \Shop\Ersatzteile\Motoren) beschreibt.
Der zurückgegebene XML-Text ist UTF-8-kodiert und enthält keine XML-Deklaration. Er ist dafür vorgesehen, in ein übergeordnetes XML-Dokument – z. B. einen Artikel- oder Serviceartikel-Export – direkt eingebettet zu werden.
PARAMETER #
-Id #
Type: int
Primärschlüssel des Datensatzes (z. B. Artikel-ID), für den die Merkmals-Pfade ermittelt werden sollen.
-BreadcrumbRoot #
Type: string
Default: '\'
Wurzelpfad, ab dem die Breadcrumb-Struktur beginnt. Standard ist ‘'. Typischerweise z. B. ‘\Shop’ oder ‘\Online’.
-TableName #
Type: string
Tabellenname, in dem sich der Datensatz befindet, z. B. ‘Artikel’ oder ‘ServiceArtikel’. Dieser Name wird in der SQL-Abfrage verwendet, um die richtigen Merkmale zu finden.
-Conn #
Offene ADODB-Verbindung zur EULANDA-SQL-Datenbank. Sie muss bereits initialisiert und geöffnet sein, andernfalls wird ein Fehler ausgelöst.
AUSGABEN #
string
XML-Text im Format: xml <MERKMALLISTE> <MERKMAL> <PFAD>\Shop\Ersatzteile\Motoren</PFAD> </MERKMAL> <MERKMAL> <PFAD>\Shop\Ersatzteile\Getriebe</PFAD> </MERKMAL> </MERKMALLISTE>
BEISPIELE #
# Ermittelt alle Breadcrumb-Pfade für Artikel-ID 100 aus der Tabelle 'Artikel'
$xml = Get-Breadcrumbs -Id 100 -TableName 'Artikel' -BreadcrumbRoot '\Shop' -Conn $conn
# Ermittelt Breadcrumbs eines Serviceartikels und fügt sie später in ein Export-XML ein
$breadcrumbXml = Get-Breadcrumbs -Id 200 -TableName 'ServiceArtikel' -BreadcrumbRoot '\' -Conn $conn
[xml]$serviceXml = "<SERVICEARTIKEL></SERVICEARTIKEL>"
VERWANDTE LINKS #
HINWEISE #
- Die Funktion nutzt intern die SQL-Prozedur
cn_MerkOpenPathund die Funktiondbo.cnf_merkpfad. - Pfade, die auf ‘.USER’ enden, werden automatisch ausgeschlossen.
- Die Ausgabe ist als Text gedacht, nicht als [xml]-Objekt.
- Das Resultat kann direkt in eine bestehende XML-Struktur importiert werden.