-
Wenn es nur darum geht das rufende Programm zu ermitteln, sind 2 CL-Befehle ausreichend.
Beispiel:
PHP-Code:
PGM PARM(&CALLER +
&CALLED)
/* ---------------------------------------------------------------*/
DCL VAR(&CALLER) TYPE(*CHAR) LEN(10)
DCL VAR(&CALLED) TYPE(*CHAR) LEN(10)
DCL VAR(&MSGKEY) TYPE(*CHAR) LEN(4)
DCL VAR(&SENDER) TYPE(*CHAR) LEN(80)
/* ---------------------------------------------------------------*/
SNDPGMMSG MSG('TEST') +
TOPGMQ(*PRV (&CALLED)) +
MSGTYPE(*RQS) +
KEYVAR(&MSGKEY)
RCVMSG PGMQ(*PRV (&CALLED)) +
MSGKEY(&MSGKEY) +
SENDER(&SENDER)
CHGVAR VAR(&CALLER) VALUE(%SST(&SENDER 56 10))
ENDE: ENDPGM
Bei CALLED übergibst Du das aktuelle Programm und in CALLER bekommst Du das rufende Programm zurück.
Jetzt brauchst Du nur noch eine Schleife darum zu bauen, und jeweils immer den CALLER als CALLED übergeben, solange, bis Du entweder Dein Programm findest (Rekursiver Aufruf) oder bis Du am Anfang des CALL-Stack bist.
Ansonsten ist es auch möglich RPGIV-Programme rekursiv aufzurufen. Sie benötigen lediglich Aktivierungsgruppe *NEW.
Birgitta
-
Vielen Dank an alle,
ich habe mich entschieden, in meinem Fall das (geniale) CL von Birgitta zu verwenden (Einverständnis vorausgesetzt); ist für bestehende Anwendungen ideal, vor allem wenn man es auf den Knall beim CALL nicht ankommen lassen will, sondern vorher Fußzeile und F-Tasten verändern / sperren möchte.
Die Statusabfrage (Fuerchau) werde ich versuchen, bei jedem CALL zum Standard zu machen (wird nicht einfach; ich bin im Unternehmen nicht der einzige PGMR).
Nochmals danke
Klaus Hardy
-
Hier gibt es noch ein Beispielprogramm zum besagten API. Das API liefert noch eine ganze Menge an zusätzlichen Informationen. http://www.rlpforen.de/showthread.php?t=9375
Frank Hildebrandt
Similar Threads
-
By dino in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 17-01-07, 09:23
-
By hh-mi in forum IBM i Hauptforum
Antworten: 5
Letzter Beitrag: 15-11-06, 12:23
-
By alexander may in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 18-05-06, 20:16
-
By kuempi von stein in forum NEWSboard Programmierung
Antworten: 11
Letzter Beitrag: 20-08-04, 15:08
-
By areichelt in forum NEWSboard SAP
Antworten: 2
Letzter Beitrag: 24-02-02, 16:44
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