-
Robi, danke Dir. Die Version 1 fällt vermutlich weg, da wir dann zusätzliche Platten kaufen müssten.
-
Version 1 dient i.W. zur Transaktionskontrolle und ist da eher ungeeignet, da ja nun mal viele nicht benötigten Änderungen vorhanden sind.
Vesion 2 mag vielleicht aufwändig sein, ist aber die einfachste Lösung.
Zumal mit Qualified DS'n und einfachheit der RPG-Trigger, zum Protokoll ein Eval-Corr und Write reicht.
Um zu prüfen ob sich tzatsächlich was geändert hat, so ist dies auch einfach:
dcl-ds beforeDS extfile(...) qualified based(bPointer);
dcl-ds afterDS extfile(...) qualified based(aPointer);
dcl-ds beforeCmp qualified;
f1 like(beforDs.F1);
end-ds;
dcl-ds afterCmp likeds(beforCmp);
eval-corr beforCmp = beforeDS;
eval-corr afterCmp = afterDS;
if beforCmp <> AfterCmp;
write .....
endif;
SQL scheidet dabei leider aus, da SQL keine Strukturen kennt und jedes Feld explizit und mehrmals genannt werden muss.
-
Vielen Dank. So werde ich es machen.
-
ich muss doch noch einmal etwas fragen. Du handelst das alles mit einem Programm ab, richtig? D.h. dieses Programm wird beim ADDPFTRG bei *WRITE, *INSERT, *DELETE und *UPDATE bei allen PF Files eingetragen, die man überwachen möchte? Bei manchen Tabellen kann ich nicht die komplette Struktur prüfen, weil da Felder drin sind, die ich nicht überwachen möchte, daher muss ich die DS individuell anpassen, was ja kein Problem ist.
-
Baldur hat sicherlich ein Pgm für alles.
je zu überwachende Datei eine E DS und die angepasste BeforCmp / afterCmp datenstruktur,
in einer select gruppe die DS füllen, per movecorr die Cmp füllen vergleichen und schreiben
Das Notwendige steht über dem technisch machbaren.
(klingt komisch, funktioniert aber!)
-
Eventuell ein ganz anderer Ansatz: https://www.ibm.com/docs/en/i/7.3?to...temporal-table
So wie ich es verstehe kann man temporale Tabellen anlegen, die quasi das Abbild aller Änderungen vorhalten. Habe ich das richtig verstanden? Problem ist dann vermutlich, dass man nicht auf einzelne Feldveränderungen eingehen kann.
-
Das ist korrekt. Je nach häufigkeit der Änderung an diesen Tabellen wirst du dir bestimmt ein paar neue Platten kaufen müssen.
Bei diesen Tabellen kommen noch Felder hinzu (Art der Änderung, Timestamp) und du musst sämtliche Programme wandeln (da die Formatid sich ändert).
Ich habe nicht für alles fertige Programme;-), aber für vieles gedanklich fertige Lösungen.
Dieser Art habe ich schon einige Trigger geschrieben.
Der weitere Vorteil: Man kann auch zusätzliche Informationen aus anderen Tabellen prüfen und ggf. mit protokollieren.
-
Danke Dir. So hatte ich es auch verstanden.
Eine Frage noch, die output file, welche dann die Veränderungen beinhaltet, muss dann wohl eine Kopie der zu überwachenden File sein plus die Felder für Timestamp, User, etc.? D.h. ändert sich die Struktur der Haupttabelle, muss sich auch diese mit ändern. Sprich, etwas erhöhter Pflegeaufwand.
-
Nein, die Temporaltabelle ersetzt deine aktuelle Tabelle und führt eben die Historytabelle automtisch mit.
Deine Programm bemerken davon gar nichts, außer der benötigten Umwandlung.
Erst mit einer erweiterten Select-Syntax kommt man dann an den Historyteil.
Der Nachteil dieser Tabellen ist aber auch, dass man sich überlegen muss, ob Felder hinzugefügt oder entfernt werden um die Anwendung zu erweitern da die gesamte History ebenso davon betroffen ist.
-
Aah, sorry, nein meine Frage bezog sich auf die Trigger Variante.
-
Nein, die Zieltabelle muss nur deinen Bedürfnissen entsprechen. Diese hast du ja auch in deinem Programm incl. der neuen Felder:
dcl-ds ZielDS qualified name('ZIEL');
end-ds;
ZielDS.Zeit = %timestamp();
eval-corr ZielDs = beforeCmp;
write ZielDs ZielFormat;
Similar Threads
-
By holgerscherer in forum IBM i Hauptforum
Antworten: 0
Letzter Beitrag: 29-11-21, 18:18
-
By fdh in forum NEWSboard Programmierung
Antworten: 6
Letzter Beitrag: 02-12-19, 14:32
-
By Peter P in forum NEWSboard Server Software
Antworten: 1
Letzter Beitrag: 02-07-18, 13:28
-
By a.wojcik in forum NEWSboard Programmierung
Antworten: 0
Letzter Beitrag: 08-12-15, 13:40
-
By Bratmaxxe in forum NEWSboard Programmierung
Antworten: 28
Letzter Beitrag: 20-10-14, 09:20
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks