Skip to content

Datenbankformat

Matthias Schabhüttl edited this page Jun 12, 2026 · 2 revisions

🗄️ Datenbankformat (DBF)

Technische Übersicht zum Datenbankformat von OpenSchichtplaner5.

📖 Der gesamte Datenbankzugriff ist in der eigenständigen Library libopenschichtplaner5 implementiert. Die ausführliche Format-Referenz (alle Tabellen und Felder, Kodierung, Änderungsjournal) sowie das Kommandozeilenwerkzeug sind dort dokumentiert: Datenbankformat · CLI


Warum DBF?

OpenSchichtplaner5 verwendet das dBase/FoxPro-DBF-Format aus einem einfachen Grund: Kompatibilität mit dem originalen Schichtplaner5 der Firma RPS Planungssysteme GmbH. Das Windows-Programm speichert alle Daten in DBF-Dateien; OpenSchichtplaner5 liest und schreibt exakt dieselben Dateien — ohne Konvertierung, ohne Migration.

Vorteile:

  • ✅ Bestehende SP5-Daten sofort nutzbar
  • ✅ Datei-basiert → einfache Backups (ZIP-Archiv reicht)
  • ✅ Kein Datenbankserver nötig (optional: PostgreSQL-Spiegel, siehe PostgreSQL-Support)

Koexistenz mit dem Original — die ehrliche Regel:

  • Sequenzieller Wechselbetrieb wird unterstützt: erst das eine Programm schließen, dann mit dem anderen arbeiten. Änderungen der Web-App werden über das Änderungsjournal (…-L.DBF) für das Original nachvollziehbar protokolliert.
  • ⚠️ Gleichzeitiges Schreiben (Original-Client und Web-App parallel auf derselben Datenbank) wird nicht unterstützt — die beiden Programme verwenden unterschiedliche Sperrmechanismen.

Hinweis zu CDX-Indexdateien: Jede Tabelle hat eine zugehörige .CDX-Indexdatei. Nach Schreibzugriffen der Web-App werden veraltete Indexe entfernt; das Original legt fehlende Indexe beim nächsten Öffnen automatisch neu an. CDX-Dateien niemals manuell bearbeiten.


Die Tabellen im Überblick

Eine Datenbank ist ein Verzeichnis mit 30 Tabellenpaaren (5XXXXX.DBF + Änderungsjournal 5XXXXX-L.DBF). Die wichtigsten:

Tabelle Inhalt
5EMPL Mitarbeiter-Stammdaten (inkl. Arbeitszeitmodell HRSDAY/HRSWEEK/WORKDAYS)
5GROUP / 5GRASG Gruppen (hierarchisch über SUPERID) / Gruppenzuordnungen
5SHIFT Schichtarten (Zeiten je Wochentag + Feiertag, STARTEND0..7)
5MASHI / 5SPSHI Dienstplan-Einträge / Sonderdienste & Abweichungen
5ABSEN / 5LEAVT / 5LEAEN Abwesenheiten / Abwesenheitsarten / Urlaubsansprüche
5CYCLE / 5CYENT / 5CYASS / 5CYEXC Schichtmodelle, Modell-Einträge, Zuordnungen, Ausnahmen
5SHDEM / 5SPDEM / 5DADEM Personalbedarf (wöchentlich / datumsbezogen / Tagesbedarf)
5HOLID Feiertage (inkl. halber Feiertage)
5XCHAR Zuschlagsarten (Zeitfenster in Minuten)
5BOOK / 5OVER Stunden-Kontobuchungen / Überstunden
5USER / 5USETT Benutzerkonten & Rechte / Programmeinstellungen
5WOPL / 5RESTR / 5PERIO / 5HOBAN / 5NOTE / 5BUILD Arbeitsplätze, Einschränkungen, Perioden, Urlaubssperren, Notizen, DB-Kennung

Die vollständige Feld-Referenz je Tabelle pflegt das lib-Wiki → Datenbankformat.


Daten inspizieren

Mit dem CLI der Library lässt sich jede Datenbank direkt untersuchen:

sp5lib info /pfad/zur/datenbank          # Tabellenübersicht mit Recordzahlen
sp5lib dump /pfad/zur/datenbank 5EMPL    # Tabelleninhalt (auch --json/--csv)
sp5lib validate /pfad/zur/datenbank      # Konsistenz-Check

Siehe auch: ORM-Spiegel · Datenbankverwaltung · Backup

🧸 OpenSchichtplaner5 v1.2.0

Home — Startseite


🚀 Einstieg


📊 Dashboard

  • Dashboard — Charts, Widgets & Performance

📅 Planung


📄 Berichte & Daten


🗃️ Stammdaten


🔗 Integrationen


⚙️ Administration


📱 Features


🔗 Links


📚 Verwandte Wikis

Clone this wiki locally