[NEWSboard IBMi Forum]
Seite 2 von 2 Erste 1 2
  1. #13
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Die Anweisung FREE gibt das aufgerufene Programm frei und schließt auch alle Dateien dieses Programmes.

    Hinter FREE und Return mit *INLR = *ON verbirgt sich die selbe MI-Anweisung zur Deaktivierung der Instanz, wobei im Programm selber ggf. noch Puffer von O-Dateien weggeschrieben werden.
    Free macht das nicht, sondern alle Ressourcen des Programmes werden freigegeben.
    Allerdings betrifft das nur diesen Aufruf, Ressourcen, die durch weitere Unterprogramme belegt wurden werden natürlich nicht freigegeben, hier hilft tatsächlich nur RCLRSC.

    Call-Stack und Aktivierung sind leider zwei verschiedene Dinge.
    Beim 1. Aufruf wird ein Programm aktiviert und bekommt intern halt eine Aktivierungs-ID.
    Danach erfolgt der Aufruf, so dass das Programm nun im Callstack steht und nach Return wieder verschwindet.
    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. #14
    Registriert seit
    Dec 2005
    Beiträge
    51
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Die Anweisung FREE gibt das aufgerufene Programm frei und schließt auch alle Dateien dieses Programmes.
    Aus dem RPG-Handbuch, FREE Opcode, IBM c0918170, Seite 259:

    "The FREE operation removes a program from the list of activated programs, frees static storage, and ensures program initialization (first cycle processing) the next
    time the program is called. It does not close files or unlock data areas.

  3. #15
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Ich glaube auch die IBM weiß nicht was da läuft.
    "removes a program from the list of activated programs"

    Wenn also das Programm deaktiviert ist, versucht es beim nächsten Aufruf auch wieder die Open, die dann auf die nase fallen würden.
    Aber ich probier das einfach mal aus .
    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

  4. #16
    Registriert seit
    Dec 2005
    Beiträge
    51
    Tja die IBM Doku ist zwar sehr umfangreich, aber in vielen Fällen schlicht 'fuzzi'. Ich konnte eine Menge Dinge im Projekt nur aufgrund meiner Berufserfahrung designen, erklären konnte ich es den Kollegen nicht: "Das war schon immer so"

    Ich nehme an, dass die offenen Dateien für ODPs sind, also gemeinsame File Pointer. Aber siehe oben: 'ich nehme an' ;-)

    Danke fürs Probieren!

  5. #17
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    ODPS gelten für tatsächlich gemeinsame Open (SHARE *YES), die man naturgemäß vermeiden sollte.
    Einzig SQL verwaltet diese ODP's meistens korrekt.
    Ein Notclose (FREE/RCLRSC) zählt dann halt die Anzahl Open zurück und schließt den ODP wenn der Zähler auf 0 geht und killt Locks.

    Ressourcen, die auf anderem Wege gehalten werden (z.B. C-Funktionen open() oder ähnliches) sind davon leider nicht betroffen. Die schafft mit unter auch nicht der RCLRSC. Diese weden erst bei Auflösung der ACTGRP freigegeben, was bei der Default-ACTGRP leider erst bei Jobende möglich 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

Similar Threads

  1. CPYF in DDMF (im CLLE Batch Job) endet nicht
    By msost in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 09-04-13, 13:57
  2. *INLR vs. RCLRSC / Aktivierungsgruppen?
    By Stoeberl in forum NEWSboard Programmierung
    Antworten: 7
    Letzter Beitrag: 19-05-05, 08:28

Tags for this Thread

Berechtigungen

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