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:
PHP-Code:
D PgmCALL         PR                  ExtPGM(VarPGM)
D   Parm1                             like(RefFld1)
D   Parm2                             like(RefFld2)     

D VarPGM          S             10A 
 
*------------------------------------------------------
 /
Free
     VarPGM 
'MYPGMNAME';
     
CallP PgmCALL(MyParm1MyParm2);

     
VarPGM 'MYPGM2';
     
PgmCall(MyParm1MyParm2);
 /
End-Free 
Das ist doch einfacher als ein Programm in eine Prozedur zu verwandeln und dann Prozedur Pointer und API-Aufrufe einzusetzen oder?

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