Report-Engine mit JSON-Datenquelle: Berichtsvorlagen ohne SQL¶
24. Juli 2026
Wer schon einmal eine Berichtsvorlage angepasst hat, kennt das Bild: In der
Vorlage steckt SQL, das SQL liest Spalten wie I4201 oder C2303, und wer den
Bericht ändern will, braucht Datenbankwissen, Schemakenntnis und eine ruhige
Hand. calServer V2 dreht das um: Die Anwendung liefert den Datensatz, die
Vorlage gestaltet nur noch.
Data Contracts statt eingebettetem SQL¶
Für jede Berichtsfamilie gibt es einen definierten, versionierten Datensatz:
| Contract | Berichtsfamilie |
|---|---|
calibration-certificate |
Kalibrierschein |
inventory-datasheet |
Geräte-Datenblatt |
order-document |
Auftrag und Lieferschein |
repair-report |
Reparaturbericht |
location-report |
Standort- und Leihbericht |
Die Felder darin heißen so, wie sie in der API heißen: serial_number,
next_calibration_date, nicht I4201. Wer eine Vorlage baut, arbeitet in einer
Namenswelt statt in zweien. Kundenspezifische Felder sind im Datensatz enthalten
und stehen ohne Sonderbehandlung zur Verfügung.
Datenbankunabhängig, weil kein SQL drinsteckt¶
Eine Vorlage ohne eingebettetes SQL ist nicht mehr an ein Datenbankschema gebunden. Dieselbe Vorlage rendert unter MySQL, PostgreSQL und Microsoft SQL Server identisch. Für Installationen, die von MySQL wegmigrieren, fällt damit der Posten „alle Reports nachziehen" aus der Migrationsliste.
Umstellen muss niemand¶
Bestehende V1-Vorlagen laufen unverändert weiter. calServer erkennt beim
Generieren selbst, welcher Weg gilt: Enthält das Haupt-JRXML keine
queryString, wird der JSON-Datensatz gebaut, sonst läuft der klassische
JDBC-Pfad. Eine Report-Variable data_contract übersteuert die Erkennung, wenn
man es explizit anders will, inklusive erzwungenem jdbc.
Ein alter Fehlerfall ist damit auch erledigt: Eine V1-SQL-Vorlage, die auf reine V2-Datensätze losgelassen wurde, hat früher ein technisch „erfolgreiches", aber leeres PDF produziert. calServer erkennt die Konstellation jetzt vor dem Rendern und bricht mit einer verständlichen Meldung ab, sichtbar auch im Berichts-Laufprotokoll.
Vorlagen entwerfen mit echten Daten¶
Der Datensatz einer konkreten Kalibrierung lässt sich direkt abrufen und im Report-Designer als Beispieldatei verwenden:
Dazu liefert calServer fertige Beispiel-Bundles je Contract (etwa
DAKKS-JSON-SAMPLE für den Kalibrierschein), die als Startpunkt für eigene
Layouts dienen.
Der praktische Effekt¶
Berichtsanpassungen wandern von der Datenbank in die Gestaltung. Wer ein Logo tauscht, eine Spalte ergänzt oder ein zweisprachiges Zertifikat braucht, ändert das Layout und nicht die Abfrage. Und ein Bericht, der einmal funktioniert, funktioniert auch nach einem Datenbankwechsel weiter.
Anleitung und Contract-Übersicht: V2-Berichte mit JSON-Datenquelle. Hintergrund zur Entscheidung: ADR-009.