-
Vielen Dank für eure Anworten.
Es geht um das Aufräumen einer Programmreferenzdatei, die mit DSPPGMREF ... *OUTFILE erzeugt wurde. Ich möchte alle Einträge löschen, zu denen es kein Objekt mehr gibt. In der Datei steht der Bibliotheksname und der Programmname, aber nicht der Objekttyp. Aber ich habe gerade festgestellt, dass es nur eine Handvoll Objekttypen sein kann: *PGM, *SRVPGM, *MODULE, *SQLPKG und *QRYDFN.
Ich werde deshalb einfach pro Objekt diese 5 Arten prüfen.
Aber auch nochmal Danke für das API. Dafür habe ich bestimmt auch noch mal Verwendung.
Nochmals Danke für eure Mühe.
Dieter
-
Was ist mit dem Feld WHOTYP (Objektart)?
SELECT WHLIB, WHPNAM, WHFNAM, WHLNAM, WHOTYP FROM QTEMP/PGMREF
-
Wenn du doch schon das DSPPGMREF per OUTFILE machst, mach doch auch einen DSPOBJD der entsprechenden LIB's in eine OUTFILE.
Dann kannst du doch simple per SQL die beiden Dateien abgleichen ohne eine Zeile Code zu schreiben.
Alternativ erstelle doch die PGMREF einfach neu .
-
Hallo,
keine ahnung ob es abhängig vom Release ist, aber bei mir (7.1) gibt es die Objektarten.
In kurzform: WHOBJT (P=Programm,...)
Und normal: WHOTYP (*PGM=Programm,...)
lg Andreas
-
Klar, das Feld WHOTYP gibt es bei mir auch. Aber das ist der Typ der verwendeten Objekte. Es geht mir um den Typ der verwendenden Objekte. Es geht mir um die "linke" Seite der Datei. Also um die Typen von WHLIB und WHPNAM.
Wir haben da eine Anwendung, mit der wir Programmreferenzen suchen können. Die Outfile von DSPPGMREF ist bei uns eine permanente Datei, die automatisch vom Wandlungsprogramm aktualisiert wid. So haben wir immer eine aktuelle Programmreferenzdatei, ohne jedesmal einen DSPPGMREF ausführen zu müssen. Aber wenn ein Programmierer ein Objekt einfach per CMD löscht, wird die Programmreferenzdatei natürlich nicht aktualisiert.
Deshalb der Aufräumjob.
Dieter
-
Wie wärs mit dem Feld WHSPKG?
-
Dann ist die Liste der betroffenen Objekte genau 2 Einträge lang *PGM, *SRVPGM, da DSPPGMREF eben nur Programme bearbeitet .
Dann kannst du ja doch einen DSPOBJD der PGMLIB's machen und per SQL einen
delete from mypgmref where not exists (select * from myobjlst where fromnameundlib = tonameundlib)
-
Es könnte (je nach Release) auch ein SQL-Paket, ein Modul oder eine Query-Definition sein.
DSPPGMREF Objektart
-
edit (nicht genau gelesen)
Anmerkung: ich würde das noch um DSPMOD *IMPORT und dspmod *EXPORT ergänzen, dann kriegt man noch die Prozedur Abhängigkeiten.
D*B
-
Vielen Dank an alle.
Wir machen das jetzt so, dass wir nur *PGM und *SRVPGM prüfen. Alle anderen Arten sind für uns nicht relevant, da uns nur wirkliche Programmreferenzen interessieren. Die Prozedurabhängigkeiten sind für uns nicht entscheidend, da wir pro Programmobjekt immer nur eine exportierte Prozedur haben.
Nochmals Danke,
Dieter
-
... wie seid ihr denn auf diese abstruse Idee gekommen? Wenn man nur einen Entry Point hat, dann sind Hundsnormale Programme die bessere Wahl - da erspart man sich das ganze Gedöns mit binden und allem drum und dran.
D*B
-
Die Vorteile von Serviceprogrammen sind für uns:
- sprechende (lange) Namen
- Möglichkeit der Einbindung in Vergleichsanweisungen, z.B. if istBerechtigt(kun_nr);
- saubere Parametrierung (genau ein Rückgabewert)
Das andere "Gedöns" haben wir programmatisch gelöst. Für einen Entwickler bei uns ist es null Mehraufwand, ein Serviceprogramm zu schreiben. Unser Compileprogramm erkennt den Source als Serviceprogramm und setzt alle Wandlungsoptionen automatisch. Desweiteren wird automatisch eine Copy-Strecke für den Prototyp generiert und das Programm wird in einer Repository-Datenbanktabelle eingetragen. Wenn man das Serviceprogramm dann später in einem anderen Programm aufrufen will, schreibt man einfach den Aufrufcode hin. Man muss nichts weiter machen. Über ein selbstgeschriebenes Eclipse-Plugin im RDi wird aus dem Repository automatisch die benötigte Copy-Strecke für das Serviceprogramm ermittelt und oben im Code eingetragen.
Ich gebe dir aber natürlich Recht: Wenn wir das alles manuell machen müssten, hätten wir es sicherlich gelassen. Aber wir wollen keine Schwierigkeiten mit Änderungen in Programmsignaturen haben. Deshalb haben wir so viele kleine Programme.
Dieter
Similar Threads
-
By falke34 in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 14-05-14, 16:15
-
By oulbrich in forum NEWSboard Programmierung
Antworten: 0
Letzter Beitrag: 18-11-13, 08:52
-
By wdom in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 19-05-03, 13:58
-
By CZE425 in forum IBM i Hauptforum
Antworten: 6
Letzter Beitrag: 23-10-02, 11:56
-
By malzusrex in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 23-07-02, 10:07
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