Import Sales Order
Zuletzt geändert: 16.04.2026 10:07

Übersicht

Import-SalesOrder #

ÜBERSICHT #

Importiert einen EULANDA-Auftrag aus einer XML-Datei in die Warenwirtschaft.

SYNTAX #

Import-SalesOrder [-XmlFile] <string> [-Conn] <__ComObject> [-CreateAddress] [-CreateArticle]
    [-SkipDuplicateCheck] [<CommonParameters>]

BESCHREIBUNG #

Diese Funktion verarbeitet eine EULANDA-konforme AUFTRAG-XML-Datei und legt den Auftrag mit Kopf- und Positionsdaten über die COM-API in der EULANDA-Datenbank an. Dabei erfolgt zunächst die Adressauflösung über MATCH, GLN, USTID oder EMAIL. Falls keine Adresse gefunden wird aber -CreateAddress gesetzt ist, wird diese implizit angelegt.

Gleiches gilt für Artikelinformationen, wenn kein Artikel gefunden wird und -CreateArticle gesetzt ist, wird der Artikel anhand der Positionsdaten im Artikelstamm neu angelegt.

Mengen- und Preisinformationen werden berücksichtigt, sowie BRUTTOFLG worüber festgelegt wird ob VK mit oder ohne MwSt. zu handhaben ist.

POSITIONS-TEXTE: IDENT, LANGTEXT und KURZTEXT1 #

Das XSD-Schema kennt auf Positionsebene zwei Textfelder: IDENT (Pflicht) und LANGTEXT (optional). EULANDA trennt diese auf Positionsebene in zwei Spalten: AuftragPos.Kurztext1 und AuftragPos.Langtext. Sind die Positions-Spalten leer, zieht EULANDA beim Lesen automatisch die entsprechenden Werte aus dem Artikelstammsatz (Artikel.Kurztext1 bzw. Artikel.Langtext). Nur wenn die Position selbst einen Wert trägt, gewinnt dieser gegenüber dem Stammsatz.

Der Import setzt die Positions-Spalten deshalb so:

  • <LANGTEXT> -> AuftragPos.Langtext: Eins-zu-eins übernommen. Fehlt das Element im XML, bleibt die Spalte leer und der Stammsatz-Langtext gewinnt.
  • <IDENT> -> AuftragPos.Kurztext1: Nur wenn IDENT sich von ARTNUMMER unterscheidet. Sender die IDENT aus der gleichen Quelle wie ARTNUMMER füllen (typisch bei simplen CSV-Integrationen) bekommen damit keinen Kurztext1-Override, und der Stammsatz-Kurztext gewinnt. Nur wenn der Sender bewusst einen eigenen Kurztext in IDENT mitliefert, überschreibt er den Stammsatz.
  • Artikelneuanlage (-CreateArticle): Hier wandert <IDENT> zusätzlich als Kurzbeschreibung in den neuen Artikelstammsatz.

Damit bleibt die EULANDA-Stammsatz-Mechanik intakt: wer etwas Abweichendes liefern will, kann das - wer nichts liefert, bekommt automatisch die Stammsatz-Werte.

PARAMETER #

-XmlFile #

Type: string

Pfad zur EULANDA-AUFTRAG-XML-Datei.

-Conn #

Type: __ComObject

Eine gültige COM-Connection zur EULANDA-Datenbank (z.B.. via VBScript oder PowerShell COM).

-CreateAddress #

Type: switch

Legt die Adresse automatisch neu an, wenn keine anhand der übergebenen Kriterien gefunden wird.

-CreateArticle #

Type: switch

Legt Artikel automatisch neu an, wenn keine passende Artikelnummer oder GTIN gefunden wird.

-SkipDuplicateCheck #

Type: switch

Überspringt die Eindeutigkeitsprüfung der Käufer-Bestellnummer in ‘New-SalesOrder’. Der Aufrufer ist dann selbst für die Vermeidung von Dubletten verantwortlich.

AUSGABEN #

nullable[int]

Gibt die interne ID des in EULANDA erstellten Auftrags zurück. Falls ein Fehler auftritt, erfolgt kein Rückgabewert und es wird eine Ausnahme ausgelöst.

BEISPIELE #

$eulanda = New-Object -ComObject "Eulanda.Client"
$eulanda.Connect("...")
$salesOrderId = Import-SalesOrder -XmlFile "auftrag.xml" -Conn $eulanda -CreateAddress -CreateArticle
Write-Host "Angelegter Auftrag mit ID: $salesOrderId"

HINWEISE #

  • Die Funktion prüft intern auf Mussfelder und eindeutige Zuordnungen.
  • Fehler führen zu einem sofortigen Abbruch.
  • Die Verarbeitung ist vollständig transaktionslos - Commit-Logik muss ggf. extern erfolgen.