Hallo Leute,
es ist sehr wohl möglich Programme variabel mit CALLP aufzurufen!
Dabei wird ein Prototyp mit dem Schlüssel-Wort EXTPGM(Variable) erstellt. Der Prototyp wird ins Programm eingebunden und die Variable mit dem Programm-Namen gefüllt.
Beispiel:
Das ist doch einfacher als ein Programm in eine Prozedur zu verwandeln und dann Prozedur Pointer und API-Aufrufe einzusetzen oder?PHP-Code:D PgmCALL PR ExtPGM(VarPGM)
D Parm1 like(RefFld1)
D Parm2 like(RefFld2)
D VarPGM S 10A
*------------------------------------------------------
/Free
VarPGM = 'MYPGMNAME';
CallP PgmCALL(MyParm1: MyParm2);
VarPGM = 'MYPGM2';
PgmCall(MyParm1: MyParm2);
/End-Free
Wie bereits festgestellt heisst CALLP (call with Prototype) und nicht mehr wie ursprünglich call procedure. Die Namensänderung wurde zu dem Zeitpunkt eingeführt als man auch für Programme Prototyping nutzen konnte (Release V4R3 oder so).
Birgitta
![[NEWSboard IBMi Forum]](images/duke/nblogo.gif)



Mit Zitat antworten
Bookmarks