[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Jan 2012
    Beiträge
    1.206
    Ich habe das gerade mal ausprobiert und 3 Serviceprogramme IDM99A1F05, IDM99A1F06 und IDM99A1F07 in die parallele Wandlung geschickt. Die Programme haben vor der Wandlung keine Objektsperren. Während der Wandlung haben alle Programme jedoch Sperren durch den den eigenen und durch die anderen Wandlungsjobs.

    Hier mal der WRKOBJLCK für das Objekt IDM99A1F06:
    Job Benutzer Sperre Status
    IDM99A1F05 SCHRO970 *SHRRD HELD
    IDM99A1F06 SCHRO970 *SHRRD HELD
    *EXCL WART
    IDM99A1F07 SCHRO970 *SHRRD HELD

    Das heißt, die Kompilierung sperrt die Programmobjekte. Aber wieso? Das ein Job das Programm sperrt, welches er gerade kompilieren und ersetzen will, ist ja klar. Aber wieso sperrt er die anderen Programmobjekte?

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.706
    Wenn beim Compile auf ein anderes Serviceprogramm referiert wird, löst der Compiler die Referenz bereits auf (Grund sind Signaturprüfungen u.ä.).
    Deshalb wird die Sperre benötigt.

    Du kannst z.B. kein ILEPGM auf eine Maschine zurückspeichern, wenn die Referenz zu einem Serviceprogramm nicht da ist. Also der RSTOBJ greift in diesem Fall auch bereits auf das Serviceprogramm zu.

    Ich hatte leider mal den Fall, dass ich eine C-Routine eingebunden hatte die auf dem Zielsystem noch nicht vorhanden war. Der RSTOBJ ist da bereits gescheitert.
    Ich konnte also nicht wie gedacht, per Monitor-Anweisung die Existenz der Routine prüfen, das erledigt bereits das System lange vorher.
    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
    Jan 2012
    Beiträge
    1.206
    Ich habe mir gerade nochmal die Sourcen der 3 Serviceprogramme angesehen. Bei diesen 3 Programmen ist es so, dass keines der Programme irgendwelche Referenzen auf andere Serviceprogramme hat. Die einzige Gemeinsamkeit der 3 Programme ist, dass sie im gleichen Binderverzeichnis stehen. Beim Compile wird das Binderverzeichnis (das ist unser zentrales Binderverzeichnis) allerdings bei jedem Programm angegeben.

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.706
    Das Binderverzeichnis sperrt dann die Objekte, da ja die Referenzen benötigt werden.
    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

  5. #5
    Registriert seit
    Jan 2012
    Beiträge
    1.206
    Vielen Dank für die Antwort. Dann heißt das für uns anscheinend, dass wir parallele Kompilieren vergessen können, sobald wir Binderverzeichnisse einsetzen. Tja, dann müssen wir wohl damit leben.

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.706
    Nur paralleles Kompilieren von Service-Programmen ist das Problem.
    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

  7. #7
    Registriert seit
    Jan 2012
    Beiträge
    1.206
    Das lässt sich bei uns nicht so einfach unterscheiden. Wenn wir wegen einer Dateiänderung alles neu kompilieren wollen, was diese Datei verwendet, sind da natürlich auch Serviceprogramme dabei.

Similar Threads

  1. DATFMT beim Kompilieren
    By meini in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 14-11-12, 14:59
  2. WDSc - Fehlermeldung beim Kompilieren
    By Drittaccount in forum NEWSboard Programmierung
    Antworten: 10
    Letzter Beitrag: 20-10-05, 08:05

Berechtigungen

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