Get Custom Unit From Normalized
Zuletzt geändert: 14.03.2026 05:56

Get-CustomUnitFromNormalized #

ÜBERSICHT #

Ermittelt die kundenspezifische Mengeneinheit zu einer normierten ISO-Einheit (z.B.. “C62”).

SYNTAX #

Get-CustomUnitFromNormalized [[-Unit] <string>] [[-Conn] <__ComObject>] [[-CustomUnits] <string>]
    [-AllowInsert]

BESCHREIBUNG #

Diese Funktion dient zur Rückübersetzung eines ISO-konformen Mengeneinheitscodes (z.B.. “C62”, “KGM”) in eine vom Anwender verwendete MengenEH-Bezeichnung. Je nach Parametern wird in folgenden Quellen gesucht:

  1. Datenbank: Bei Angabe von -Conn wird die SQL-Tabelle dbo.KonMengenEh abgefragt.
  2. Kommaliste: Alternativ kann über -CustomUnits eine kommagetrennte Liste mit allen verwendeten MengenEH-Bezeichnungen übergeben werden.
  3. $script:UnitMapping: Eine interne Mappingtabelle liefert mögliche ISO-Zuordnungen samt Synonymen.
  4. Optional: Mit -AllowInsert kann bei fehlender MengenEH eine neue Einheit in der DB angelegt werden (nur mit -Conn).

Die Funktion berücksichtigt verschiedene Schreibweisen (z.B.. Punkte, Groß-/Kleinschreibung) und gibt die exakt in der Quelle gefundene Bezeichnung zurück.

PARAMETER #

-Unit #

Type: string

Der ISO-Einheit (z.B.. “C62”, “KGM”, “LTR”), die auf eine kundenspezifische Einheit abgebildet werden soll.

-Conn #

Type: __ComObject

Ein COM-basiertes ADO-Connection-Objekt zur Datenbank. Wird benötigt, um Mengeneinheiten aus dbo.KonMengenEh zu laden und ggf. neue anzulegen.

-CustomUnits #

Type: string

Optional: Eine kommagetrennte Liste (z.B.. “stk,stueck,pcs”), falls keine Datenbankverbindung verwendet wird.

-AllowInsert #

Type: switch

Erlaubt bei fehlender MengenEH die automatische Anlage in der ‘dbo.KonMengenEh’. Der ISO-Code wird als Feld GR übernommen, und das erste Synonym aus UnitMapping wird als Bez (Bezeichnung) eingetragen.

AUSGABEN #

string

Die gefundene oder neu angelegte MengenEH-Bezeichnung (z.B.. “Stk”, “kg”) oder ‘$null’, wenn kein Mapping möglich war.

BEISPIELE #

# Sucht GR-Bezeichnung in der SQL-Tabelle für ISO-Einheit "C62".
Get-CustomUnitFromNormalized -Unit "C62" -Conn $Conn
# Gibt "ltr" zurück, wenn diese Schreibweise in der Mapping-Zeile zu "LTR" enthalten ist.
Get-CustomUnitFromNormalized -Unit "LTR" -CustomUnits "ltr,litre,liters"
# Legt die Einheit "KGM" in dbo.KonMengenEh an, falls keine passende MengenEH vorhanden ist, mit Bezeichnung "kilogramm".
Get-CustomUnitFromNormalized -Unit "KGM" -Conn $Conn -AllowInsert

HINWEISE #

  • Punkte und Groß-/Kleinschreibung in GRs werden beim Vergleich toleriert, aber originalgetreu zurückgegeben.
  • Wird eine unbekannte ISO-Einheit übergeben, erfolgt ein Warnhinweis und der Rückgabewert ist ‘$null’.
  • Die Funktion nutzt intern die Mappingliste $script:UnitMapping (z.B.. aus EULANDA-Kontext).