von Gary Guthrie
Frage Nach Durchführung der Anweisung
DSPOBJD OBJ(&LIB0/*ALL)
OBJTYPE(*PGM)
DETAIL(*SERVICE)
OUTPUT(*OUTFILE)
OUTFILE(QTEMP/DSPOBJD)
führe ich eine Query über die erzeugte Datei aus, um die Quellendatei – und die Bibliothek – zu ermitteln, aus der die einzelnen Programme erstellt wurden. Das funktioniert für RPG- und CL-Programme einwandfrei, bringt jedoch keine Ergebnisse für RPGLE Programme. Die Felder, auf die ich mich beziehe, sind ODSrcF, ODSrcL und ODSrcM.
Bei Verwendung des Parameters DspPgm Detail(*Module) und Auswahl der Option 5 erhalte ich die Quellendatei und die Bibliothek auf dem Bildschirm angezeigt – allerdings nur für jeweils ein Programm. Gibt es eine Anweisung oder eine API, die alle *PGM Objekte anspricht und eine Ausgabedatei mit den Informationen über die zugehörige Quellendatei und die Bibliothek erzeugt?
Antwort Da ILE Programme sich aus mehreren Modulen – und somit mehreren Quellendateien – zusammensetzen können, ist es nicht möglich, die Quellendatei-Informationen in dem von Ihnen beschriebenen Programmbereich abzuspeichern. Wie Sie schon festgestellt haben, sind diese Informationen in den einzelnen Modulen verfügbar.
Entsprechend können die APIs QBNLPGMI und QBNLSPGM verwendet werden, um Informationen über die zu Modulen und Serviceprogrammen gehörenden Quellendateien zu erhalten.


