-
Binärer Vergleich zweier *PGM Objekte auf Gleichheit
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
Last edited by schatte; 10-09-20 at 14:24.
Grund: Codepage Fehler korrigiert.
-
Nein, das Problem hatte ich bisher nicht.
Aber es gäbe da einen Umweg:
Sichere die zu vergleichenden Objekte je in eine SAVF. Diese kannst du native öffnen und dann vergleichen.
Da alle Informationen (Code/Importe/Exporte/Signaturen) enthalten sind, kannst du eine Differenz ermitteln. Allerdings mit einem Problem:
Auch das Erstelldatum der Module sowie Sourceinformationen ist Bestandteil des Objekts, und du bekommst somit eine Differenz.
Berechtigungen sind da ebenso aufgehoben und du bekommst eine Differenz.
Ich denke, da kommst du um MI-Programmierung kaum herum.
Hier hat sich schon mal einer Mühe gemacht:
https://www.mcpressonline.com/progra...rface-of-ibm-i
Allerdings galt dies noch für V5R3. Möglicherweise hat sich ja nicht so viel geändert.
-
Naiver Vorschlag:
Wenn's nur um die Gleichheit zweier Objekte geht, könnte man nur die Größe der Objekte vergleichen?
-
Die Größe von Objekten bemisst sich in 4K-Schritten. Da kann ganz schön viel geändert sein.
-
Hallo,
es gibt eine Tool Sammlung (for free). diese Berechnet den Hashwert der Objekte und gibt diese aus:
https://software.projex.com/cmpobj-compare-objects/
VG
David
-
Hast du dies auch mal ausprobiert in dem du ein Programm in 2 Libs jeweils separat neu erstellst?
Jedes Modul/Objekt bekommt dann ein geändertes Erstelldatum, dass u.U. in die Berechnung einfließt.
Ist das nicht der Fall oder kann man das ausschließen, dann erstelle das 2. Programm mit einer minimalen Codeänderung, z.b. statt "Feld += 1" in "Feld += 2" und prüfe dann ob es eine Differenz gibt.
-
Zitat von ExAzubi
Darüber war ich beim Suchen auch gestolpert. Hatte mich jedoch nicht überzeugt, da auch das Sourcedatum/Uhrzeit verglichen wird, was sich in meinem Fall trotz gleicher Source ändern kann.
Und sollte das Sourcendatum/zeit gleich sein, so bezieht sich das Sourcedatum auch nur auf die Hauptsource des Moduls und nicht auf evtl. rein kopierte Header (*.h).
Ansonsten schon mal Danke in die Runde für die Hinweise.
Last edited by schatte; 16-09-20 at 19:20.
Grund: Korrektur Codepageprobleme nach erneuter Anmeldung am Forum und Speichern der Antwort.
Similar Threads
-
By NEWSolutions Redaktion in forum NEWSolutions artikel
Antworten: 0
Letzter Beitrag: 23-01-18, 11:11
-
By KingofKning in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 20-07-17, 12:42
-
By malzusrex in forum IBM i Hauptforum
Antworten: 8
Letzter Beitrag: 06-06-14, 12:44
-
By homerun in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 25-04-03, 10:37
-
By cicero22 in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 22-04-03, 20:03
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