-
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?
-
Hallo Miro,
versuchs mal mit dem API QUSLJOB.
Jo
-
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(&DEBUG) TYPE(*LGL) VALUE('1') /* 1 = +
debug */
/* PARAMETERS FOR THIS PROGRAM */
DCL VAR(&PRM_JBNAM) TYPE(*CHAR) LEN(10) /* +
jobname */
DCL VAR(&RC) TYPE(*CHAR) LEN(1) /* return code +
('1' = job is active; '0' = job is not +
active) */
/* API DATA FROM FORMAT JOBL0100 */
DCL VAR(&JOBNAME) TYPE(*CHAR) LEN(10)
DCL VAR(&USER ) TYPE(*CHAR) LEN(10)
DCL VAR(&JOBNBR ) TYPE(*CHAR) LEN(6)
DCL VAR(&STATUS) TYPE(*CHAR) LEN(10)
DCL VAR(&JOBTYPE) TYPE(*CHAR) LEN(1)
DCL VAR(&SUBTYPE) TYPE(*CHAR) LEN(1)
/* PARAMETERS FOR THE QUSCRTUS API */
DCL VAR(&USP_NAME) TYPE(*CHAR) LEN(10) /* user +
space name */
DCL VAR(&USP_LIB) TYPE(*CHAR) LEN(10) /* user +
space library */
DCL VAR(&USP_QUAL) TYPE(*CHAR) LEN(20) /* user +
space qualified name */
DCL VAR(&USP_TYPE) TYPE(*CHAR) LEN(10) /* user +
space type */
DCL VAR(&USP_SIZE) TYPE(*CHAR) LEN(4) /* user +
space size */
DCL VAR(&USP_FILL) TYPE(*CHAR) LEN(1) /* user +
space fill character */
DCL VAR(&USP_AUT) TYPE(*CHAR) LEN(10) /* user +
space authority */
DCL VAR(&USP_TEXT) TYPE(*CHAR) LEN(50) /* user +
space text */
/* PARAMETERS FOR THE QUSRTVUS API */
DCL VAR(&STARTPOS) TYPE(*CHAR) LEN(4)
DCL VAR(&DATALEN ) TYPE(*CHAR) LEN(4)
DCL VAR(&HEADER) TYPE(*CHAR) LEN(150)
/* PARAMETERS FOR THE QUSLJOB API */
DCL VAR(&API_USQUAL) TYPE(*CHAR) LEN(20) /* +
Qualified User Space name */
DCL VAR(&API_JBQUAL) TYPE(*CHAR) LEN(26) /* +
qualified jobname */
DCL VAR(&API_JBNAM) TYPE(*CHAR) LEN(10) /* +
jobname */
DCL VAR(&API_USER) TYPE(*CHAR) LEN(10) /* user */
DCL VAR(&API_JOBNR) TYPE(*CHAR) LEN(6) /* job +
number */
DCL VAR(&API_ERROR) TYPE(*CHAR) LEN(256) /* API +
error */
DCL VAR(&API_STATUS) TYPE(*CHAR) LEN(10) /* +
Status */
/* LIST DATA SECTION */
DCL VAR(&LST_OFFSET) TYPE(*DEC) LEN(5 0) /* +
offset of first data */
DCL VAR(&LST_SIZE) TYPE(*DEC) LEN(5 0) /* size +
of data */
DCL VAR(&LST_DATA) TYPE(*CHAR) LEN(4096)
DCL VAR(&LST_NBR) TYPE(*DEC) LEN(5 0) /* number +
of entries in list data section */
DCL VAR(&LST_LEN) TYPE(*DEC) LEN(5 0) /* entry +
length in dec */
DCL VAR(&LST_LENBIN) TYPE(*CHAR) LEN(4) /* entry +
length in binary */
DCL VAR(&LST_POSBIN) TYPE(*CHAR) LEN(4) /* +
position of list entry in binary */
/* VARIABLES */
DCL VAR(&LST_COUNT) TYPE(*DEC) LEN(5) VALUE(0) /* +
counter */
/* INITIALIZE RETURN CODE */
CHGVAR VAR(&RC) VALUE('0')
/* CREATE USER SPACE */
CHGVAR VAR(&USP_NAME) VALUE('MYUSRSPACE') /* set +
user space name */
CHGVAR VAR(&USP_LIB) VALUE('QTEMP') /* set user +
space library */
CHGVAR VAR(&USP_QUAL) VALUE(&USP_NAME *CAT +
&USP_LIB) /* set user space qualified name */
CHGVAR VAR(&USP_TYPE) VALUE('MYTYPE') /* set user +
space type */
CHGVAR VAR(%BIN(&USP_SIZE)) VALUE(64000) /* set +
user space size */
CHGVAR VAR(&USP_FILL) VALUE(' ') /* set user space +
fill character */
CHGVAR VAR(&USP_AUT) VALUE('*USE') /* set user +
space authority */
CHGVAR VAR(&USP_TEXT) VALUE('my user space') +
/* set user space text */
CALL PGM(QUSCRTUS) PARM(&USP_QUAL &USP_TYPE +
&USP_SIZE &USP_FILL &USP_AUT &USP_TEXT)
/* EXECUTE API */
CHGVAR VAR(&API_USQUAL) VALUE(&USP_QUAL) /* User +
Space name */
CHGVAR VAR(&API_JBNAM) VALUE(&PRM_JBNAM) /* jobname */
CHGVAR VAR(&API_USER) VALUE('*ALL') /* user */
CHGVAR VAR(&API_JOBNR) VALUE('*ALL') /* job number */
CHGVAR VAR(&API_STATUS) VALUE('*ACTIVE') /* Status +
of the job */
CHGVAR VAR(&API_JBQUAL) VALUE(&API_JBNAM *CAT +
&API_USER *CAT &API_JOBNR) /* qualified +
job name */
CHGVAR VAR(%BIN(&API_ERROR 1 4)) VALUE(0)
CALL PGM(QUSLJOB) PARM(&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(QUSRTVUS) PARM(&API_USQUAL &STARTPOS +
&DATALEN &HEADER)
/* RETRIEVE DATA IN LIST SECTION */
CHGVAR VAR(&LST_OFFSET) VALUE(%BIN(&HEADER 125 4))
CHGVAR VAR(&LST_SIZE) VALUE(%BIN(&HEADER 129 4))
CHGVAR VAR(&LST_NBR) VALUE(%BIN(&HEADER 133 4))
CHGVAR VAR(&LST_LEN) VALUE(%BIN(&HEADER 137 4))
CHGVAR VAR(%BIN(&LST_POSBIN)) VALUE(&LST_OFFSET + 1)
CHGVAR VAR(&LST_LENBIN) VALUE(%SST(&HEADER 137 4))
/* RETRIEVE LIST DATA ENTRIES */
CHGVAR VAR(&LST_COUNT) VALUE(0) /* initialize +
number of list entries counter */
LST_LOOP: IF COND(&LST_COUNT *EQ &LST_NBR) THEN(GOTO +
CMDLBL(LST_END))
CALL PGM(QUSRTVUS) PARM(&API_USQUAL &LST_POSBIN +
&LST_LENBIN &LST_DATA)
CHGVAR VAR(&JOBNAME) VALUE(%SST(&LST_DATA 1 10))
CHGVAR VAR(&USER) VALUE(%SST(&LST_DATA 11 10))
CHGVAR VAR(&JOBNBR) VALUE(%SST(&LST_DATA 21 6))
CHGVAR VAR(&STATUS) VALUE(%SST(&LST_DATA 43 10))
CHGVAR VAR(&JOBTYPE) VALUE(%SST(&LST_DATA 53 1))
CHGVAR VAR(&SUBTYPE) VALUE(%SST(&LST_DATA 54 1))
/* TREATMENT OF 1 LIST ENTRY */
IF COND(&DEBUG) THEN(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(&RC) VALUE('1')
ENDDO
/* END TREATMENT OF 1 LIST ENTRY */
CHGVAR VAR(&LST_COUNT) VALUE(&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
-
Genau das, ich danke dir.
Es ist unglaublich was du alles drauf hast.
Grüße
Michael
-
Danke, endlich fällt damit mein selbst programmiertes CHKACTJOB weg, welches WRKACTJOB OUTPUT(*PRINT) benutzt hat
Similar Threads
-
By Dominik_Meyer in forum NEWSboard Server Software
Antworten: 0
Letzter Beitrag: 24-11-06, 07:06
-
By ZakOyten in forum NEWSboard IT Strategie
Antworten: 13
Letzter Beitrag: 05-10-06, 15:48
-
By takeoff/400 in forum NEWSboard Server & Hardware Markt
Antworten: 2
Letzter Beitrag: 31-07-06, 18:17
-
By kuempi von stein in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 19-07-06, 14:34
-
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
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks