[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    May 2004
    Beiträge
    470

    Job überwachen mit anderem Job

    Hallo zusammen,

    ich möchte gerne mit einem Job einen anderen Job überwachen. Falls der überwachte Job auf MSGW geht soll eine Mail versendet werden.

    Jetzt hab ich beim Befehl WRKACTJOB nur die Möglichkeit mit OUTPUT(*PRINT) zu arbeiten. Gibts ein API hierfür oder weiss jemand einen andere Lösung ?

    Vielen Dank

  2. #2
    Registriert seit
    Feb 2008
    Beiträge
    22
    Retrieve Job Status (QWCRJBST) API
    Die Beschreibung des APIs findet man hier:
    IBM Systems Information Center

    Gruß Uwe

  3. #3
    Registriert seit
    May 2004
    Beiträge
    470
    Darüber bekomme ich aber nur wenn ich richtig gelesen habe die Information ob der Job aktiv, in JOBQ oder in OUTQ ist. Ich bräuchte aber die Information ob der aktive Job auf MSGW steht.
    Ich kämpfe mich gerade durch den QUSLJOB. Allerdings benötigt dieses API einen UserSpace da ja die Möglichkeit besteht den kompletten WRKACTJOB zurückzugeben. Was ich auch ursprünglich wollte aber nicht mehr brauche. Mir stehen die Informationen JOBNAME, JOBUSER und JOBNO zur Verfügung. Aber ein anderes API wird es wohl nicht geben wo ich als einfachen Parameter die Information zurück bekomme.

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Die meisten Informationen gibts über
    Retrieve Job Information (QUSRJOBI) API

    Du benötigst das JOBI0200-Format und im Feld "Active job status" steht, was du brauchst.

    Die Erklärung hierzu findest du wiederum unter
    Work Management API Attribute Descriptions (WMAttrDesc)
    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

  5. #5
    Registriert seit
    May 2008
    Beiträge
    21

  6. #6
    Registriert seit
    May 2004
    Beiträge
    470
    Noch eine Frage

    Binary 4 kann ich in einer DS als 10i 0 definieren. Kann mir jemand sagen wie ich Binary 8 unsigned definieren muss ?

  7. #7
    Registriert seit
    Nov 2003
    Beiträge
    2.403

  8. #8
    Registriert seit
    May 2004
    Beiträge
    470
    Hab alles hinbekommen, funktioniert super. Tausend Dank an alle

    Falls jemand mal sowas braucht hier der Quellcode:

    PHP-Code:
    d P01JobInf       ds           256            
    d  dsJobBytesRtn                10I 0         
    d  dsJobBytesAvl                10I 0         
    d  dsJobName                    10            
    d  dsJobUser                    10            
    d  dsJobNumber                   6            
    d  dsJobIntern                  16            
    d  dsJobStatus                  10            
    d  dsJobType                     1            
    d  dsJobSubtype                  1            
    d  dsSbsDscName                 10            
    d  dsRunPty                     10I 0         
    d  dsSysPoolId                  10I 0         
    d  dsPrcUntTimU                 10I 0         
    d  dsNoOfAux                    10I 0         
    d  dsNoIntTrans                 10I 0         
    d  dsResTimTot                  10I 0         
    d  dsFuncType                    1            
    d  dsFuncName                   10            
    d  dsActJobStat                  4            
    d  dsNoDBLckW                   10I 0  
    d  dsNoInMaLckW                 10I 0  
    d  dsNoNonDBLckW                10I 0  
    d  dsTimSpDBL                   10I 0  
    d  dsTimSpIML                   10I 0  
    d  dsTimSpNDBL                  10I 0  
     
     
    d P01InfLen       s              4b 0                          
     
    0266.00 
    **===============================================================  
    0267.00 ** Parameterlist                                                   
    0268.00 
    **===============================================================  
    0268.01 c     *entry        plist                                          
    0268.02 c                   parm                    PiJobName        10    
    0268.03 c                   parm                    PiJobUser        10    
    0268.04 c                   parm                    PiJobNo           6    
    0268.05 
    **                                                                 
    0268.06 ** QUSRJOBI                                                        
    0268.07 c     PlQUsrJobI    plist                                          
    0268.08 c                   parm                    P01JobInf              
    0268.09 c                   parm                    P01InfLen              
    0268.10 c                   parm                    P01ApiFmt         8    
    0268.11 c                   parm                    P01JobQual       26    
    0268.12 c                   parm                    P01JobInt        16    
     
    0270.00 
    *****************************************************************     
    0271.00 ** Main                                                               
    0272.00 
    *****************************************************************     
    0273.00 c                   eval      P01JobQual=PiJobName+PiJobUser+PiJobNo  
    0274.00 c                   z
    -add     256           P01InfLen                 
    0274.01 c                   
    eval      P01ApiFmt 'JOBI0200'                  
    0274.02 c                   eval      P01JobInt = *blanks                     
    0275.00 
    **                                                                    
    0276.00 c                   call      'QUSRJOBI'    PlQUsrJobI                
    0277.00 
    **                                                                    
    0278.00 c                   eval      *inlr = *on 
    Wie Fuerchau bereits erwähnt hat. In dsActJobStat steht der Status des aktiven Jobs z.B. MSGW

  9. #9
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Sowas kann man auch mit CLP hinbekommen, da sich Binärwerte direkt mit %BIN(&MYVAR POS LEN) auswerten und auch setzen lassen, wobei LEN 2 oder 4 sein kann (ggf. inzwischen auch 8?).

    Dadurch spart man sich den ILERPG-Overhead und die Startposition (+1) kann man ja aus den API-Beschreibungen rauslesen.
    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. auf aktiven Job prüfen
    By TARASIK in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 26-10-06, 11:07
  2. Fehler in Gesamtsicherung
    By wolfmakiol in forum IBM i Hauptforum
    Antworten: 13
    Letzter Beitrag: 21-08-06, 09:10
  3. job läuft zu langsam ...?
    By bode in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 22-07-06, 11:52
  4. OUTQ Überwachen oder selbst Ereignis auslösen?
    By JonnyRico in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 11-06-04, 07:58
  5. Job in SBS beenden
    By hs in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 12-12-01, 09:43

Berechtigungen

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