Export-AddressXml #
ÜBERSICHT #
Exportiert Adressdaten aus der EULANDA-Datenbank als XML im EULANDA-Adressformat (EULANDA-address.xsd) und kann optional die Firmenstammdaten als zusätzliche Adresse integrieren.
SYNTAX #
Export-AddressXml [-Conn] <__ComObject> [[-WorkingDir] <string>] [[-OutputXml] <string>]
[[-AddressId] <int[]>] [[-AddressMatch] <string[]>] [-WithCompanyData] [[-SellerMatch]
<string>] [[-BreadcrumbRoot] <string>] [-IncludeBreadcrumbTree] [-IncludeBreadcrumbs]
[[-XsdFile] <string>] [-ValidateXml] [-CommentXml] [<CommonParameters>]
BESCHREIBUNG #
Diese Funktion erstellt aus der Tabelle ‘Adresse’ ein strukturiertes XML-Dokument im EULANDA-Adressformat. Die Adressen werden anhand von -AddressId oder -AddressMatch geladen. Wenn beide angegeben sind, haben die IDs Vorrang.
Optional kann mit -WithCompanyData eine zusätzliche Adresse aus den Firmenstammdaten erzeugt und als erste Adresse in die Exportliste eingefügt werden. Der MATCH-Code dieser Firmenadresse ist über -SellerMatch steuerbar (Standard: ‘VERKAEUFER’).
Wichtige Regeln:
- Ohne -AddressId/-AddressMatch ist der Export nur erlaubt, wenn -WithCompanyData gesetzt ist. Dann enthält das XML nur die Firmenadresse.
- Die Firmenadresse wird schema-konform erzeugt (nur Felder, die im EULANDA-address.xsd definiert sind). Felder aus dem Firmenstamm wie CreditorID, LegalNote, Registerdaten oder Bankdaten werden nicht in dieses Adress-XML exportiert.
- Wenn bereits eine Adresse mit demselben MATCH wie -SellerMatch in der Liste enthalten ist, wird sie entfernt, sodass die Firmenadresse eindeutig und an erster Stelle steht.
Zusätzlich kann das XML um Breadcrumb-Daten erweitert werden (Merkmalbaum) und optional gegen ein XSD validiert werden.
PARAMETER #
-Conn #
Type: __ComObject
Offene ADODB-Connection zur EULANDA-SQL-Datenbank.
-WorkingDir #
Type: string
Default: $null
Optionales Arbeitsverzeichnis für Pfadauflösungen.
-OutputXml #
Type: string
Default: $null
Zielpfad der zu erzeugenden XML-Datei. Standard: ‘EULANDA-address.xml’ im Arbeitsverzeichnis.
-AddressId #
Type: int[]
Eine oder mehrere Adress-IDs (Primärschlüssel in ‘Adresse’). Hat Vorrang gegenüber -AddressMatch.
-AddressMatch #
Type: string[]
Eine oder mehrere MATCH-Codes aus der Tabelle ‘Adresse’. Wird verwendet, wenn keine -AddressId angegeben ist.
-WithCompanyData #
Type: switch
Integriert die Firmenstammdaten als zusätzliche Adresse in die Exportliste. Die Firmenadresse wird als erster Datensatz eingefügt.
Wenn weder -AddressId noch -AddressMatch angegeben ist, erzeugt dieser Switch einen Export, der ausschließlich die Firmenadresse enthält.
-SellerMatch #
Type: string
Default: 'VERKAEUFER'
MATCH-Code für die integrierte Firmenadresse. Standard: ‘VERKAEUFER’.
-BreadcrumbRoot #
Type: string
Default: '\'
Startpfad des Merkmalbaums. Standard: “".
-IncludeBreadcrumbTree #
Type: switch
Fügt den globalen Merkmalbaum am Dokumentanfang ein.
-IncludeBreadcrumbs #
Type: switch
Fügt pro Adresse die individuellen Breadcrumb-Pfadlisten ein.
-XsdFile #
Type: string
Default: $null
Optionaler Pfad zum XSD-Schema. Standard: ‘.\schema\EULANDA-address.xsd’ relativ zum Modulordner (Get-EulandaXtoolsPath).
-ValidateXml #
Type: switch
Führt nach dem Export eine Schema-Validierung gegen das XSD durch (falls vorhanden).
-CommentXml #
Type: switch
Fügt XML-Kommentare aus der XSD in das Ergebnisdokument ein (falls XSD vorhanden).
AUSGABEN #
System.String
Gibt den Pfad zur erzeugten XML-Datei zurück.
BEISPIELE #
# Export über Adress-IDs
Export-AddressXml -Conn $Conn -WorkingDir '.\' -OutputXml 'EULANDA-address.xml' -AddressId 4711,4712
# Export über MATCH-Codes
Export-AddressXml -Conn $Conn -WorkingDir '.\' -OutputXml 'EULANDA-address.xml' -AddressMatch 'MUSTERKUNDE','LIEFERANT01'
# Export über MATCH-Codes und zusätzlich Firmenstammdaten als erste Adresse (MATCH=VERKAEUFER)
Export-AddressXml -Conn $Conn -WorkingDir '.\' -OutputXml 'EULANDA-address.xml' -AddressMatch 'MUSTERKUNDE' -WithCompanyData
# Nur Firmenstammdaten exportieren (ohne AddressId/AddressMatch)
Export-AddressXml -Conn $Conn -WorkingDir '.\' -OutputXml 'EULANDA-seller-only.xml' -WithCompanyData
# Firmenstammdaten mit abweichendem MATCH-Code integrieren
Export-AddressXml -Conn $Conn -WorkingDir '.\' -OutputXml 'EULANDA-address.xml' -AddressMatch 'MUSTERKUNDE' -WithCompanyData -SellerMatch 'FIRMA'
# Export mit Breadcrumbs, Merkmalbaum und Schema-Validierung
Export-AddressXml -Conn $Conn -WorkingDir '.\' -OutputXml 'EULANDA-address.xml' -AddressMatch 'MUSTERKUNDE' -IncludeBreadcrumbs -IncludeBreadcrumbTree -ValidateXml
HINWEISE #
Voraussetzungen:
- Offene ADODB-Verbindung (Conn)
- Funktionen: Get-AddressData, Get-CompanyMasterData, Convert-CompanyMasterDataToAddress, Convert-HashtableToXml, Get-SortedXmlString, Resolve-EulandaPath, Get-EulandaXtoolsPath, Test-ValidateXml
- Ausgabe erfolgt als UTF-8 ohne BOM.