[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Aug 2001
    Beiträge
    2.942

    Dynamischer Aufruf von Programmen

    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
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.784
    @Birgitta
    Meine Hochachtung. Wie immer, gewusst wo !
    Funktioniert das auch mit Prozeduren ?
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Aug 2001
    Beiträge
    2.942
    Zitat Zitat von Fuerchau
    @Birgitta
    Meine Hochachtung. Wie immer, gewusst wo !
    Funktioniert das auch mit Prozeduren ?
    Leider nein!
    Bei Prozeduren muss man mit Procedure Pointern arbeiten.
    PHP-Code:
    D ProcDSIN        PR                  ExtProc(MyProcPtr)  
    D   ParmDSIN                          like(DSIN)     
      
    D MyProcPtr       S               *   ProcPtr   
     
    /Free
        MyProcPtr 
    = %PAddr('MYPROCEDURE');
        
    ProcDSIN(MyDSIN); 
     /
    End-Free 
    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

Similar Threads

  1. Datum-Konvertierung free rpg
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 6
    Letzter Beitrag: 14-03-08, 07:21
  2. Frei Porn Site!
    By Fucasdreh in forum NEWSboard Server Job
    Antworten: 0
    Letzter Beitrag: 10-01-07, 14:12
  3. timestamp im free format
    By redsky in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 04-05-05, 13:26
  4. FREE RPG .. TESTN
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 7
    Letzter Beitrag: 25-01-05, 08:43
  5. Free Rpg Zeitdauer errechnen
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 12-07-04, 10:27

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •