[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Oct 2003
    Beiträge
    28

    Suche was wie chkjob

    Hallo,

    ich brauche eine Funktion wie CHKJOB - also eine Prüfung ob ein gewisser Job aktiv ist. Im iseriesnetwork gibt es sowas als Freeware, läßt sich aber leider nicht downloaden. Hat jemand eine Idee?

  2. #2
    Registriert seit
    Jan 2003
    Beiträge
    118
    Hallo Miro,

    versuchs mal mit dem API QUSLJOB.

    Jo

  3. #3
    Registriert seit
    Aug 2001
    Beiträge
    2.879
    Zitat Zitat von miro
    Hallo,

    ich brauche eine Funktion wie CHKJOB - also eine Prüfung ob ein gewisser Job aktiv ist. Im iseriesnetwork gibt es sowas als Freeware, läßt sich aber leider nicht downloaden. Hat jemand eine Idee?
    Du meinst sicher das Programm von Herman van der Staey.
    Hier ist es:
    PHP-Code:
     /*  Program : CHKACTJOB                                       */
      /*  System  : iSeries                                         */
      /*  Author :  Herman Van der Staey      December 19, 1997     */
      /*                                                            */
      /*  Check if a certain jobname is active                      */
      /*                                                            */
      /*  How to execute :                                          */
      /*                                                            */
      /*  CALL  CHKACTJOB  PARM(&PRM_JBNAM &RC)                     */
      /*       where &PRM_JBNAM  is the jobname you want to check   */
      /*       and  &RC  is the resulting RETURN CODE :             */
      /*                                    '1' = ACTIVE            */
      /*                                    '0' = NOT ACTIVE        */
      /*                                                            */
      /*  IF THE &DEBUG VARIABLE IS SET TO '1' THEN THIS            */
      /*  PROGRAM LISTS ALSO ALL JOBS THAT ARE ACTIVE WITH          */
      /*  THE SPECIFIED JOBNAME  VIA A SNDPGMMSG COMMAND            */
      /*                                                            */
      /*                                                            */

     
    CHKACTJOB:  PGM        PARM(&PRM_JBNAM &RC)

                 
    DCL        VAR(&DEBUGTYPE(*LGLVALUE('1'/* 1 = +
                              debug */

      /*  PARAMETERS   FOR THIS PROGRAM  */

                 
    DCL        VAR(&PRM_JBNAMTYPE(*CHARLEN(10/* +
                              jobname  */
                 
    DCL        VAR(&RCTYPE(*CHARLEN(1/* return code +
                              ('1' = job is active; '0' = job is not +
                              active) */

     /* API DATA  FROM FORMAT  JOBL0100    */

                 
    DCL        VAR(&JOBNAMETYPE(*CHARLEN(10)
                 
    DCL        VAR(&USER   TYPE(*CHARLEN(10)
                 
    DCL        VAR(&JOBNBR TYPE(*CHARLEN(6)
                 
    DCL        VAR(&STATUS)  TYPE(*CHARLEN(10)
                 
    DCL        VAR(&JOBTYPETYPE(*CHARLEN(1)
                 
    DCL        VAR(&SUBTYPETYPE(*CHARLEN(1)


      
    /*  PARAMETERS FOR THE QUSCRTUS  API    */

                 
    DCL        VAR(&USP_NAMETYPE(*CHARLEN(10/* user +
                              space name */
                 
    DCL        VAR(&USP_LIBTYPE(*CHARLEN(10/* user +
                              space library */
                 
    DCL        VAR(&USP_QUALTYPE(*CHARLEN(20/* user +
                              space qualified name */
                 
    DCL        VAR(&USP_TYPETYPE(*CHARLEN(10/* user +
                              space type */
                 
    DCL        VAR(&USP_SIZETYPE(*CHARLEN(4/* user +
                              space size */
                 
    DCL        VAR(&USP_FILLTYPE(*CHARLEN(1/* user +
                              space fill character */
                 
    DCL        VAR(&USP_AUTTYPE(*CHARLEN(10/* user +
                              space authority */
                 
    DCL        VAR(&USP_TEXTTYPE(*CHARLEN(50/* user +
                              space text */

      /*  PARAMETERS FOR THE QUSRTVUS  API    */

                 
    DCL        VAR(&STARTPOSTYPE(*CHARLEN(4)
                 
    DCL        VAR(&DATALEN TYPE(*CHARLEN(4)
                 
    DCL        VAR(&HEADERTYPE(*CHARLEN(150)


      
    /*  PARAMETERS FOR THE QUSLJOB   API    */

                 
    DCL        VAR(&API_USQUALTYPE(*CHARLEN(20/* +
                              Qualified User Space name  */
                 
    DCL        VAR(&API_JBQUALTYPE(*CHARLEN(26/* +
                              qualified jobname */
                 
    DCL        VAR(&API_JBNAMTYPE(*CHARLEN(10/* +
                              jobname */
                 
    DCL        VAR(&API_USERTYPE(*CHARLEN(10/* user */
                 
    DCL        VAR(&API_JOBNRTYPE(*CHARLEN(6/* job +
                              number */
                 
    DCL        VAR(&API_ERRORTYPE(*CHARLEN(256/* API +
                              error */
                 
    DCL        VAR(&API_STATUSTYPE(*CHARLEN(10/* +
                              Status  */

      /*  LIST DATA SECTION                   */

                 
    DCL        VAR(&LST_OFFSETTYPE(*DECLEN(5 0/* +
                              offset of first data */
                 
    DCL        VAR(&LST_SIZETYPE(*DECLEN(5 0/* size +
                              of data */
                 
    DCL        VAR(&LST_DATATYPE(*CHARLEN(4096)

                 
    DCL        VAR(&LST_NBRTYPE(*DECLEN(5 0/* number +
                              of entries in list data section */
                 
    DCL        VAR(&LST_LENTYPE(*DECLEN(5 0/* entry +
                              length in dec */
                 
    DCL        VAR(&LST_LENBINTYPE(*CHARLEN(4/* entry +
                              length in binary */
                 
    DCL        VAR(&LST_POSBINTYPE(*CHARLEN(4/* +
                              position of list entry in binary */


      /*  VARIABLES                           */


                 
    DCL        VAR(&LST_COUNTTYPE(*DECLEN(5VALUE(0/* +
                              counter */

     /*  INITIALIZE  RETURN CODE  */

                 
    CHGVAR     VAR(&RCVALUE('0')


     
    /*  CREATE USER SPACE */

                 
    CHGVAR     VAR(&USP_NAMEVALUE('MYUSRSPACE'/* set +
                              user space name */
                 
    CHGVAR     VAR(&USP_LIBVALUE('QTEMP'/* set user +
                              space library */
                 
    CHGVAR     VAR(&USP_QUALVALUE(&USP_NAME *CAT +
                              &
    USP_LIB/* set user space qualified name */
                 
    CHGVAR     VAR(&USP_TYPEVALUE('MYTYPE'/* set user +
                              space type */
                 
    CHGVAR     VAR(%BIN(&USP_SIZE)) VALUE(64000/* set +
                              user space size */
                 
    CHGVAR     VAR(&USP_FILLVALUE(' '/* set user space +
                              fill character */
                 
    CHGVAR     VAR(&USP_AUTVALUE('*USE'/* set user +
                              space authority */
                 
    CHGVAR     VAR(&USP_TEXTVALUE('my user space') +
                              
    /* set user space text */


                 
    CALL       PGM(QUSCRTUSPARM(&USP_QUAL &USP_TYPE +
                              &
    USP_SIZE &USP_FILL &USP_AUT &USP_TEXT)


     
    /*  EXECUTE  API  */

                 
    CHGVAR     VAR(&API_USQUALVALUE(&USP_QUAL/* User +
                              Space name */
                 
    CHGVAR     VAR(&API_JBNAMVALUE(&PRM_JBNAM/* jobname */
                 
    CHGVAR     VAR(&API_USERVALUE('*ALL'/* user */
                 
    CHGVAR     VAR(&API_JOBNRVALUE('*ALL'/* job number */
                 
    CHGVAR     VAR(&API_STATUSVALUE('*ACTIVE'/* Status +
                              of the job */
                 
    CHGVAR     VAR(&API_JBQUALVALUE(&API_JBNAM *CAT +
                              &
    API_USER *CAT &API_JOBNR/* qualified +
                              job name */
                 
    CHGVAR     VAR(%BIN(&API_ERROR 1 4)) VALUE(0)

                 
    CALL       PGM(QUSLJOBPARM(&API_USQUAL 'JOBL0100' +
                              &
    API_JBQUAL &API_STATUS &API_ERROR)

     
    /*  RETRIEVE  HEADER DESCRIPTION INFORMATION   */

                 
    CHGVAR     VAR(%BIN(&STARTPOS)) VALUE(1/* set start +
                              position */
                 
    CHGVAR     VAR(%BIN(&DATALEN)) VALUE(140/* set data +
                              length    */

                 
    CALL       PGM(QUSRTVUSPARM(&API_USQUAL &STARTPOS +
                              &
    DATALEN &HEADER)


        
    /* RETRIEVE DATA IN LIST   SECTION */


                 
    CHGVAR     VAR(&LST_OFFSETVALUE(%BIN(&HEADER 125 4))
                 
    CHGVAR     VAR(&LST_SIZEVALUE(%BIN(&HEADER 129 4))
                 
    CHGVAR     VAR(&LST_NBRVALUE(%BIN(&HEADER 133 4))
                 
    CHGVAR     VAR(&LST_LENVALUE(%BIN(&HEADER 137 4))

                 
    CHGVAR     VAR(%BIN(&LST_POSBIN)) VALUE(&LST_OFFSET 1)
                 
    CHGVAR     VAR(&LST_LENBINVALUE(%SST(&HEADER 137 4))


      
    /*  RETRIEVE LIST DATA ENTRIES */

                 
    CHGVAR     VAR(&LST_COUNTVALUE(0/* initialize +
                              number of list entries counter */

     
    LST_LOOP:   IF         COND(&LST_COUNT *EQ &LST_NBRTHEN(GOTO +
                              
    CMDLBL(LST_END))


                 
    CALL       PGM(QUSRTVUSPARM(&API_USQUAL &LST_POSBIN +
                              &
    LST_LENBIN &LST_DATA)


                 
    CHGVAR     VAR(&JOBNAMEVALUE(%SST(&LST_DATA 1 10))
                 
    CHGVAR     VAR(&USERVALUE(%SST(&LST_DATA 11 10))
                 
    CHGVAR     VAR(&JOBNBRVALUE(%SST(&LST_DATA 21 6))
                 
    CHGVAR     VAR(&STATUSVALUE(%SST(&LST_DATA 43 10))
                 
    CHGVAR     VAR(&JOBTYPEVALUE(%SST(&LST_DATA 53 1))
                 
    CHGVAR     VAR(&SUBTYPEVALUE(%SST(&LST_DATA 54 1))

       
    /*  TREATMENT OF 1 LIST ENTRY  */

                 
    IF         COND(&DEBUGTHEN(DO)
                   
    SNDPGMMSG  MSG('** JOB IDENTIFICATION **')
                   
    SNDPGMMSG  MSG('job name : ' *CAT &JOBNAME)
                   
    SNDPGMMSG  MSG('user     : ' *CAT &USER)
                   
    SNDPGMMSG  MSG('jobnbr   : ' *CAT &JOBNBR)
                   
    SNDPGMMSG  MSG('status   : ' *CAT &STATUS)
                   
    SNDPGMMSG  MSG('job type : ' *CAT &JOBTYPE)
                   
    SNDPGMMSG  MSG('subtype  : ' *CAT &SUBTYPE)
                 
    ENDDO

                 
    IF         COND((&JOBNAME *EQ &PRM_JBNAM) *AND (&STATUS +
                              *
    EQ *ACTIVE)) THEN(DO)
                   
    CHGVAR     VAR(&RCVALUE('1')
                 
    ENDDO

       
    /*   END  TREATMENT  OF 1 LIST ENTRY  */

                 
    CHGVAR     VAR(&LST_COUNTVALUE(&LST_COUNT 1)
                 
    CHGVAR     VAR(%BIN(&LST_POSBIN)) +
                              
    VALUE(%BIN(&LST_POSBIN) + &LST_LEN)
                 GOTO       
    CMDLBL(LST_LOOP)



     
    LST_END:    DLTUSRSPC  USRSPC(&USP_LIB/&USP_NAME)

     
    END:        ENDPGM 
    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 4. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  4. #4
    Registriert seit
    Oct 2003
    Beiträge
    28
    Genau das, ich danke dir.

    Es ist unglaublich was du alles drauf hast.

    Grüße
    Michael

  5. #5
    Registriert seit
    Dec 2004
    Beiträge
    42

    Thumbs up

    Danke, endlich fällt damit mein selbst programmiertes CHKACTJOB weg, welches WRKACTJOB OUTPUT(*PRINT) benutzt hat

Similar Threads

  1. Suche Software f. Instandhaltung
    By Dominik_Meyer in forum NEWSboard Server Software
    Antworten: 0
    Letzter Beitrag: 24-11-06, 07:06
  2. Suche Entwicklungsumgebung
    By ZakOyten in forum NEWSboard IT Strategie
    Antworten: 13
    Letzter Beitrag: 05-10-06, 15:48
  3. Suche IBM INFO-WINDOWS 3487.
    By takeoff/400 in forum NEWSboard Server & Hardware Markt
    Antworten: 2
    Letzter Beitrag: 31-07-06, 18:17
  4. Suche Liste Ersatzoperatoren im CL
    By kuempi von stein in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 19-07-06, 14:34
  5. Suche Platten 6717
    By Peet in forum NEWSboard Server & Hardware Markt
    Antworten: 2
    Letzter Beitrag: 02-05-06, 08:08

Berechtigungen

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