Get Breadcrumbs
Zuletzt geändert: 14.03.2026 05:56

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>"

HINWEISE #

  • Die Funktion nutzt intern die SQL-Prozedur cn_MerkOpenPath und die Funktion dbo.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.