Der "Primärschlüssel-Assistent" dient dazu, Probleme, die bei Primärschlüsseln für Anwendungen mit Logbuch auftreten, rasch zu beheben:
Sie können folgendes ausführen:
- Für jede Tabelle prüfen, ob sie mit der Strategie zum Protokollieren in 4D kompatibel ist,
- Bei nicht-kompatiblen Tabellen einen Primärschlüssel festlegen.
Hinweis: Dieser Assistent ist auch als 4D v13 Komponente verfügbar, so dass Sie die Migration von 4D Anwendungen auf v14 vorbereiten können.
Es gibt zwei Wege, den Primärschlüssel-Assistenten anzuzeigen:
- Über den Fehlerdialog zu Primärschlüssel: Klicken Sie hier am unteren Rand auf die Schaltfläche "Assistent starten"
Hinweis: Der Assistent erscheint im Designmodus. Startet die Anwendung im Anwendungsmodus, wird der Assistent nicht direkt angezeigt. Dazu müssen Sie erst in den Designmodus wechseln.
- Über das Struktureditor: Klicken Sie in der Toolbar am oberen Rand auf die Schaltfläche .
Der Primärschlüssel-Assistent zeigt für jede Tabelle der Anwendung eine Zeile an:
Hinweis: Der Assistent berücksichtigt keine Tabellen, die im Papierkorb liegen.
Das Icon zu Beginn jeder Zeile gibt an, ob die Tabelle passt oder verändert werden muss:
| OK | Die Tabelle hat einen gültigen Primärschlüssel. |
| Kein Primärschlüssel, auswählbare Feld(er) | Die Tabelle hat keinen Primärschlüssel, enthält aber mindestens ein Feld, das als Primärschlüssel geeignet ist. |
| Kein Primärschlüssel, kein Feld auswählbar | Die Tabelle hat keinen Primärschlüssel und hat keine Felder, die sich dafür eignen. Sie müssen selbst ein Feld mit Primärschlüssel anlegen. |
| Warnung | Die Tabelle hat keinen Primärschlüssel, wird aber auch nicht protokolliert, d.h. die Option "Benutze Logbuch" ist für die Tabelle deaktiviert. Um Tabellen mit diesem Status auszublenden, können auf Sie auf das Icon für Warnungen klicken. |
Der Assistent zeigt für jede protokollierte Tabelle ohne Primärschlüssel ein DropDown-Menü mit folgenden Optionen:
- Fehler ignorieren ändert die Tabelle nicht. Fehler werden nicht korrigiert und der Status der Tabelle ändert sich nicht. Wählen Sie diese Option, wenn Sie später eingreifen wollen oder den Primärschlüssel unabhängig vom Assistenten erstellen wollen. Diese Option ist z.B. erforderlich, wenn Sie in mehreren Feldern der Tabelle einen Primärschlüssel erzeugen wollen.
- Benutze existierendes Feld (erscheint nur für Tabellen, in denen mindestens ein Feld als Primärschlüssel wählbar ist) bestimmt ein Feld in der Tabelle als Primärschlüssel. Wählen Sie diese Option, schlägt der Assistent standardmäßig das am besten geeignete Feld vor. Wollen Sie ein anderes Feld verwenden oder bietet der Assistent kein passendes Feld an ("Bitte wählen" erscheint), klicken Sie auf das zweite DropDown Menü, um selbst ein geeignetes Feld zu definieren.
- Neues Feld erzeugen erstellt in der Tabelle ein neues Feld mit Primärschlüssel. Dieses Feld hat dieselben Attribute wie das Feld, das beim Anlegen einer neuen Tabelle mit Primärschlüssel angelegt wird. Weitere Informationen dazu finden Sie im Abschnitt Standardfeld mit Primärschlüssel).
Standardmäßig wird ein Feld vom Typ Lange Ganzzahl mit Namen "ID" angelegt. Sie können Typ und Name dieses Standardfeldes in den 4D Einstellungen auf der Seite Struktur verändern. Klicken Sie dazu im Primärschlüssel-Assistenten am unteren Rand auf das Icon .
Sie können die Standardvorgaben für das neue Feld auch direkt im Primärschlüssel-Assistenten verändern.
- Nicht im Journal aufnehmen deaktiviert die Option "In Journal aufnehmen" für die Tabelle. Wählen Sie diese Option für temporäre Tabellen (siehe Abschnitt In Journal aufnehmen). Bestätigen Sie dieses Dialogfenster, wird der Tabelle der Status "Warnung" zugewiesen.
Haben Sie Ihre Einstellungen festgelegt, können Sie am unteren Rand auf die Schaltfläche Anwenden klicken, um die Änderungen anzuwenden oder auf die Schaltfläche Schließen, um das Fenster ohne Änderungen zu schließen.
Klicken Sie auf Anwenden, erscheint ein weiteres Dialogfenster, das die auszuführenden Operationen anzeigt. Sie können die Einstellungen anwenden oder abbrechen:
Haben Sie vorhandene Felder als Primärschlüssel bestimmt, prüft 4D jede Tabelle, um sicherzustellen, dass die vorhandenen Daten die notwendigen Attribute für diesen Datentyp (einmalig und Eingabe von Nullwerten verweigern) haben. Enthält ein Feld z.B. doppelte Werte oder Nullwerte, wird ein Fehler generiert:
Sie müssen erst diese Fehler finden und beheben, damit die Protokollierung der Daten im Journal möglich ist.
Hinweis: Um die Korrektur von Fehlern bei Primärschlüsseln zu vereinfachen, erscheinen die Werte der Primärschlüssel auf der Seite Aktivitätsanalyse des Maintenance- und Security Center.