[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Aug 2001
    Beiträge
    2.965
    Wenn Du Prototyp und Procedure Interface anlegst und diese korrekt erfolgt eine Parameter-Prüfung bereits zur Compile-Zeit, Du kannst Input Only Parameter definieren und optionale Parameter prüfen.

    Durch eine Erweiterung in den letzten TRs bist Du nicht mehr gezwungen für jedes Programm mit Procedure Interface einen Prototypen anzulegen, d.h. beim Umwandeln des Programms genügt jetzt das Procedure Interface. Das macht Sinn, wenn ein Programm z.B. nur aus CL-Programmen aufgerufen wird.

    Wenn Du allerdings ein Programm im RPG-Free-Format aufrufen willst, bauchst Du einen Prototypen, der dem Procedure-Interface zumindest was die Anzahl und Definition der einzelnen Parameter-Felder angeht.

    Um sicher zugehen dass Prototyp und Procedure Interface übereinstimmen, sollte man den Prototypen auch in dem Programm, in dem das Procedure Interface definiert ist einbinden. Sofern ein Prototyp eingebunden ist wird dieser beim Compilieren mit den Procedure Interface abgeglichen. Stimmen beide nicht überein, kann das Programm nicht umgewandelt werden.

    Eine Mischung aus *ENTRY PLIST, Prototypen, CALL-Statements würde ich nicht empfehlen.

    Birgitta
    Birgitta Hauser

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

  2. #2
    Registriert seit
    Jan 2012
    Beiträge
    1.240
    Vielen Dank für eure Antworten. Wir möchten die Copy Strecken für unsere Prototypen nicht manuell schreiben, sondern wir möchten sie maschinell erzeugen. Wir haben dazu ein eigenes Compile Programm erstellt. Das Programm prüft, ob die Kompilierung geklappt hat und erzeugt nach erfolgreicher Kompilierung eine Copy Strecke für das Programm, indem es den Sourcecode untersucht. Das klappt auch soweit. Wir hätten nur gerne genau die Sicherheit, die Birgitta beschrieben hat: Nämlich den Prototyp in dem Programm, das gerade geändert und kompiliert wurde, einzubinden. Da beißt sich allerdings die Katze in den Schwanz: Wenn ich die Parameterliste in dem Programm erweitere, wird er das Programm nicht generieren, weil es nicht zum Prototyp passt. Da er das Programm nicht generiert, wird er aber auch die Copy Strecke nicht anpassen. Deshalb werden wir wohl erstmal darauf verzichten, den Prototyp in das Programm selbst einzutragen.

    Danke für alle Antworten.

    Dieter

Similar Threads

  1. Berechtigung physische versus logische Datei
    By Andreas Huyer in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 18-01-02, 07:15

Berechtigungen

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