====== std.validate.iso6346 ====== ISO 6346 Container-Nummer — der internationale Standard zur Identifikation von Schiffscontainern. Format: 3-Buchstaben-Eigentümercode + 1 Kategoriebuchstabe + 6 Ziffern + 1 Prüfziffer. Die Prüfziffer wird über ein Zweierpotenz-Mod-11-Verfahren mit Transliteration (A=10, B=12, … Buchstaben überspringen 11er-Werte) berechnet. → [[lyx_-_programmiersprache:units:validate|std.validate]] ---- ===== Konstanten ===== ^ Name ^ Wert ^ Bedeutung ^ | ''ISO6346_OK'' | ''0'' | Gültig | | ''ISO6346_ERR_INVALID_LENGTH'' | ''1'' | Länge ≠ 11 | | ''ISO6346_ERR_INVALID_CHAR'' | ''2'' | Ungültiges Zeichen | | ''ISO6346_ERR_INVALID_CATEGORY'' | ''3'' | Kategorie muss U, J oder Z sein | | ''ISO6346_ERR_INVALID_CHECK'' | ''4'' | Falsche Prüfziffer | ---- ===== Verwendung ===== import std.validate.iso6346; var container: pchar := "CSQU3054383"; var result: int64 := ISO6346Validate(container); if (result = ISO6346_OK) { log_info(ISO6346GetOwner(container)); // "CSQ" (Eigentümercode) log_info(ISO6346GetCategory(container)); // "U" (Universal Container) log_info(ISO6346GetSerial(container)); // "305438" } // Prüfziffer berechnen var check: int64 := ISO6346CheckDigit("CSQU305438"); // gibt 3 zurück ---- ===== Funktionen ===== ^ Signatur ^ Sichtbarkeit ^ Beschreibung ^ | ''ISO6346Validate(nr: pchar): int64'' | pub | Container-Nummer vollständig validieren | | ''ISO6346CheckDigit(nr: pchar): int64'' | pub | Prüfziffer für 10-stelligen Stamm berechnen | | ''ISO6346GetOwner(nr: pchar): pchar'' | pub | 3-Buchstaben-Eigentümercode extrahieren | | ''ISO6346GetCategory(nr: pchar): pchar'' | pub | Kategoriebuchstabe (U/J/Z) extrahieren | | ''ISO6346GetSerial(nr: pchar): pchar'' | pub | 6-stellige Seriennummer extrahieren | | ''ISO6346Format(nr: pchar): pchar'' | pub | Container-Nummer formatieren (z.B. "CSQU 305438 3") | Letzte Aktualisierung: 2026-05-23