====== std.validate.isin ====== ISIN (International Securities Identification Number, ISO 6166) identifiziert Wertpapiere weltweit eindeutig. Die Prüfung erfolgt über den Luhn-Algorithmus auf einer erweiterten Ziffernkette, bei der Buchstaben als zweistellige Zahlen kodiert werden (A=10, B=11 …). Das Format ist: 2-Buchstaben-Länderkürzel + 9-stelliger nationaler Code + 1 Prüfziffer. → [[lyx_-_programmiersprache:units:validate|std.validate]] · [[lyx_-_programmiersprache:units:validate:luhn|std.validate.luhn]] · [[lyx_-_programmiersprache:units:validate:lei|std.validate.lei]] ---- ===== Konstanten ===== ^ Name ^ Wert ^ Bedeutung ^ | ''ISIN_OK'' | ''0'' | Gültig | | ''ISIN_ERR_INVALID_LENGTH'' | ''1'' | Länge ≠ 12 | | ''ISIN_ERR_INVALID_CHAR'' | ''2'' | Ungültiges Zeichen | | ''ISIN_ERR_INVALID_COUNTRY'' | ''3'' | Unbekanntes Länderkürzel | | ''ISIN_ERR_INVALID_CHECK'' | ''4'' | Falsche Prüfziffer | ---- ===== Verwendung ===== import std.validate.isin; var isin: pchar := "DE0005140008"; // Deutsche Bank var result: int64 := ISINValidate(isin); if (result = ISIN_OK) { log_info(ISINGetCountry(isin)); // "DE" log_info(ISINGetNasin(isin)); // "0005140008" (nationaler Code) log_info(ISINFormat(isin)); // "DE0005140008" (normalisiert) } // Prüfziffer berechnen var check: int64 := ISINCheckDigit("DE000514000"); // gibt 8 zurück ---- ===== Funktionen ===== ^ Signatur ^ Sichtbarkeit ^ Beschreibung ^ | ''ISINValidate(isin: pchar): int64'' | pub | ISIN vollständig validieren; gibt ISIN_OK oder Fehlercode zurück | | ''ISINCheckDigit(isin: pchar): int64'' | pub | Prüfziffer für 11-stelligen ISIN-Stamm berechnen | | ''ISINGetCountry(isin: pchar): pchar'' | pub | Zweistelliges Länderkürzel extrahieren | | ''ISINGetNasin(isin: pchar): pchar'' | pub | Nationalen Wertpapiercode (NSIN, 9 Stellen) extrahieren | | ''ISINNormalize(isin: pchar): pchar'' | pub | ISIN normalisieren (Leerzeichen entfernen, Großbuchstaben) | | ''ISINFormat(isin: pchar): pchar'' | pub | ISIN formatieren (z.B. "DE0005140008") | Letzte Aktualisierung: 2026-05-23