Logbuchmeldungen der SQL-Server Trigger zu hhupd bzw. key_* Datenfeldern
Wann/ Warum werden Warnungen ausgegeben?
Sofern bei einem SQL Update das Datenfeld HHUPD nicht beachtet wird, sorgt der SQL-Server Trigger für eine Logbuch-Meldung vom Typ Warnung, da dies zu Performance Problemen führen kann.
Beispiel: Update modifiziert 100 Datensätze, der SQL-Server Trigger sorgt dann pro betroffenen Datensatz, das eine Aktualisierung erfolgt. Es werden also 101 Update/Locks erzeugt.
Lösung: Nutzung der SQL-Server Funktion dbo.vacos_hhupd() oder Generic Statement ${hhupd} zum Aktualisieren des Datenfelds hhupd
Wann/ Warum werden Fehler ausgegeben?
Ähnlich ist es bei den key_x Datenfeldern, nur hier sorgt der SQL-Server Trigger für eine Logbuch-Meldung vom Typ Fehler, da hier das ausgeführte SQL-Statement (Update/Insert) inkonsistente/fehlerhafte Daten erzeugt hätte, welche durch den SQL-Trigger korrigiert werden.
Diese Logbuch Meldungen treten immer dann auf
wenn per SQL-Statement ein Datenfeld (welches auch Bestandteil eines key_x ist) verändert wird, ohne das das entsprechende key_x mit aktualisiert wird (key_x wird korrigiert)
oder
wenn per SQL-Statement das key_x Datenfeld geändert wird, ohne das entsprechende Datenfeld ebenfalls anzupassen (key_x wird im Anschluss wieder auf den Wert der gesetzt den die Einzelfelder beinhalten, SQL-Statement ändert Daten ohne das Daten geändert sind)
Zusätzlich gilt hier auch das Performance Themen wie bei hhupd (siehe oben).
Lösung: Nutzung der (siehe Datenhandbuch) der dbo.${tabelle}_build_{datenfeld} SQL-Server Funktion, welche SOG hierfür bereitstellen.