View Full Version : Who is calling
woodstock99
24-07-13, 12:24
àhmmm Bahnhof .
das mit
DSPMOD DETAIL(*IMPORT) OUTPUT(*OUTFILE) ...
DSPMOD DETAIL(*EXPORT) OUTPUT(*OUTFILE) ...
kenne ich. aber was bringt mir das ??
ich sehe damit die Prozeduren die das Modul bereitstellt.
die frage ist doch wie kann ich auswerten
welche Prozeduren z.b. PGMA welche PGMB usw aufruft ?
PGMA kann ja mehrere Serviceprogramme, Module included haben. Und dann will ich Wissen welche Prozeduren davon PGMA verwendet .
die frage ist doch wie kann ich auswerten
welche Prozeduren z.b. PGMA welche PGMB usw aufruft ?
M.E. nur durch Scannen der Quellen und liebevolle Kleinarbeit!
... und dann kannst Du nur hoffen, dass der Programmierer nicht vielleicht mitten im Prozedur-Namen einen Zeilen-Umbruch gemacht hat.
... und gerade bei Modulen und Service-Programmen kommt noch dazu, welche Prozedur wird denn nun auch aus welcher Prozedur aufgerufen und wird die Prozedur x überhaupt irgendwo verwendet.
Birgitta
woodstock99
24-07-13, 12:39
@fuerchau.
Das API bringt mir nicht so viel :(
PCML can now be stored in the module
Program Call Markup Language (PCML) can now be stored in the module
as well as in a stream file. By using combinations of the PGMINFO
command parameter and/or the new PGMINFO keyword for the Control
specification, the RPG programmer can choose where the PCML
information should go. If the PCML information is placed in the module, it
can later be retrieved using the QBNRPII API
@birgitta. bis jetzt ist mein stand leider auch so . aber es muss doch einen weg geben diese liebevolle kleinstarbeit zu umgehen. die schwarze kiste kann doch alles oder :rolleyes:
... welchen Bahnhof Du da meinst, ist mir schleierhaft. DSPMOD DETAIL(*IMPORT) listet die Verwendung auf und damit alle Aufrufe (und Variablen) die nicht lokal sind.
Das mit den Quellen scannen ist doch wohl ein Scherz und bringt nicht wirklich weiter, ebenso das PCML Gedöns.
D*B
woodstock99
24-07-13, 12:54
also entweder verstehst du mich nicht oder ich dich .
nochmal.
es gibt X programme auf der iseries.
jedes davon verwendet irgendwelche prozeduren von irgendwelchen modulen, serviceprogrammen usw .
der befehl listet mir doch nur die prozeduren auf die das MODUL bereitstellt .
ich will aber wissen welche prozeduren PGMA aufruft.
es kann sein das es von modul a
2 prozeduren aufruft, von modul b 4 , usw usw.
Also , ich will alle Prozedurnamen wissen die das PGMA (RPGLE) verwendet.
der befehl listet mir doch nur die prozeduren auf die das MODUL bereitstellt .
i
das ist DSPMOD DETAIL(*EXPORT)!!!!
schau Dir mal DSPMOD DETAIL(*IMPORT) an!!!
natürlich benötigst du die einzelnen Module des PGMA um einen DSPMOD für dieses Modul durchzuführen!
Die Importe sind eben dann die aufgerufenen und die Exporte die bereitgestellten Prozeduren.
Welches Programm/Serviceprogramm im Endeffekt verwendet wird, entscheidet ja dann doch die LIBL.
Wie Dieter schon anmerkte, bei doppelten Namen ist der tatsächliche Aufruf eher unklar.
woodstock99
24-07-13, 13:24
sorry aber wir reden aneinander vorbei .
den hab ich mir angeschaut . das bringt mir aber nichts!!! was soll ich jetzt damit anfangen ?
checkt das hier irgendwer oder bin nur ich zu doof
woodstock99
24-07-13, 13:27
fuerchau. ja das sind aber dann alle. und ich weiss nicht welche das PGMA davon verwendet.
ich will aber genau wissen welche Prozeduren PGMA aufruft. also genau den namen von den z.b. im PGMA verwendeten prozeduren .
das modul hat meinetwegen 100 . ich will wissen welche , und genau nur die zwei prozeduren die das PGMA davon verwendet .
Entschuldige bitte, aber ich stimme dir da eher zu letzterem zu :).
Beim DSPMOD erscheint die Liste der importierten "unaufgelösten" Symbole.
Diese sind die Prozeduren/Variablen, die beim späteren CRTPGM in den anderen Modulen (ggf. per BNDDIR) gesucht und aufgelöst werden.
Also sind das die Namen der verwendeten prozeduren!
Exportierte Symbole sind die zur Verfügung gestellten Prozeduren.
Damit erhältst du eine Liste der Module mit Importen und Exporten.
Per DSPPGM / DSPSRVPGM erhältst du nun, welche Module denn in diesen Programmen verwendet werden.
Nun setzt du dies in Bezug zur oberen Liste.
War das nun klar genug?
Ergänzung:
PGMA -> MODUL1 -> Import Prozedur1
SRVPGM -> MODULB -> Export Prozedur1