schatte
10-09-20, 14:14
Hallo zusammen,
ich würde gerne auf einer AS/400 feststellen, ob zwei Programmobjekte (*PGM oder auch *SRVPGM) den gleichen ausführbaren Code enthalten.
Leider hilft mir das Sourceänderungsdatum der enthaltenen *MODULE nicht weiter, da sich dieses Datum ändern kann, jedoch der eigentlich Quellcode gleich bleibt. Das ist der Fall, wenn beispielsweise der Quellcode von einem git respository auf die AS/400 heruntergeladen wird und sich dadurch das Modifikationsdatum ändert.
Man hat also eine Bibliothek mit allen kompilierten Programmobjekten. Irgendwann wird dann der komplette Quellcode von git nochmals erneut auf die AS/400 überspielt und neu in eine andere Bibliothek kompiliert. Nun möchte man feststellen, welche Programme sich tatsächlich geändert haben, um dann die geänderten Programmobjekte auf das eigentliche Zielsystem zu überspielen.
Die zu vergleichenden Objekte wurden alle auf der gleichen LPAR mit gleichem Release erstellt. Sollte sich natürlich einmal das Release ändern, jemand mit CHGPGM die Optimierungsstufe ändert oder die Exportkennung eines eingebunden *SRVPGMs sich ändert, so muss das Objekt als "geändert" ermittelt werden.
Mit DMPOBJ bekommt man leider nur ein Spool. Ein entsprechendes API habe ich leider nicht gefunden.
Hatte jemand schon mal ein ähnliches Problem?
Viele Grüße
Matthias
ich würde gerne auf einer AS/400 feststellen, ob zwei Programmobjekte (*PGM oder auch *SRVPGM) den gleichen ausführbaren Code enthalten.
Leider hilft mir das Sourceänderungsdatum der enthaltenen *MODULE nicht weiter, da sich dieses Datum ändern kann, jedoch der eigentlich Quellcode gleich bleibt. Das ist der Fall, wenn beispielsweise der Quellcode von einem git respository auf die AS/400 heruntergeladen wird und sich dadurch das Modifikationsdatum ändert.
Man hat also eine Bibliothek mit allen kompilierten Programmobjekten. Irgendwann wird dann der komplette Quellcode von git nochmals erneut auf die AS/400 überspielt und neu in eine andere Bibliothek kompiliert. Nun möchte man feststellen, welche Programme sich tatsächlich geändert haben, um dann die geänderten Programmobjekte auf das eigentliche Zielsystem zu überspielen.
Die zu vergleichenden Objekte wurden alle auf der gleichen LPAR mit gleichem Release erstellt. Sollte sich natürlich einmal das Release ändern, jemand mit CHGPGM die Optimierungsstufe ändert oder die Exportkennung eines eingebunden *SRVPGMs sich ändert, so muss das Objekt als "geändert" ermittelt werden.
Mit DMPOBJ bekommt man leider nur ein Spool. Ein entsprechendes API habe ich leider nicht gefunden.
Hatte jemand schon mal ein ähnliches Problem?
Viele Grüße
Matthias