[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Sep 2005
    Beiträge
    15

    Question ODP in einem Server-Job schliessen

    Hallo zusammen,

    bin heute auf ein Problem gestoßen.
    Ein Server-Job führt folgende Routine aus:
    - ruft CL-Pgm A
    - CL-Pgm A ruft RPG-Pgm B
    - RPG-Pgm B liest die Datei X
    - beim RPG-Pgm wird der Schlater *INLR nicht gesetzt

    Im CL-Pgm A möchte ich steuern auf welche Datei das RPG-Pgm B zugreifen soll. D.h. es gibt die gleiche Datei X in unterschiedlichen Bibliotheken (B1, B2, etc).
    Die Routine, welche die Bibliothekliste entsprechend anpasst, ist in CL-Pgm A implementiert.
    Es klappt aber nicht!
    Dadurch, dass beim 1-ten Durchlauf der Dateipfad zu Datei X in der Bibliothek z.B. B1 aufgebaut und nicht geschlossen wird, wird bei jeden weitern Durchlauf immer noch auf die Datei X in der Bibliothek B1 zugegriffen.

    Meine Frage ist also, gibt es eine Möglichkeit in einen CL-Pgm die offenen Datenpfade zu schliessen?

    Bin für jeden Ratschlag dankbar.

    Gruß
    Vladimir

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Das Zauberwort heisst:
    Für OPM: RCLRSC
    Für ILE: RCLACTGRP
    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
    Sep 2005
    Beiträge
    15
    Diese Befehle habe ich auch bereits ausprobiert, aber ohne Erfolg.
    Vielleicht liegt es daran, dass alle Pgme innerhalb dieses Job in einen und derselben Aktivierungsgruppe sind?

  4. #4
    Registriert seit
    Sep 2005
    Beiträge
    15
    Das Problem ist jetzt gelöst.

    Habe RCLRSC anstatt am Anfang des CL-Pgms ans Ende verschoben. Und sieh an, es funktioniert.

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    RCLRSC ist im Prinzip direkt nach dem CALL aufzurufen.
    Klar, wenn du direkt am Anfang RCLRSC durchführst werden offene ODP's auch gelöscht.
    Haupsache es findet innerhalb deiner Schleife statt.
    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

  6. #6
    Registriert seit
    Jun 2006
    Beiträge
    356

    Anzahl offene Datenpfade ermitteln?

    Hallo,

    gibt es eine Möglichkeit die Anzahl der offenen Datenpfade eines Jobs zu ermitteln? In WRKJOB Auswahl 14 wird die Anzahl der offenen Datenpfade angezeigt. Kann dieser Wert auch programmtechnisch ermittelt werden?

    Gruß
    Matthias

  7. #7
    Registriert seit
    Jun 2006
    Beiträge
    356
    Man sollte das ganze wohl mit dem API QDMLOPNF hin bekommen.

    Hat jemand zufällig ein Beispiel Programm?

  8. #8
    Registriert seit
    Aug 2004
    Beiträge
    923
    Zitat Zitat von schatte Beitrag anzeigen
    Man sollte das ganze wohl mit dem API QDMLOPNF hin bekommen.

    Hat jemand zufällig ein Beispiel Programm?
    meint er sowas?
    Think400 - iSeries (AS/400) API interfaces

    k.

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

    warum öffnest und schließt du die Datei dann nicht einfach user controlled im RPG??? den OVRDBF kannst due ebenfalls dort per system (oder QCMDEXC) einfacher erledigen.

    D*B

    Zitat Zitat von V_P Beitrag anzeigen
    Hallo zusammen,

    bin heute auf ein Problem gestoßen.
    Ein Server-Job führt folgende Routine aus:
    - ruft CL-Pgm A
    - CL-Pgm A ruft RPG-Pgm B
    - RPG-Pgm B liest die Datei X
    - beim RPG-Pgm wird der Schlater *INLR nicht gesetzt

    Im CL-Pgm A möchte ich steuern auf welche Datei das RPG-Pgm B zugreifen soll. D.h. es gibt die gleiche Datei X in unterschiedlichen Bibliotheken (B1, B2, etc).
    Die Routine, welche die Bibliothekliste entsprechend anpasst, ist in CL-Pgm A implementiert.
    Es klappt aber nicht!
    Dadurch, dass beim 1-ten Durchlauf der Dateipfad zu Datei X in der Bibliothek z.B. B1 aufgebaut und nicht geschlossen wird, wird bei jeden weitern Durchlauf immer noch auf die Datei X in der Bibliothek B1 zugegriffen.

    Meine Frage ist also, gibt es eine Möglichkeit in einen CL-Pgm die offenen Datenpfade zu schliessen?

    Bin für jeden Ratschlag dankbar.

    Gruß
    Vladimir
    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
    Jun 2006
    Beiträge
    356
    Zitat Zitat von kuempi von stein Beitrag anzeigen
    Ja genau, das meine ich. Wobei ich immer hoffe, dass jemand auch mal ein API Beispiel in Cobol schreibt.

    Viele Dank!

  11. #11
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    In COBOL geht das genauso.
    Für einige API's gibt es in der Lib QSYSINC sogar Copy-Strecken.

    Strukturen sind in COBOL genauso einfach zu schreiben.
    Hinweis: Binär-Felder sind in COBOL mit PIC S9(9) COMP-4 (4-Byte) bzw. S9(4) COMP-4 (2-Byte) zu definieren.

    Da COBOL bei diesen Definitionen allerdings einigen Overhead generiert um die Stellengenauigkeit zu gewährleisten, kann man vor der "Identification Division" die Anweisung

    Process nostdtrunc

    angeben.
    In diesem Fall können die Felder vollwertig (+/- 2^32-1) bzw. +/- 32767 verwendet 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

Similar Threads

  1. SNDDST ohne SMTP-Job aber mit Domino Server?
    By rebe in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 23-01-07, 16:06
  2. IXS Server clonen!
    By monet in forum IBM i Hauptforum
    Antworten: 0
    Letzter Beitrag: 31-05-06, 10:49
  3. Performance QZHQSSRV QZHQSRVD
    By Rauh in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 26-01-06, 08:44
  4. Pflege von Kostenstellen im User Profil
    By StephanV in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 14-04-05, 10:55
  5. AS/400 Zugriff via Linked Server unter SQL Server 2000
    By epsih2 in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 29-11-04, 10:06

Berechtigungen

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