Seite 1 von 1

Import von Kurs-Blockungen

Verfasst: Mittwoch 1. Juli 2026, 20:13
von wschrewe
Ich habe gerade versucht, eine Blockung über /db/{schema}/datenaustausch/gost/kurs42/import/zip in die DB zu exportieren.
Der Import bricht mit Fehler 500 ab.
Error-Log:
Error: response status is 500
Response body

{
"id": null,
"success": false,
"log": [
"Erstelle eine temporäres Verzechnis mit dem Inhalt der Zip-Datei unter dem Namen \"c:\\Users\\Walter\\AppData\\Local\\Temp\\SVWSTest/Kurs_Problem_4YIxntMoErk3OAa0Ide6sjbto2cwxu6Z1Zq1NQan.zip\"",
"Importiere die Blockung mithilfe der extrahierten Daten:",
"-> Lese Informationen zu der Schule ein...",
" [OK]",
"-> Bestimme die Schüler der Schule aus der Datenbank...",
" [OK]",
"-> Bestimme die Lehrkräfte der Schule aus der Datenbank...",
" [OK]",
"-> Bestimme die Fächer der Schule aus der Datenbank...",
" [OK]",
"-> Lese die Kurs 42 - Export - Textdateien ein...",
" Löschen des temporären Verzeichnis \"c:\\Users\\Walter\\AppData\\Local\\Temp\\SVWSTest/Kurs_Problem_4YIxntMoErk3OAa0Ide6sjbto2cwxu6Z1Zq1NQan.zip\".",
" [OK]",
" [FEHLER] Unerwarteter Fehler: Cannot invoke \"de.svws_nrw.core.types.gost.GostHalbjahr.getAbiturjahrFromSchuljahr(int)\" because \"this.halbjahr\" is null"
]
}

Aus welchen Daten versucht der Server, das Halbjahr zu ermitteln?

Re: Import von Kurs-Blockungen

Verfasst: Mittwoch 1. Juli 2026, 23:24
von Raffenberg
Hallo Herr Schrewe,
haben sie die neuste SVWS-Version genutzt?
Es gibt durch ein Windows-Update einen unschönen Effekt, der Importe üner den Browser zufällig so einfriert, dass nach 30 Sek. der Server kapituliert. Ich meine, das würde durch das Update aufgefangen.

Re: Import von Kurs-Blockungen

Verfasst: Mittwoch 1. Juli 2026, 23:29
von hmt
Der Import startet ja, daran wird es nicht liegen.
Haben Sie denn das Halbjahr gesetzt? Ob und wie es gebraucht wird ist ja relativ egal, der Server erwartet vollständige Daten, dann müssen die halt mitgeliefert werden.

Re: Import von Kurs-Blockungen

Verfasst: Donnerstag 2. Juli 2026, 10:32
von wschrewe
Hallo Herr Raffenberg,
Raffenberg hat geschrieben: Mittwoch 1. Juli 2026, 23:24haben sie die neuste SVWS-Version genutzt?
Sowohl der Server als auch Schild3 sind auf dem neuesten Stand.
Weil der Import über die API in der Vergangenheit nicht funktioniert hat, habe ich testeshalber mit Kurs eine neue Blockung angelegt, die Blockung dann aus der DB importiert, neu geblockt und dann versucht, das Ergebnis wieder über die API zu importieren. Das Ergebnis habe ich gepostet.
@hmt:
Haben Sie denn das Halbjahr gesetzt?
Habe ich, sofern die Angabe in der Blockung ausreicht:
SVWS-Blockung.png
SVWS-Blockung.png (14.7 KiB) 942 mal betrachtet

Re: Import von Kurs-Blockungen

Verfasst: Donnerstag 2. Juli 2026, 10:56
von hmt
ich meinte eigentlich das JSON, das an den Server geschickt wird. Ich kenne Kurs42 nicht, nur die API des SVWS-Servers

Re: Import von Kurs-Blockungen

Verfasst: Donnerstag 2. Juli 2026, 11:16
von wschrewe
hmt hat geschrieben: Donnerstag 2. Juli 2026, 10:56ich meinte eigentlich das JSON, das an den Server geschickt wird. Ich kenne Kurs42 nicht, nur die API des SVWS-Servers
Genau darüber habe ich ja den Import versucht. Kurs 42 ist daran nicht (direkt) beteiligt.
Das JSON ist /db/{schema}/datenaustausch/gost/kurs42/import/zip
{schema} ist selbstverständlich durch den Namen des aktuellen Schemas ersetzt, die zu importierende Datei durch Swagger interaktiv abgefragt (und auch gefunden), sonst würde der Import doch gar nicht starten.

Re: Import von Kurs-Blockungen

Verfasst: Donnerstag 2. Juli 2026, 11:33
von hmt
ok, ich sehe gerade, dass auch csv importiert wird und nicht json.
Ist in der "Blockung.txt" der Abschnitt gesetzt?

Diese Zeilen lösen m.E. den Fehler aus:

Code: Alles auswählen

final int abschnitt = (k42Blockung.Abschnitt > 2) ? 2 : k42Blockung.Abschnitt;
this.halbjahr = GostHalbjahr.fromJahrgangUndHalbjahr(k42Blockung.Jahrgang, abschnitt);

Re: Import von Kurs-Blockungen

Verfasst: Donnerstag 2. Juli 2026, 12:57
von wschrewe
hmt hat geschrieben: Donnerstag 2. Juli 2026, 11:33Ist in der "Blockung.txt" der Abschnitt gesetzt?
Ja (Auszug aus Blockung.txt):
[Blockung]
Jahrgang=11
Jahr=2025
Abschnitt=1
Bezeichnung=Blockung (01.07.2026)
Folgejahr=0
....
Schulform=GY
AbschnittBez1=1. Hj.
AbschnittBez2=2. Hj.
AbschnittBez3=3.Qrt
AbschnittBez4=4.Qrt
GUID={FBC4E1DF-024B-45D2-8757-B6AC771D54AE}
Kursversion=Kurs 42 (Version 3.34.3.548) am 02.07.2026 um 11:18:41 Uhr