[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    @Dieter
    Stimmt, nur die C-Routinen und die Runtime-Funktionen sind "hart" verbunden.

    @Chrisoph
    Wichtig ist also, dass ALLE Serviceroutinen in dem anderen Service-Programm enthalten sind.
    Es kann also nicht eine Routine über LibA und die andere über LibB ermittelt werden, da die Suchfolge 1. Programm und 2. Routine ist.
    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

  2. #2
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    Hallo,

    @Baldur
    am Besten sieht man am CRTPGM und DSPPGM was da geht:
    man kann ein SRVPGM mit *LIBL binden und qualifiziert und das geht für jedes SRVPGM extra.
    Im PGM Objekt sind dann alle benötigten Procedures über ihre Serviceprogramme gebunden und werden bei Aktivierung (zur Startzeit des Programmes) entsprechend der Bindeangabe (LIBL oder qualifiziert) auf Procedure Pointer vernagelt. Selbstverständlich müssen die zur Laufzeit (wie auch immer) gefundenen Serviceprogramme dieselbe Signatur haben (die gleichen Exporte anbieten), wie das SRVPGM, das beim Compile verwendet wurde (nur Virtuosen oder Wahnsinnige verwalten Signaturen selber und wer ist schon Virtuose?!).
    Zur Aufrufzeit werden dann nur noch Procedure Pointer stumpf verwendet, wenn das schief geht, geht's halt schief.
    An die Runtime Funktionen kommt man nicht dran, da hier die Bindeangaben hart verdrahtet sind, zudem werden diese nicht als SRVPGM, sondern als Module by copy gebunden und alles was by copy gebunden wird steht zur Compiletime statisch im PGM Objekt drin. Soweit C Routinen (welche auch immer) über ein SRVPGM by reference gebunden werden, lässt sich LIBL oder qualifiziert wieder einstellen, im Binding Directory, oder beim BNDSRVPGM des CRTPGM - genau diese Lage ist einer der wesentlichen Gründe, weshalb ich dazu rate auf Binding Directories zu verzichten, den Quatsch mit Binder Language zu unterlassen und stattdessen die Create Befehle in die Quellen zu schreiben (da gibt es ein kleines Tool auf meiner Freeware Seite...) oder Change Management Software zu verwenden.

    mfg

    Dieter Bender

    Zitat Zitat von Fuerchau
    @Dieter
    Stimmt, nur die C-Routinen und die Runtime-Funktionen sind "hart" verbunden.

    @Chrisoph
    Wichtig ist also, dass ALLE Serviceroutinen in dem anderen Service-Programm enthalten sind.
    Es kann also nicht eine Routine über LibA und die andere über LibB ermittelt werden, da die Suchfolge 1. Programm und 2. Routine ist.
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

Similar Threads

  1. Programm auf "ferner" AS400 ausführen.
    By Souljumper in forum NEWSboard Programmierung
    Antworten: 6
    Letzter Beitrag: 13-05-09, 19:50
  2. Zu einem Programm die Service-Attribute ändern!
    By ExAzubi in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 18-01-07, 15:06
  3. Programmbibliothek in einem Cobol oder CL Programm ermitteln
    By schatte in forum NEWSboard Programmierung
    Antworten: 19
    Letzter Beitrag: 10-01-07, 11:32
  4. iSeries mit mehreren virtuellen Instanzen
    By Christian.Hesse in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 25-11-06, 05:57

Berechtigungen

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