[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Apr 2019
    Beiträge
    43

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.867
    %OPEN funktioniert nicht mit SQL sondern ist eine reine RPGLE-Funktion auf Dateien der F-Bestimmungen.

    Präventive Closes bedeuten ja nichts anderes als dass man nicht weiß was in dem Programm geschieht.
    Generell gibt es eine Option wann ein Cursor automatisch geschlossen wird.

    set option closqlcur = *ENDMOD / *ENDACTGRP;

    Zusätzlich könnte man Hauprprogramme die aus einem Menü aufgerufen werden immer mit ACTGRP(*NEW) umwandeln, dann wird auch alles geschlossen was zu der ACTGRP gehört.

    Ansonsten ist es halt guter Stil, wenn man im Programm Ressourcen freigibt wenn man sie nicht mehr braucht.
    Und wenn ihr halt grundsätzlich einen Close vor einem Open macht dann gibts halt die Joblogeinträge.

    Also bevor man eine Unterroutine verlässt immer überlegen, ob man den geöffneten Cursor in dieser Routine nicht schließt. Dies gilt auch für Fehlerbehandlung.
    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
    Feb 2017
    Beiträge
    43
    Ich habe das auch einige Zeit so gemacht, immer den einen close auf den Cursor abzusetzen bevor der open kommt. Habe mich aber auch an den Meldungen im Joblog gestört.
    Inzwischen gehe ich folgendermaßen vor:
    Zum einem rufe ich im on-exit immer den close cursor auf. Zum anderen rufe ich stumpf den open cursor auf und wenn ich dann den Code -502 (Cursor bereits geöffnet) bekomme, mache ich einen close gefolgt von einem erneuten open. Nach dem open dann nochmal den Code abfragen und wenn alles gut gehts weiter, sonst Abbruch.

  4. #4
    Registriert seit
    Dec 2005
    Beiträge
    131
    Danke für die Tipps - saubere Programmierung ist natürlich das sinnvollste.
    Aber die Abfrage beim OPEN (und anschließender CLOSE + OPEN) werde ich trotzdem mal ausprobieren.

Similar Threads

  1. Artikel: Open-Source in Deutschland
    By NEWSolutions Redaktion in forum NEWSolutions artikel
    Antworten: 0
    Letzter Beitrag: 31-01-17, 20:04
  2. open : Fehlercode 0P
    By WalterB in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 13-11-15, 12:20
  3. 9P bei open
    By fredywit in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 19-08-15, 13:07
  4. chgpftrg state(*enabled/disabled) Praxiserfahrung?
    By tfroehlich in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 23-07-14, 09:24
  5. Open Software/400
    By Alexander in forum NEWSboard Server Software
    Antworten: 0
    Letzter Beitrag: 15-11-01, 07:00

Berechtigungen

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