[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Feb 2001
    Beiträge
    20.768
    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.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  2. #2
    Registriert seit
    Sep 2004
    Beiträge
    362
    Vielen Dank. So werde ich es machen.

  3. #3
    Registriert seit
    Sep 2004
    Beiträge
    362
    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.

  4. #4
    Registriert seit
    Jun 2001
    Beiträge
    2.044
    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!)

  5. #5
    Registriert seit
    Sep 2004
    Beiträge
    362
    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.

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.768
    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.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  7. #7
    Registriert seit
    Sep 2004
    Beiträge
    362
    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.

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.768
    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.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  9. #9
    Registriert seit
    Sep 2004
    Beiträge
    362
    Aah, sorry, nein meine Frage bezog sich auf die Trigger Variante.

  10. #10
    Registriert seit
    Feb 2001
    Beiträge
    20.768
    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;
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

Similar Threads

  1. IBM HTTP Server wichtige Updates
    By holgerscherer in forum IBM i Hauptforum
    Antworten: 0
    Letzter Beitrag: 29-11-21, 18:18
  2. Antworten: 6
    Letzter Beitrag: 02-12-19, 14:32
  3. Change Management Tool
    By Peter P in forum NEWSboard Server Software
    Antworten: 1
    Letzter Beitrag: 02-07-18, 13:28
  4. ROW CHANGE TOKEN
    By a.wojcik in forum NEWSboard Programmierung
    Antworten: 0
    Letzter Beitrag: 08-12-15, 13:40
  5. Change Management?
    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
  •