[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte

Hybrid View

  1. #1
    Registriert seit
    Nov 2007
    Beiträge
    371

    Who is calling

    Hallo zusammen,

    gibt es irgend ein API oder eine andere Möglichkeit mit der ich rausfinden kann in welchen Programmen eine bestimme Prozedur verwendet wird ? Oder auch andersrum. Eine Liste mit den Prozeduren die ein bestimmtes Programm verwendet ?

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Bei fertigen Programmen geht das leider nicht mehr, da externe Referenzen aufgelöst sind.
    Wenn du die einzelnen Module noch hast (was mit PDM-14 nicht der Fall ist) kannst du die Informationen mit folgendem API auslesen:
    List Module Information (QBNLMODI) API

    Hier bekommst du die referenzierten und exportierten Prozeduren/Variablen.

    Prototyp-Calls auf OPM-Programme (EXTPGM) können so nicht ermittelt werden, die erhältst du weiterhin per DSPPGMREF.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.012
    Hallo,

    eine Liste auf Prozedur-Ebene kann ich leider nicht bieten. Aber was ich gelegentlich verwende, ist das Tool ANZILEPGM. Damit erhält man 2 Listen bzw. Dateien. Eine Liste mit Programmen und die darin verwendeten Service-Programme. Und eine Liste mit Programmen und die darin verwendeten Module.
    Vielleicht hilft Dir das ja schon mal weiter. Einfach mal googlen.

    Gruß,
    KM

  4. #4
    Registriert seit
    Nov 2007
    Beiträge
    371
    hallo zusammen,
    danke für die antworten. hmmm, hab ich mir schon gedacht, dass das nicht mehr geht.
    das mit den modul und serviceprogramm listen habe ich auch gefunden aber das bringt mir in diesem zusammenhang auch nichts mehr . aber trotzdem vielen dank für eure hilfe . wie immer bekommt man hier sehr schnell und sehr gute infos .
    gruss woody

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Wenn die Quellen der Programme noch vorliegen, kannst du die ja mit PDM-15 erstellen, also nur die Module.
    Dann hast du die Infos ja.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  6. #6
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Sofern Dir der Source Code vorliegt, kannst Du ja vielleicht auch mit dem CL-Befehl FNDSTRPDM einfach die Quellen nach dem Procedure-Namen durchsuchen. (Oder über die RDi - Suchfunktion scannen).

    Ich weiß ja nicht wofür Du das Ganze benötigst.

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  7. #7
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Bei fertigen Programmen geht das leider nicht mehr, da externe Referenzen aufgelöst sind.
    Wenn du die einzelnen Module noch hast (was mit PDM-14 nicht der Fall ist) kannst du die Informationen mit folgendem API auslesen:
    List Module Information (QBNLMODI) API

    Hier bekommst du die referenzierten und exportierten Prozeduren/Variablen.

    Prototyp-Calls auf OPM-Programme (EXTPGM) können so nicht ermittelt werden, die erhältst du weiterhin per DSPPGMREF.
    ... die Module Informationen helfen nix, wenn man keine eindeutigen Exportnamen hat (weshalb ich solche immer dringendst empfehle - aber es gibt immer Leute, die Probleme haben wollen, die man nicht haben muss!!!).

    In solchen Fällen bleibt nur der blutige Weg, sich die Informationen per API von oben runter zu holen (was ist in dem Programm gebunden, wer liefert die passenden Exporte etc.). Programm(e) neu erstellen hilft hier meist nix, weil das ja genau das ist, was einem ja mit dem einen großen BNDDIR (wie von vielen sogenannten Experten empfohlen) gerade nicht mehr korrekt gelingt.

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  8. #8
    Registriert seit
    Nov 2007
    Beiträge
    371
    Ziel sollte sein das wir z.b. ein Liste/Datei erstellen könnten mit folgendem inhalt

    PGMA ruft EXT-PROZEDUR a,b,c,e,f,g auf

    PGMB ruft EXT-PROZEDUR, aa,b,cc,f,hh auf
    usw usw.

    Warum wir das brauchen würden liegt an der , hmmm ich nenne sie mal gewachsenen Programmierung durch X User und jeder kocht sein eigenes Süppchen, Programmierung. Und noch ein paar Gründe mehr .


    @bender.

    Diese Infos kann ich mir doch auch nicht von "oben herab holen" oder??.
    Die Modullisten, wie du schon sagtest, usw bringen mir nix weil die nur darstellen welche Prozeduren sie verwenden .

  9. #9
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    ...
    DSPMOD DETAIL(*IMPORT) OUTPUT(*OUTFILE) ...
    DSPMOD DETAIL(*EXPORT) OUTPUT(*OUTFILE) ...
    erstellt 2 Dateien, die man mit SQL zu Cross Referenz Zwecken auswerten kann.

    Das bringt aber nix, wenn Exportnamen nicht eindeutig sind!!!
    Dann braucht man zusätzlich Informationen welche Module in welchen Programmen/Service Programmen enthalten sind - und zwar von oben nach unten aufgelöst.

    Ganz einfach wird das, wenn man:
    immer nur ein Modul pro Programm oder Serviceprogramm hat und Name des Programms/SRVProgramms = Modulname wählt und alle exportierten Prozeduren im Prototyp mit dem Namen des Moduls als Prefix renamed.

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  10. #10
    Registriert seit
    Nov 2007
    Beiträge
    371
    à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 .

  11. #11
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Zitat Zitat von woodstock99 Beitrag anzeigen
    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
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  12. #12
    Registriert seit
    Nov 2007
    Beiträge
    371
    @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

Similar Threads

  1. Outq vor Neugierige schützen
    By Bau in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 01-06-07, 09:30
  2. Delusional cooperation
    By OSfllwr in forum NEWSboard Server Software
    Antworten: 0
    Letzter Beitrag: 11-01-07, 11:50
  3. Hilfe bei Lodrun Anleitung
    By marcel331 in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 12-08-06, 13:01
  4. Zugriff auf Serielle Schnittstelle aus RPG/VARPG
    By Kampi4 in forum NEWSboard Programmierung
    Antworten: 13
    Letzter Beitrag: 25-11-05, 07:37
  5. Java-Methoden und RPG Hilfe!!!!!!!
    By Nasenbär in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 22-05-03, 08:56

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •