Adressstamm — Systembeschreibung
Datenmodell von Adressstamm und Partner-Adress-Verknüpfung, Normalisierung und Dublettenprüfung, Adresszerlegung, verweisgeschütztes Löschen und Berechtigungsschlüssel.
Überblick
Adressstamm (PLZ, Ort, Straße, Hausnummer usw.), den die Partner über eine Verknüpfungstabelle nutzen. Es gibt keine Inhaltsberechtigung (Firma): ein globaler Stamm.
Datenmodell
Die Tabellennamen tragen in der Datenbank das eigene Präfix der Installation.
| Tabelle | Zweck | Beziehung |
|---|---|---|
address | die Adresse (Eigentümer: Modell masterdata/address) | PLZ, Ort, Straßenname und -art, Hausnummer, Treppenhaus, Gebäude, Stockwerk, Tür, Flurstücknummer, Land, Status |
company_address | Partner-Adress-Verknüpfung | Quelle des Löschschutzes und der Partnerliste im Formular (zusammen mit der Tabelle company gelesen) |
Ablauf
- Liste: Freitext- und Statusfilter, Sortierung nach PLZ oder Ort; je Zeile einzeilige Adresse (Straße + Art + Hausnummer), Land, Status. Ohne Recht ersetzt ein Warnhinweis die Liste.
- Speichern: Normalisierung (Trimmen, Zusammenfassen von Punkten und Leerzeichen), PLZ und Ort Pflicht, Dublettenprüfung über die vollständige Adresszeile, dann Einfügen oder Ändern; Protokolleintrag; die Antwort liefert die Adresskennung, keine Weiterleitung.
- Zerlegen: teilt eine Freitext-Adresszeile in Bestandteile.
- Ein/Aus: das Statusfeld.
- Löschen: prüft die markierten Adressen einzeln; hat eine einen Partnerverweis, bricht es ab und nennt bis zu fünf verweisende Partner; sonst physisches Löschen; protokolliert.
Berechtigungen
- Ebene 2:
list;edit(Formular, Zerlegen, Ein/Aus, Schaltfläche Hinzufügen im Kopfbereich); das Speichern eines neuen Datensatzes verlangtadd, wenn der Schlüssel im Katalog steht — da er fehlt, entscheidet praktischedit;delete;debug(letztes SQL der Liste). - Ebene 3: keine — globaler Stamm.
Bekannte Einschränkungen
- Das Öffnen der Seite selbst prüft kein Recht; geprüft wird in der Liste und bei den Vorgängen.
- Den Katalogschlüssel
statusdelete(Papierkorb) setzt der Controller nicht um; die Liste filtert auch nicht nach Papierkorb.