- Created detailed session log for ZNS interface documentation (`2026-03-30_Session_Log_ZNS_Documentation.md`), outlining analysis, technical specifications, and next steps. - Added comprehensive ZNS Schnittstelle documentation (`ZNS_SCHNITTSTELLE.md`) to the `masterdata` service. - Linked new documentation in `masterdata/README.md` to ensure alignment with ÖTO standards. Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
88 lines
4.6 KiB
Markdown
88 lines
4.6 KiB
Markdown
# 📜 ZNS-Datentransfer & Schnittstellen-Spezifikation (OEPS)
|
|
|
|
Diese Dokumentation beschreibt die Struktur der Datenaustausch-Dateien zwischen dem **OEPS (Österreichischer
|
|
Pferdesportverband)** und den **Meldestellen**, basierend auf dem Pflichtenheft v2.4 (2021).
|
|
|
|
## 📂 Die ZNS.zip (Stammdaten)
|
|
|
|
Die Datei `zns.zip` enthält die zentralen Referenzdaten für den Turnierbetrieb. Alle Dateien sind im **ASCII-Format (
|
|
Codepage 850)** kodiert.
|
|
|
|
### 1. Richter & Parcoursbauer (`RICHT01.dat`)
|
|
|
|
Enthält alle offiziellen Funktionäre mit ihren Qualifikationen.
|
|
|
|
| Feld | Position | Länge | Format / Werte |
|
|
|:--------------------|:---------|:------|:---------------------------------------|
|
|
| **Satz-ID** | 1 | 1 | `X` (Richter) oder `Y` (Parcoursbauer) |
|
|
| **Satznummer** | 2 | 6 | Eindeutige OEPS-ID (`000000`) |
|
|
| **Name** | 8 | 75 | Familienname, Vorname |
|
|
| **Qualifikationen** | 83 | 30 | Kommagetrennt (z.B. `D,S,CSN-B`) |
|
|
|
|
### 2. Lizenzen & Reiter (`LIZENZ01.dat`)
|
|
|
|
Zentrale Liste aller Reiter mit aktiven Lizenzen und Startkarten.
|
|
|
|
| Feld | Position | Länge | Format / Werte |
|
|
|:-------------------|:---------|:--------|:--------------------------------------------------------|
|
|
| **Satznummer** | 1 | 6 | Eindeutige Reiter-ID |
|
|
| **Name/Vorname** | 7 / 57 | 50 / 25 | - |
|
|
| **Bundesland** | 82 | 2 | 01=W, 02=NÖ, 03=B, 04=ST, 05=K, 06=OÖ, 07=S, 08=T, 09=V |
|
|
| **Vereinsname** | 84 | 50 | Stammverein |
|
|
| **Nationalität** | 134 | 3 | ISO-Code (z.B. `AUT`) |
|
|
| **Reiterlizenz** | 137 | 4 | z.B. `R1`, `RD2`, `R3` |
|
|
| **Altersklasse** | 144 | 2 | `JG`=Jugend, `JR`=Junior, `25`=U25 |
|
|
| **Junger Reiter** | 146 | 1 | `Y` = Junger Reiter |
|
|
| **Sperrliste** | 200 | 1 | `S` = Gesperrt (Info prüfen) |
|
|
| **Lizenz-Details** | 201 | 10 | Bezahlte Lizenzen (z.B. `RD1,F1`) |
|
|
|
|
### 3. Pferde (`PFERDE01.dat`)
|
|
|
|
Referenzdaten für alle registrierten Pferde (max. 3 Jahre nach letzter Zahlung).
|
|
|
|
| Feld | Position | Länge | Format / Werte |
|
|
|:-----------------|:---------|:------|:--------------------------|
|
|
| **Kopfnummer** | 1 | 4 | Registrierte Kopfnummer |
|
|
| **Pferdename** | 5 | 30 | - |
|
|
| **Lebensnummer** | 35 | 9 | OEPS-Lebensnummer |
|
|
| **Geschlecht** | 44 | 1 | `W`, `H`, `S` |
|
|
| **Geburtsjahr** | 45 | 4 | JJJJ |
|
|
| **Besitzer** | 87 | 75 | Verantwortliche Person |
|
|
| **Satznummer** | 202 | 10 | Eindeutige OEPS-Pferde-ID |
|
|
|
|
### 4. Vereine (`VEREIN01.dat`)
|
|
|
|
| Feld | Position | Länge | Format / Werte |
|
|
|:------------------|:---------|:------|:---------------------------|
|
|
| **Vereinsnummer** | 1 | 4 | Eindeutige OEPS-Vereins-ID |
|
|
| **Vereinsname** | 5 | 50 | - |
|
|
|
|
---
|
|
|
|
## 📩 Nennungsdaten (`n2-<Turniernr>.dat`)
|
|
|
|
Diese Datei enthält alle für ein spezifisches Turnier eingegangenen Nennungen. Sie folgt im Wesentlichen dem Aufbau der
|
|
`LIZENZ01` und `PFERDE01`, ergänzt um:
|
|
|
|
* **A-Satz:** Turnierstammdaten (Name, Ort, Datum, Kategorie).
|
|
* **B-Satz:** Liste der ausgeschriebenen Bewerbe inkl. 3-stelliger Bewerbnummer (Pos. 60).
|
|
* **K-Satz (Kartei):** Verknüpfung Pferd ↔ Reiter ↔ Genannte Bewerbe.
|
|
|
|
---
|
|
|
|
## 🏆 Ergebnisdaten (`<Turniernr>.erg`)
|
|
|
|
Die Rückmeldung der Ergebnisse an den OEPS nach Abschluss des Turniers.
|
|
|
|
* **B-Satz:** Bewerbs-Informationen (Starteranzahl, ausgezahltes Geldpreis-Summe).
|
|
* **C-Satz:** Eingesetzte Richter für diesen Bewerb (Satznummern).
|
|
* **D-Satz (Ergebniszeile):**
|
|
* **Platz:** 1-996, `997`=Ausschluss, `999`=Disqualifikation.
|
|
* **Punkte/Wertnote:** Pos. 121 (Format 999999, 4 Vorkomma, 2 Nachkomma).
|
|
* **Zeit/Prozent:** Pos. 127 (3 Vorkomma, 2 Nachkomma; bei Dressur 2 Vorkomma, 3 Nachkomma).
|
|
* **Status:** `A`=Ausschluss, `D`=Disqualifikation, `T`=Teilnahmeverzicht (nur Stechen).
|
|
|
|
---
|
|
> 📜 **Rulebook Expert Hinweis:** Diese Spezifikationen sind die Grundlage für den `zns-import` Service. Die Längen und
|
|
> Positionen sind strikt einzuhalten, da der OEPS-Parser keine Abweichungen toleriert.
|