[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte
  1. #1
    Registriert seit
    Sep 2005
    Beiträge
    396

    Offene Dateien und deren wiederverwendung

    Hallo Ihr Wissende.

    Bisher habe ich gedacht, das ein Pgm, mehrfach gerufen, nicht mit LR verlassen, immer in der selben ACTGRP laufend, auch immer den selben zugriffspfad verwendet.
    Das ist aber nicht so.
    Wir haben in einem Ablauf Lesepgmme eingesetzt. Innerhalb dieses 'Ablaufes' werden ca 20 Dateiein gelesen, zum lesen wird aber immer ein Lesepgm gerufen. An machnchen Tagen hat der Job über 7000 offene Datenpfade.
    Warum?
    im Wrkactjob --> 14 sehe ich die Dateien alle zig mal offen, alle in der selben ACTGRP
    Kann ich das 'irgendwie' anpassen das die offene Pfade wieder verwendet werden?
    (zugriff zu 90 % RPGLE 10% SQLLE)

    Danke
    Der ILEMax

  2. #2
    Registriert seit
    Sep 2005
    Beiträge
    396
    noch eine Ergänzung:
    Die Dateien in der Anzeige ganz oben sind die, die verwendet werden. Bei den weiteren offenen Dateien ist die Relative Anz immer 0!

    Code:
    DateiA          LIB_a          DateiA             LGL       4781 I   N.
    DateiA          LIB_a          DateiA             LGL          0 I   N.
    DateiA          LIB_a          DateiA             LGL          0 I   N.
    DateiA          LIB_a          DateiA             LGL          0 I   N.
    DateiA          LIB_a          DateiA             LGL          0 I   N.

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.280
    Nun, wird auch immer der selbe SQL wieder verwendet?
    Sobald du mit dynamischen SQL's umgehst und ggf. die Where-Klausel anpasst wird durchaus die Datei noch mal geöffnet, aber wie in der Anzeige ersichtlich trotzdem auf einer Datei gelesen.
    Ggf. könnte dies auch mit dem Callstack zusammenhängen, da der Open auf jeder Ebene durchgeführt wird.
    Beispiel:
    PGMA => LeseProgrammA
    PGMA => PGMB => LeseProgrammA

    Experimentiere mal mit der CloseCursor-Option (*ENDMOD).
    Der CloseCursor schließt nur den SQL-Zugriff aber beim 2. Mal nicht den ODP.
    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. #4
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    Solche Phänomene habe ich auch schon erlebt.
    Über die QAQQINI kannst du z.B. die max. Anzahl an offenen Zugriffspfaden einschränken.
    Ansonsten hast du da nicht wirklich Chancen was daran zu ändern.

  5. #5
    Registriert seit
    Sep 2005
    Beiträge
    396
    Da wo mit Sql gelesen wird, wird der Zugriff nur 1 mal dynamisch zusammen gebaut. Danach wird nur noch mit fetch next gelesen.
    Lt einer Mitarbeiterin tritt das auch bei 100 % RPGLE abläufen auf.
    Über 7000 offene Zugriffspfade und gerade mal bei 18 diese Pfade auch echte Zugriffe dahinter!
    Macht das 'irgenwo/wann' probleme? Performance ...?

  6. #6
    Registriert seit
    Mar 2002
    Beiträge
    5.291
    Zitat Zitat von ILEMax Beitrag anzeigen
    Da wo mit Sql gelesen wird, wird der Zugriff nur 1 mal dynamisch zusammen gebaut. Danach wird nur noch mit fetch next gelesen.
    Lt einer Mitarbeiterin tritt das auch bei 100 % RPGLE abläufen auf.
    Über 7000 offene Zugriffspfade und gerade mal bei 18 diese Pfade auch echte Zugriffe dahinter!
    Macht das 'irgenwo/wann' probleme? Performance ...?
    ... das ist entweder eine Sinnestäuschung (bist Du sicher was das Programm genau macht), oder ein veritabler Bug im DB2/400. Ein fetch next macht alles, nur keinen Zugriffspfad!

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.280
    Man beachte auch, dass die "echten" Zugriffe auch nur gefundene Sätze zählen.
    Liefert ein Open keine Daten, ist auch der Zähler 0!
    M.a.W.: von über 7000 Zugriffen haben nur 18 tatsächlich Daten geliefert.
    Die anderen Zugriffe waren erfolglos. Und hier ist dann anzusetzen, warum der Pfad noch offen bleibt.
    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

  8. #8
    Registriert seit
    Sep 2005
    Beiträge
    396
    Warum geht Ihr davon aus, das SQL die Ursache ist.
    Es tritt doch auch in 100 % RPGLE abläufen auf. Und da wird NUR mit setll, read, chain gelesen und nur von einem Lesepgm(Je Datei 1 Lesepgm). Das Lesepgm wird von verschiedenen Pgmmen gerufen, läuft aber immer in der selben ACTGRP. Die Anzeige der offenen Dateien zeigt z.B. das die PF MVVG1 in ACTGRP 17 mehr als 400 mal offen ist. Die LF MVVG100, MVVG101 und MVVG103 sind ebenfalls sehr sehr oft offen, ebenfalls in ACTGRP 17. Aber nur die 1. offene Datei (jeweils) hat zugriffe, alle anderen, Lt Anzeige, haben 0 zugriffe. Und ich frage mich WER die Datei öffnet. Im gesammten Ablauf hat nur das Jeweilige Lesepgm die Datei in der F-Karte, alle anderen haben die PF als EDS Extname(MVVG1)

  9. #9
    Registriert seit
    Mar 2002
    Beiträge
    5.291
    Zitat Zitat von ILEMax Beitrag anzeigen
    Warum geht Ihr davon aus, das SQL die Ursache ist.
    Es tritt doch auch in 100 % RPGLE abläufen auf. Und da wird NUR mit setll, read, chain gelesen und nur von einem Lesepgm(Je Datei 1 Lesepgm). Das Lesepgm wird von verschiedenen Pgmmen gerufen, läuft aber immer in der selben ACTGRP. Die Anzeige der offenen Dateien zeigt z.B. das die PF MVVG1 in ACTGRP 17 mehr als 400 mal offen ist. Die LF MVVG100, MVVG101 und MVVG103 sind ebenfalls sehr sehr oft offen, ebenfalls in ACTGRP 17. Aber nur die 1. offene Datei (jeweils) hat zugriffe, alle anderen, Lt Anzeige, haben 0 zugriffe. Und ich frage mich WER die Datei öffnet. Im gesammten Ablauf hat nur das Jeweilige Lesepgm die Datei in der F-Karte, alle anderen haben die PF als EDS Extname(MVVG1)
    ... weil die Beschreibung nicht zu der Beobachtung passt.
    - nur ein Leseprogramm öffnet die Dateien
    - dieses Leseprogramm läuft immer in derselben ACTGRP
    - das Programm hat kein SQL (das war in den Postings nicht klar formuliert)
    - die Datei hat etliche (400) offene Datenpfade in einem Job
    eins von denen ist falsch, oder Du solltest erst mal Deinen PTF Stand aktualisieren.

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  10. #10
    Registriert seit
    Sep 2005
    Beiträge
    396
    ... weil die Beschreibung nicht zu der Beobachtung passt.
    deswegen frag ich ja
    - nur ein Leseprogramm öffnet die Dateien
    - dieses Leseprogramm läuft immer in derselben ACTGRP
    - das Programm hat kein SQL (das war in den Postings nicht klar formuliert)
    - die Datei hat etliche (400) offene Datenpfade in einem Job
    ja, ja, ja und ja!
    eins von denen ist falsch, oder Du solltest erst mal Deinen PTF Stand aktualisieren.
    Was heist eins von denen?
    PTF Stand ist (lt. Kunde) aktuell (hier glaub ich das sogar)

  11. #11
    Registriert seit
    Feb 2001
    Beiträge
    20.280
    Da hilft dann nur, eine Trace-Funktion der betroffenen Routinen einzubauen und einen Eintrag zu loggen. Hilfreich in den Nicht-SQL-Programmen ist dabei, die Datei per USROPN zu definieren damit die impliziten Open zu reduzieren.
    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

  12. #12
    Registriert seit
    Mar 2002
    Beiträge
    5.291
    ... einfacher wäre, schlicht zu journalisieren - mit open close!!! - und erst mal auszuschließen:
    - dass es andere Programme gibt, die die Datei verwenden
    - dass der Ablauf ein anderer ist, als vermutet

    D*B
    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. XLM-Dateien
    By jajonowak in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 05-04-17, 10:12
  2. offene Datenpfade
    By Robi in forum NEWSboard Programmierung
    Antworten: 18
    Letzter Beitrag: 20-01-15, 09:13
  3. SQLRPGLE und offene Dateien
    By Tonazzo in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 16-06-14, 09:30
  4. Offene Sitzung auf der AS400 wieder aufnehmen!
    By kriss in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 07-02-03, 09:15
  5. Drucke und deren Verteilung
    By Stevens in forum NEWSboard Drucker
    Antworten: 3
    Letzter Beitrag: 18-11-01, 14:25

Berechtigungen

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