PDA

View Full Version : AUDIT COLUMNS



lucullus
13-05-19, 08:29
Moin, moin,

gibt es in SQL eine Möglichkeit über Specialregister oder globale Variablen den Programmnamen zu ermitteln?
Hintergrund: Änderungsvisum in den Dateien/Tabellen sollen von der DB erzeugt werden.

Gruß Andreas

Fuerchau
14-05-19, 08:14
Leider nein. Dafür gibt es ein API zur Ermittlung des Callstacks.
Diesen muss man dann nach oben durchhangeln um das erste Programm, dass nicht aus QSYS aufgerufen wurde zu ermitteln.
Allerdings könnte dieses dann auch nur das Filehandler-Programm/Serviceprogramm oder eine exterene SQL-Procedure/Function sein.
Für das API gibt es u.U. auch schon eine SQL-Table-Function.

lucullus
14-05-19, 08:30
Moin, moin,

danke für die Antwort.
Dann muss eben die SDS wieder herhalten. :)

holgerscherer
14-05-19, 13:46
Hintergrund: Änderungsvisum in den Dateien/Tabellen sollen von der DB erzeugt werden.


Warum nicht das Audit-Journal?

BenderD
14-05-19, 14:29
... das Audit Journal ist nicht auf Satzebene. Im normalen Journal ist die Info zwar drin, aber nicht sehr gut auswertbar. Ich würde dennoch über das Journal gehen (wenn ich das wirklich haben will), da dies die gesamte Historie abbildet und nicht nur den letzten Zustand.

D*B

holgerscherer
16-05-19, 09:59
... das Audit Journal ist nicht auf Satzebene. Im normalen Journal ist die Info zwar drin, aber nicht sehr gut auswertbar. Ich würde dennoch über das Journal gehen (wenn ich das wirklich haben will), da dies die gesamte Historie abbildet und nicht nur den letzten Zustand.


Hoppla, ja - ich meinte das Journal. Selbst erzeugte Protokoll-Einträge halte ich immer für sportlich, denn wenn da mal ein Programm was nicht richtig macht, darf man dem Auditor wieder dumme Fragen beantworten :)

Fuerchau
16-05-19, 11:56
"da dies die gesamte Historie abbildet..."?
Wer hebt sich denn tatsächlich die ganzen Journale auf?
Selbst die ganzen neuen SQL-Archivierungsmethoden (Versionierung) ist beim Einsatz von Filehandler-(Service-)Programmen oder sog. App-User-Konzepten vollkommen daneben, da immer der Filehandler also auch der App-User als Verursacher eingetragen wird.

BenderD
16-05-19, 12:16
... nach meinen Erfahrungen sind Einträge über die letzte Änderung wenig wert, da man den Murks in aller Regel nicht sofort erkennt.
Was die Journale angeht empfehle ich glasklar alle Dateien zu journalisieren und selbstredend die Journale aufzuheben. Gängige Praxis ist hier, drei Tage online zu haben und ältere Journale auf Band vorzuhalten. Will man Daten über die Änderungshistorie der Daten vorhandener Anwendungen einfach verfügbar machen, geht das ohne Änderung der existierenden Anwendung, indem man die Daten periodisch aus dem Journal ausliest und die Historie fortschreibt.
Hat man bereits einen Filehandler, ist man fein raus, dann schreibt eben dieser die gewünschten Historiendaten mit.

D*B