-
Das geht da genauso:
EXTPGM{(name)}
The EXTPGM keyword indicates that the prototype represents a dynamic call to a program.
The parameter specifies the external name of the program whose prototype is being defined. The name
can be a character constant or a character variable.
Somit kannst du zur Laufzeit beliebige Programme aufrufen, die dieselben Parameter haben.
Parameter werden allerdings immer per reference übergeben. Wenn du einen Parameter als const definierst, hindert das das aufrufende Programm nicht, es zu ändern (wenn es ohne DCL-PI definiert ist).
Allerdings entscheidet die Variablendeklaration des Rufers und des Gerufenen, wie der Inhalt zu interpretieren ist.
D.h. wenn der Rufer char(10), der Gerufene char(20) hat, kann er 20 Zeichen verarbeiten, auch wenn er Schrott enthält.
Umgedreht, der Rufer char(20), der Gerufene char(10), kommt der nur an 10 Stellen dran.
Aber das war sschon immer so, und sollte eben durch DCL-PR/DCL-PI weitgehend vermieden werden können.
Du kannst zusätzlich auch options(*omit:*nopass) zulassen, um die Parameter variabel zu gestalten.
Ein sauberer Programmierstil ist das allerdings nicht.
Wenn du die Variable änderst, ändert sich auch der interne Programmpointer beim nächsten Call. Allerdings verhindert dies nicht, dass das Programm im Speicher verbleibt.
Beim nächsten Aufruf des vorherigen Programmes kann es dann zu Unschönheiten kommen, da ggf. der Initial-Aufruf (automatische Open von Dateien, Variablen initialisierungen) nicht erfolgt, was zu weiteren Problemen führen kann.
Im Gegensatz zu RPGIV gibts den Free-Befehl nicht mehr, der ein Programm tatsächlich entlädt und beim nächsten Aufruf wieder neu aufruft und somit der Init durchlaufen wird.
Im DCL-PR für Prozeduren kann man übrigens Prozedur-Pointer Variablen statt Namen verwenden und somit auch dies dynamisieren.
Similar Threads
-
By malzusrex in forum NEWSboard Programmierung
Antworten: 17
Letzter Beitrag: 15-11-13, 11:21
-
By Xanas in forum NEWSboard Programmierung
Antworten: 1
Letzter Beitrag: 12-08-09, 08:42
-
By France in forum NEWSboard Programmierung
Antworten: 6
Letzter Beitrag: 28-03-03, 09:25
-
By Kirsten Steer in forum Archiv NEWSblibs
Antworten: 0
Letzter Beitrag: 17-01-03, 11:57
-
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