-
Parameter eines Programms ermitteln
Hallo Welt
Gibt es eine Möglichkeit zu ermitteln, welche Parameter (Anzahl, Art und Länge) an ein RPG-Programm übergeben werden müssen, ohne den Sourcecode dieses Programms zu haben?
Mit DSPPGM und DSPPGMREF hab ich es schon versucht, sehe dort aber leider keine Möglichkeit.
OS-Version ist V5R3M0 ... ja, ich weiß, uralt, aber ein Upgrade ist nicht möglich, weil die
Maschine Ende dieses Jahres weggeschmissen wird. :-(
Schöne Grüße aus Österreich
-
Moin,
wenn Du das PGM debuggen kannst, könntest Du die Parameter erkennen.
Hth
Bernd
-
Allerdings nur, wenn der Sourcecode eingebettet (Spool) oder eben vorhanden ist.
-
Mit DSPPGM kann man zumindest die ANZAHL sehen.
Eine Möglichkeit wäre auch noch, dass man das Pgm (ohne Parameter!) aufruft, dieses sollte dann ja auf einen Fehler laufen und dann mit "D" einen Dump erstellen.
In diesem sind dann ja im Klartext(!) alle Feldnamen und Feldlängen zu sehen.
Mit etwas "Glück" kann man dann die Entry-Parameter anhand der Namen "erraten" ...
-
Bei HLL-OPM-Programmen ist die Anzahl immer 0 - N, bei ILE-Programmen immer 0 - 255!
Übergibt man zu viele Parameter merkt das Programm nichts.
Meist stürzt das Programm beim Aufruf ohne Parameter ab.
Ich kenne aber auch Programme, die die Anzahl abfragen und beim Fehlen mit Defaults arbeiten.
-
... in einer ordentlichen Dokumentation steht sowas drin, hat man keine Dokumentation, ist es besser das Programm schmiert beim Aufruf ab anstatt Unfug zu machen, weil Parameter technisch richtig aber inhaltlich falsch bedient wurden.
D*B
Zitat von Daechsle
Hallo Welt
Gibt es eine Möglichkeit zu ermitteln, welche Parameter (Anzahl, Art und Länge) an ein RPG-Programm übergeben werden müssen, ohne den Sourcecode dieses Programms zu haben?
Mit DSPPGM und DSPPGMREF hab ich es schon versucht, sehe dort aber leider keine Möglichkeit.
OS-Version ist V5R3M0 ... ja, ich weiß, uralt, aber ein Upgrade ist nicht möglich, weil die
Maschine Ende dieses Jahres weggeschmissen wird. :-(
Schöne Grüße aus Österreich
-
Oh Mann ...
Das mit dem Aufruf ohne Parameter war ja nur als Beispiel gedacht.
Mit den Erklärungen, warum's nicht geht, ist dem Fragesteller ja nicht geholfen ... :-(
Also: Ist es ein RPGIII Pgm, dann kann man mit DSPPGM die Anzahl sehen (ist immer die zweite Zahl nach der "0").
Mehr Infos gibt es aber (wie gesagt) aus dem ProgrammDUMP.
Es ist nur wichtig, dass Du das Pgm so aufrufst, dass es gleich abstürzt (der Aufruf ohne Parameter war ja nur eiN Beispiel).
Es geht zB auch so, dass Du die LIBL so herrichtest, dass eine Datei nicht geöffnet werden kann. Hauptsache dass das Ding abstürzt und Du die Nachricht dann mit "D" für Dump beantwortest.
Ich habe es gerade ausprobiert. Ich meine, dass man die Parameterfelder eindeutig erkennen kann:
Ist es RPGIV, dann suche im Dump nach der Zeichenfolge "_PSTR_", damit sind anscheinend die Entry-Parameter gekennzeichnet.
Ist es RPGIII, dann sind die Feldnamen der Entryparms am Ende mit ".P " erweitert.
Jedenfalls sollten die Felder so alle zu ermitteln sein.
Lediglich die Reihenfolge ist dann noch ein Problem, weil im Dump sind die Felder in alphabetischer Reihenfolge ...
Aber evtl. kannst Du mit obigem Ablauf schon alles Notwendige herausfinden.
-
Vielen Dank für eure zahl- und hilfreichen Antworten.
Debuggen kann ich das Programm mangels Sourcecode leider nicht.
DSPPGM sagt:
Anzahl der Parameter . . . . . . . . . . . . . . : 0 3
Wenn ich das Programm ohne Parameter aufrufe, stürzt es ab und im Dump steht:
Anzahl Parameter . . . . . . . . . . . : 000
Im Dump gibt es 3 Feldnamen mit ".P" am Ende, also handelt es sich offenbar um ein RPG III Programm mit 3 Parametern.
Leider gibt es bei diesen 3 Feldnamen keine Längenangabe und die Reihenfolge ist eben nicht ersichtlich.
Eine Dokumentation haben meine Vorgänger, die dieses Programm vor vielen Jahren geschrieben haben (letzte Änderung des PGM-Objekts am 11.9.2006), leider nicht überliefert.
Schlussendlich bringt mich das alles leider nicht zum gewünschten Ziel, nämlich zu wissen, mit welchen Parametern (Reihenfolge, Typ, Länge) ich das Programm aufrufen muss.
Trotzdem bedanke ich mich nochmals für euere Antworten.
-
Hallo nochmals,
bei einer Frage ("Länge") kann ich noch helfen.
Du musst von den 3 Feldnamen nun das ".P" weglassen und im Dump nochmals suchen, dann siehst Du die 3 Felder mit den Längenangaben (das ".P" steht ja nur im Dump, gehört aber eigentlich nicht zum Feldnamen!).
Lediglich die Reihenfolge fehlt noch.
Das könntest Du evtl. in einer Testumgebung mit dem bewährten try-and-error Prinzip herausfinden ...
-
Zitat von hel400
Hallo nochmals,
bei einer Frage ("Länge") kann ich noch helfen.
Du musst von den 3 Feldnamen nun das ".P" weglassen und im Dump nochmals suchen, dann siehst Du die 3 Felder mit den Längenangaben (das ".P" steht ja nur im Dump, gehört aber eigentlich nicht zum Feldnamen!).
Bei allen 3 Feldern mit und ohne ".P" steht bei mir leider "NOT ADDRESSABLE" anstelle der Länge.
:-(
-
Oje, schade ... bei meinem Test war das schön zu sehen.
(kommt möglicherweise darauf an, auf welche Art die Felder definiert sind, direkt/like/dds ...)
Und rein anhand der Namen dämmert auch nichts..?
-
Zitat von hel400
Und rein anhand der Namen dämmert auch nichts..?
Bei den Namen P1PARM, P2PARM und PORTN (Letzerer geht ja noch) bricht bei mir leider eher völlige Dunkelheit als Dämmerung herein ... :-(
Similar Threads
-
By Etherion in forum IBM i Hauptforum
Antworten: 5
Letzter Beitrag: 04-03-15, 13:34
-
By harkne in forum NEWSboard Programmierung
Antworten: 7
Letzter Beitrag: 13-01-15, 16:43
-
By Ottersberg in forum NEWSboard Programmierung
Antworten: 13
Letzter Beitrag: 04-09-14, 10:31
-
By HoScHiE in forum IBM i Hauptforum
Antworten: 28
Letzter Beitrag: 17-01-08, 10:35
-
By it-wolf in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 10-07-02, 13:50
Tags for this Thread
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