[NEWSboard IBMi Forum]
Seite 1 von 3 1 2 ... Letzte
  1. #1
    hs is offline [professional_User]
    Registriert seit
    Jun 2001
    Beiträge
    364

    Question CL: Kann man Status eines Jobs abfragen?

    Gibt es eine Möglichkeit, in einem CL festzustellen, ob ein bestimmter Job aktiv ist oder auf DLYW steht?

    Danke für eure Antworten
    HS

  2. #2
    Registriert seit
    May 2002
    Beiträge
    2.642

    Post

    Hallo,
    wenn Du Deine Emailadresse gibst, kann ich ein Beispielprogramm zumailen.

    gruss TARASIK

  3. #3
    Registriert seit
    Mar 2002
    Beiträge
    26

    Post

    Hallo hs,

    du kannst in einem CL einen wrkactjob mit outpunt(*print) machen.
    Dann ließt du die Spoolfile in eine Datei ein und kannst über die Substringfunktion die Stelle auslesen und dann wieterverarbeiten.

    Hoffe dir bringt das was.

  4. #4
    hs is offline [professional_User]
    Registriert seit
    Jun 2001
    Beiträge
    364

    Post

    @Newbie:
    Meinst du so:
    1. wrkactjob mit output(*print)
    2. cpysplf in Datei

    Wie bekomme ich im CL dann den Status in eine CL-Variable, die ich dann abfragen kann? Geht es direkt mit substring im CL oder brauche ich dafür eine Hilfs-QRY, die mir aus der komplette Zeile den Status selektiert?

    Danke
    HS

  5. #5
    Registriert seit
    Mar 2002
    Beiträge
    26

    Post

    Hallo,

    also du definierst eine Variable
    DCL VAR(&STAUS) TYPE(*CHAR) LEN(5)
    und eine Datei die du anglegt hast.
    DCLF FILE(Bibliothek/Filename)
    Dann kommt der
    WRKACTJOB OUTPUT(*PRINT)

    CPYSPLF FILE(QPDSPAJB) TOFILE
    (Bibliothek/Filename) + SPLNBR(*LAST)

    Dann ließt du die Datei in Schleife ein mit RCVF, das mußt du in Schleife machen, denn Sonst bekommst du nur den ersten Eintrag.
    Vor dem einlesen mußt du die Stellen zählen an denen der Stauts steht.
    über Substring weißt du dann der Variable &Status den Wert zu
    CHGVAR VAR(&STATUS) VALUE(%SST(Filename abStelle wievielStellen))

    Gruß René

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.237

    Post

    Es geht auch komfortabler, wenn man sich mit System-API's auskennt:

    QUSLJOB listet alle Job's nach auswählbaren Kriterien in ein USRSPC-Objekt.
    Nachzulesen im Handbuch "OS/400 Workmanagement API's".

    Für den Zugriff aus USRSPC-Objekte gibt es auch entsprechende API's, Handbuch "OS/400 Objekt-API's".

    Zu finden auf der CD "Online-Library" oder bei publib.boulder.ibm.com
    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
    hs is offline [professional_User]
    Registriert seit
    Jun 2001
    Beiträge
    364

    Post

    @Fuerchau:
    Kenne mich leider nicht mit API aus. Außerdem haben wir V3.7, da gab es diese vermutlich noch gar nicht?

    @Newbie:
    Ich habe das CL mal getestet, klappt soweit einwandfrei mit einer Einschränkung:

    Wenn der Status "RUN" gewesen ist, dann möchte ich 1 min warten und dann wieder von vorne beginnen, d.h. DLYJOB, WRKACTJOB wieder in Datei, diese auslesen mit RCVF etc.
    Jetzt habe ich das Problem, dass ich nicht weiß, wie ich die Ausgabedatei nach Einlesen des letzten Satzes wieder schließen kann.
    TFRCTL oder CLOF gingen nicht.

    Gruß
    HS


  8. #8
    Registriert seit
    Jan 2003
    Beiträge
    746

    Post

    Hallo HS,

    falls Dein PGM im Batch läuft, gibt's einen workaround: es könnte sich nach einem DLYJOB selbst erneut submitten und beenden ...

    Gruß Robert

  9. #9
    Registriert seit
    Jan 2003
    Beiträge
    746

    Post

    ... oder Du packst die Leseschleife in ein eigenes CL, CALL X PARM(&STS), müsste auch gehen ...

  10. #10
    Registriert seit
    Feb 2001
    Beiträge
    20.237

    Post

    Diese API's gibt es bereits seit V3R1, also keine Panik.

    Das mit dem WRKACTJOB und Spoolausgabe ist zwar sehr schön, kann aber mitunter die Systemlast erheblich einschränken.
    Versuchs mal im Dialog und beobachte die Auslastung des eigenen Job's.
    Ausserdem listet WRKACTJOB alle Jobs auf.
    Mit den API's kann man die Art der Jobs einschränken, ausserdem sind sie erheblich schneller.
    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

  11. #11
    Registriert seit
    Apr 2001
    Beiträge
    267

    Wink

    Hallo,

    nur noch als Anmerkung. Es ist sehr wohl möglich innerhalb eines CL-Programmes eine Datei mehrfach auszulesen, indem man die Datei im Programm schliesst, öffnet u. anschließend positioniert.

    Gruss
    Bodo

  12. #12
    hs is offline [professional_User]
    Registriert seit
    Jun 2001
    Beiträge
    364

    Post

    Erstmal Danke für all eure Antworten.

    Im Einzelnen:

    @Robert:
    Der Übersichtlichkeit halber würde ich gerne alles in einem CL erschlagen.

    @Fuerchau:
    Der Job wird nur einmal am Tag aufgerufen, wenn (fast) niemand mehr arbeitet. Die Ausgabe von WRKACTJOB kann ich auch auf ein Subsystem einschränken (Parameter SBS).
    Deshalb habe ich mit dem CL keine Not und möchte mich nicht mit APIs beschäftigen (zumal ich relativ selten in der AS400 programmiere)

    @Bodo:
    Meine Frage war ja genau, wie ich die Datei schliessen muß! Mir fehlt der Befehl.

    Gruß
    HS

Similar Threads

  1. Programmbibliothek in einem Cobol oder CL Programm ermitteln
    By schatte in forum NEWSboard Programmierung
    Antworten: 19
    Letzter Beitrag: 10-01-07, 11:32
  2. Status nach Druck nich SAV, sonder Drucker auf END
    By zannaleer in forum NEWSboard Drucker
    Antworten: 6
    Letzter Beitrag: 13-09-06, 10:35
  3. Übergabeparameter im CL Script
    By bo1 in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 23-06-06, 15:00
  4. Status DSC bei Jobs durch Windows-Abmeldung
    By uwer in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 05-09-05, 09:34
  5. Status einer Datenstation im CLP abfragen
    By fred in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 26-04-05, 15:06

Berechtigungen

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