Im vorherigen Teil haben wir uns damit beschäftigt, Informationen über ein Programmobjekt zu beschaffen und haben dafür die SQL View PROFRAM_INFO eingesetzt.
In dieser Folge gehen wir tiefer in die Struktur von Programmen und Serviceprogrammen hinein, um für uns als Programmierer wichtige Daten zu ermitteln.
Die SQL View BOUND_MODULE_INFO
Die SQL View BOUND_MODULE_INFO zeigt die Metadaten von Programmen an und entspricht im Allgemeinen der Ausgabe des Befehls DSPMODE.
Hier eine einfache Auswertung:
Quelle: LuttkusFür das Programm GETITMLD00 möchte ich zunächst einmal ganz unqualifiziert alle Modul-Metadaten anzeigen lassen.
Das Ergebnis:
Quelle: LuttkusDas ist nur ein Auszug aus dem gesamten Datensatz.
Ein Problem, dass Programmierer jedoch öfter beschäftigt, steckt in der Frage: Welche Programmquelle wurde für die Erstellung dieses Programms verwendet? Ich präzisiere die obige Abfrage.
Quelle: LuttkusIch habe jetzt lediglich die für Quellen maßgeblichen Felder aus der Gesamtmenge aller Felder herausgezogen, die Ich mir mit dem ACS-SQL-Client leicht prompten konnte.
Das Ergebnis:
Quelle: Luttkus- Rot umrandet: Quellenmember, -Datei und -Bibliothek
- Blau umrandet: IFS-Quellenpfad (hier nicht verwendet)
- Grün umrandet: Daten der letzten Änderung der Quelle
Genaue Angaben darüber, welche Daten von dieser View zur Verfügung gestellt werden, erhalten Sie hier:
- https://www.ibm.com/docs/en/i/7.4?topic=services-bound-module-info-view
- https://www.ibm.com/docs/en/i/7.5?topic=services-bound-module-info-view
Die SQL View BOUND_SRVPGM_INFO
Nachdem wir die Programm- und Modulebene betrachtet haben, werden wir jetzt die Metadaten eines Serviceprogramm ermitteln. Dabei steht hier für uns die Frage im Vordergrund: Welche Serviceprogramme werden von einem Ausgangsserviceprogramm verwendet.
Mein Ausgangsserviceprogramm heißt TXTC und befindet sich in der Bibliothek VCWEBOBJ.
Quelle: LuttkusBeachten Sie die Zeile 50: Systemserviceprogramme sollen nicht berücksichtigt werden.
Das Ergebnis:
Quelle: LuttkusDas Serviceprogramm TXTC verwendet die rot umrandeten Serviceprogramme.
Genaue Angaben darüber, welche Daten von dieser View zur Verfügung gestellt werden, erhalten Sie hier:
- https://www.ibm.com/docs/en/i/7.4?topic=services-bound-srvpgm-info-view
- https://www.ibm.com/docs/en/i/7.5?topic=services-bound-srvpgm-info-view
Die SQL View PROGRAM_EXPORT_IMPORT_INFO
Wir gehen eine Ebene tiefer. Wir wollen jetzt analysieren, welche Serviceprogramme beinhalten welche aufrufbaren Prozeduren. Dazu setze ich die SQL View PROGRAM_EXPORT_IMPORT_INFO ein.
Ich fasse die Aufgabe etwas weiter und möchte eine Übersicht aller Serviceprogramme innerhalb einer Bibliothek auflisten und die jeweils dazugehörenden exportierbaren Prozeduren.
Quelle: LuttkusZeile57: Ich ermittle zunächst alle Serviceprogramme in der Bibliothek VCWEBOBJ.
Zeile 59 ff.: Mit einem Lateral Join ermittle ich sodann die Namen der zu jedem Serviceprogramm gehörigen exportierbaren Prozeduren.
Das Ergebnis:
Quelle: Luttkus- Rot umrandet: Namen der Serviceprogramme
- Grün umrandet: Namen der exportierbaren (aufrufbaren) Prozeduren
Genaue Angaben darüber, welche Daten von dieser View zur Verfügung gestellt werden, erhalten Sie hier:
- https://www.ibm.com/docs/en/i/7.4?topic=services-program-export-import-info-view
- https://www.ibm.com/docs/en/i/7.4?topic=services-program-export-import-info-view
Im nächsten Teil werden wir uns mit der Dokumentation der ILE-Objekthierarchie in einer Entwicklungsumgebung beschäftigen.
Sie erreichen den Autor unter:
