[NEWSboard IBMi Forum]

Hybrid View

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

    Aktivierte SBREAKs (service entry point) auflisten

    Hallo zusammen,

    manchmal kommt es vor, dass ein Programmierer einen SBREAK gesetzt hat und dadurch mehrere Jobs im Status EVTW und laut Aufrufstapel in Programm QTESEPEH "hängen" und warten bis jemand sich per STRSRVJOB + STRDBG auf den entsprechenden Job verbindet.
    Ich suche nach einer Möglichkeit, um Auflisten zu können welche SBREAKs gerade aktiviert sind und welcher Job diese angelegt hat.

    Sobald der jeweilige Job mit STRSRVJOB + STRDBG ausgewählt wurde, enthält sein Joblog die Meldung CPC1162 "Job xyz held by user XYZ with option SPLFILE(*NO).".
    Wenn aber der Job noch im Wartezustand (QTESEPEH) ist, so gibt es noch keinen Joblog Eintrag.

    Ich könnte den Aufruf von STRDBG mit dem Auditjournal protokollieren lassen. Aber damit sehe ich ja nicht, ob jemand auch einen SBREAK ausgeführt hat.
    In der Ausgabe von CPYAUDJRNE ENTTYP(ST) sehe ich leider nur, wer STRSRVJOB ausgeführt hat.

    Ist euch eine API oder ein STRSST Macro bekannt, um die aktivierten SBREAKs zu ermitteln?

    Viele Grüße
    Matthias

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Scheint nicht so zu sein:
    https://stackoverflow.com/questions/...e-entry-points

    Vielleicht mal einen Erweiterungswunsch an die IBM schicken.
    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
    Jan 2008
    Beiträge
    159
    Zitat Zitat von schatte Beitrag anzeigen
    Hallo zusammen,

    manchmal kommt es vor, dass ein Programmierer einen SBREAK gesetzt hat und dadurch mehrere Jobs im Status EVTW und laut Aufrufstapel in Programm QTESEPEH "hängen" und warten bis jemand sich per STRSRVJOB + STRDBG auf den entsprechenden Job verbindet.
    Ich suche nach einer Möglichkeit, um Auflisten zu können welche SBREAKs gerade aktiviert sind und welcher Job diese angelegt hat.

    Sobald der jeweilige Job mit STRSRVJOB + STRDBG ausgewählt wurde, enthält sein Joblog die Meldung CPC1162 "Job xyz held by user XYZ with option SPLFILE(*NO).".
    Wenn aber der Job noch im Wartezustand (QTESEPEH) ist, so gibt es noch keinen Joblog Eintrag.

    Ich könnte den Aufruf von STRDBG mit dem Auditjournal protokollieren lassen. Aber damit sehe ich ja nicht, ob jemand auch einen SBREAK ausgeführt hat.
    In der Ausgabe von CPYAUDJRNE ENTTYP(ST) sehe ich leider nur, wer STRSRVJOB ausgeführt hat.

    Ist euch eine API oder ein STRSST Macro bekannt, um die aktivierten SBREAKs zu ermitteln?

    Viele Grüße
    Matthias
    hab's zwar im Detail noch nicht mit CHGOBJAUD probiert, aber so könnt's gehen:
    WRKACTJOB .... *PRINT
    CPYSPLF in eine Datei kopieren mit CTLCHAR(*S36FMT) Protokollieren CHGOBJAUD ...... QTESEPEH ... OBJAUD(*ALL)
    Über diese beiden Dateien und der beiden Jobnummern müsste Dein Problem mittels indiv. Programm lösbar sein !!!

  4. #4
    Registriert seit
    Jun 2006
    Beiträge
    356
    Wenn ich die Aufrufe des Programms QTESEPEH protokollieren lasse, erhalte ich im Outfile des Befehls CPYAUDJRNE ENTTYP(ZR) nur den Hinweis, dass ein Job nun dieses Programm (aufgrund des SBREAKs) aufgerufen hat und somit vermutlich auf EVTW steht.
    Im Job, der den SBREAK gesetzt hat, steht im Joblog dann die Nachrichten-ID CPI1903 "Service Entry Point has stopped at line 39 in program LIB/PGM in job 123465/USER/JOB.". Um zu prüfen, welche Jobs diese Nachricht in ihrem Joblog haben, kann folgendes SQL verwendet werden:
    Code:
    SELECT B.MESSAGE_TIMESTAMP, A.JOB_NAME, substr(B.MESSAGE_TOKENS, 26, 32) targetjob
    from TABLE(QSYS2.ACTIVE_JOB_INFO()) a,
    lateral (SELECT * FROM TABLE(QSYS2.JOBLOG_INFO(A.JOB_NAME)) X) B
    WHERE B.MESSAGE_ID = 'CPI1903'
    Damit hat man schon mal einen Hinweis, welcher Programmierer mit SBREAK arbeitet.

    Laut IBM können aktive Breakpoints mit dem STRSST-Makro ribmStatus ermittelt werden.

  5. #5
    Registriert seit
    Jun 2006
    Beiträge
    356
    Die Jobs, die gerade wegen SBREAK im Status EVTW angehalten sind, können recht gut mir folgendem SQL ermittelt werden:
    Code:
    SELECT SUBSYSTEM, A.JOB_NAME, JOB_TYPE, JOB_STATUS
    from TABLE(QSYS2.ACTIVE_JOB_INFO()) a,
    lateral (SELECT * FROM TABLE(QSYS2.STACK_INFO(A.JOB_NAME)) X) B
    WHERE PROGRAM_NAME = 'QTESEPEH'

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Ah, sieht super aus.
    Ich dachte, du wolltest wissen von wem der Break initiiert wurde, bevor der Job startet.
    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
    Registriert seit
    Jun 2006
    Beiträge
    356
    Genau.
    Am besten geht das mit dem STRSST-Makro ribmStatus.

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Und was ist "ribmStatus"?

    Bzgl. des SQL's solltest du besser eine"where exits (... where ...) " statt Lateral verwenden, da du aus B keine weiteren Infos benötigst.
    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

  9. #9
    Registriert seit
    Jun 2006
    Beiträge
    356
    DISPLAY/ALTER/DUMP
    Running macro: RIBMSTATUS -H
    This dumps the contents of the breakpoint tables and the number of breakpoints currently active in each table.
    Parameter options are:
    verbose : dumps details about each breakpoint
    jobs : shows a list of operating system level jobs that currently have breakoints active

Similar Threads

  1. SQL-Funktionen auflisten
    By dschroeder in forum NEWSboard Programmierung
    Antworten: 7
    Letzter Beitrag: 31-03-23, 10:23
  2. RDi Bedingter Service Entry Point im Service-Programm
    By dschroeder in forum NEWSboard Programmierung
    Antworten: 9
    Letzter Beitrag: 22-12-22, 08:18
  3. Alle Prozeduren mit Parameter auflisten
    By Gutmann in forum IBM i Hauptforum
    Antworten: 9
    Letzter Beitrag: 04-08-17, 10:32
  4. User defined Functions auflisten
    By msost in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 18-08-16, 14:59
  5. Teildateien per SQL auflisten
    By Nennewitz in forum NEWSboard Programmierung
    Antworten: 16
    Letzter Beitrag: 28-06-06, 13:49

Berechtigungen

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