× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Dave wrote:
>How does your utility get its information?

I use the API: QUSRJOBI

Here is the program I use to display the amount of temporary storage a job
is using. 

The whole utility consists of a never-ending job that takes a look at
subsystem QBATCH 
every 5 minis or so and then sends messages to a message queue and/or to a
list of users if
a job is using more that 2GB of storage....
 

  SOURCE FILE . . . . . . .  KENNETH/QPGMSRC
  MEMBER  . . . . . . . . .  DSPTMPSTG

  SEQNBR*...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+...

    100 /* ************************************************************** */

    200 /* PROGRAM DESCRIPTION :                                          */

    300 /*                                                                */

    400 /* RETRIVE A JOBS TEMP STORAGE USE.                               */

    500 /* THIS PROGRAM IS CALLED BY MONTMPSTG2                           */

    600 /*                                                                */

    700 /* SPECIAL COMPILE OPTIONS:                                       */

    800 /*                                                                */

    900 /*           WRITTEN BY: KEN GRAAP 03/11/99                       */

   1000 /*           UPDATED BY:           03/19/99 RMV SAE COMMAND       */

   1100 /*                                                                */

   1200 /* ************************************************************** */

   1300              PGM        PARM(&JOB &USER &NUMBER)
   1400 /* ************************************************************** */

   1500 /*                                                                */

   1600 /* DECLARE PROGRAM VARIABLES                                      */

   1700 /*                                                                */

   1800 /* ************************************************************** */

   1900              DCL        &ERRORSW *LGL                     /* Std err
*/
   2000              DCL        &MSGID *CHAR LEN(7)               /* Std err
*/
   2100              DCL        &MSGDTA *CHAR LEN(100)            /* Std err
*/
   2200              DCL        &MSGF *CHAR LEN(10)               /* Std err
*/
   2300              DCL        &MSGFLIB *CHAR LEN(10)            /* Std err
*/
   2400              DCL        VAR(&JOBN) TYPE(*CHAR) LEN(26)

   2500              DCL        VAR(&JOB) TYPE(*CHAR) LEN(10)

   2600              DCL        VAR(&USER) TYPE(*CHAR) LEN(10)
   2700              DCL        VAR(&NUMBER) TYPE(*CHAR) LEN(6)

   2800              DCL        VAR(&TMPSTG) TYPE(*CHAR) LEN(4)

   2900              DCL        VAR(&TMPSTGDEC) TYPE(*DEC) LEN(8 0)

   3000              DCL        VAR(&TMPSTGMSG) TYPE(*CHAR) LEN(8)
   3100              DCL        VAR(&RECEIVER) TYPE(*CHAR) LEN(124)

   3200              DCL        VAR(&LENGTH) TYPE(*CHAR) LEN(4)

   3300              DCL        VAR(&ERRLENGTH) TYPE(*CHAR) LEN(4)

   3400 /* ************************************************************** */

   3500 /*                                                                */

   3600 /* GLOBAL MESSAGE MONITOR                                         */

   3700 /*                                                                */

   3800 /* ************************************************************** */

   3900              MONMSG     MSGID(CPF0000) EXEC(GOTO CMDLBL(STDERR1))

   4000 /* ************************************************************** */

   4100 /*                                                                */

   4200 /* DISPLAY THE CURRENT AMOUNT OF TEMP STORAGE USED BY A JOB       */

   4300 /* IF MORE THAN 2GB SEND A MSG VIA THE SHOUT COMMAND              */

   4400 /*                                                                */

   4500 /* ************************************************************** */

   4600

   4700              CHGVAR     VAR(&JOBN) VALUE(&JOB *CAT &USER *CAT +

   4800                           &NUMBER)

   4900              CHGVAR     VAR(%BIN(&LENGTH)) VALUE(124)

   5000              CHGVAR     VAR(%BIN(&ERRLENGTH)) VALUE(0)

   5100              CHGVAR     VAR(%BIN(&TMPSTG)) VALUE(4)

   5200              CALL       PGM(QUSRJOBI) PARM(&RECEIVER &LENGTH +

   5300                           JOBI0150 &JOBN '               '
&ERRLENGTH)                                         
   5400              CHGVAR     VAR(&TMPSTG) VALUE(%SST(&RECEIVER 109 4))

   5500              CHGVAR     VAR(&TMPSTGDEC) VALUE(%BIN(&TMPSTG 1 4))

   5600              IF         COND(&TMPSTGDEC *GT 1999999) THEN(DO)

   5700              SHOUT      USERS(KEG RSJ CAS JAE JAEA) MSG('Job' *BCAT
+                                           
   5800                           &NUMBER *TCAT '/' *TCAT &USER *TCAT '/' +

   5900                           *TCAT &JOB *BCAT 'is using more than 2GB +

   6000                           of temporary storage. Please monitor it +

   6100                           and total aux storage usage closely.')

   6200              SNDPGMMSG  MSG('Job' *BCAT &NUMBER *TCAT '/' *TCAT +

   6300                           &USER *TCAT '/' *TCAT &JOB *BCAT 'is +

   6400                           using more than 2GB of temporary storage.
+                                           
   6500                           Please monitor it and total aux storage +

   6600                           usage closely.') TOMSGQ(QGPL/DSPTMPSTG)

   6700              ENDDO

   6800              CHGVAR     VAR(&TMPSTGMSG) VALUE(&TMPSTGDEC)

   6900              SNDPGMMSG  MSG('Job' *BCAT &NUMBER *TCAT '/' *TCAT +

   7000                           &USER *TCAT '/' *TCAT &JOB *BCAT 'is +

   7100                           using' *BCAT &TMPSTGMSG *BCAT 'of +

   7200                           temporary storage') TOMSGQ(QGPL/DSPTMPSTG)

   7300

   7400 /* ************************************************************** */

   7500 /*                                                                */

   7600 /* NORMAL END OF PROGRAM                                          */

   7700 /*                                                                */

   7800 /* ************************************************************** */

   7900  END:        RETURN

   8000 /* ************************************************************** */

   8100 /*                                                                */

   8200 /* STANDARD ERROR PROCESSING                                      */

   8300 /*                                                                */

   8400 /* ************************************************************** */

   8500  STDERR1:               /* Standard error handling routine */
   8600              IF         &ERRORSW SNDPGMMSG MSGID(CPF9999) +
   8700                           MSGF(QCPFMSG) MSGTYPE(*ESCAPE) /* Func chk
*/
   8800              CHGVAR     &ERRORSW '1' /* Set to fail ir error occurs
*/
   8900  STDERR2:    RCVMSG     MSGTYPE(*DIAG) MSGDTA(&MSGDTA) MSGID(&MSGID)
+
   9000                           MSGF(&MSGF) MSGFLIB(&MSGFLIB)
   9100              IF         (&MSGID *EQ '       ') GOTO STDERR3
   9200              SNDPGMMSG  MSGID(&MSGID) MSGF(&MSGFLIB/&MSGF) +
   9300                           MSGDTA(&MSGDTA) MSGTYPE(*DIAG)
   9400              GOTO       STDERR2 /* Loop back for addl diagnostics */
   9500  STDERR3:    RCVMSG     MSGTYPE(*EXCP) MSGDTA(&MSGDTA) MSGID(&MSGID)
+
   9600                           MSGF(&MSGF) MSGFLIB(&MSGFLIB)
   9700              SNDPGMMSG  MSGID(&MSGID) MSGF(&MSGFLIB/&MSGF) +
   9800                           MSGDTA(&MSGDTA) MSGTYPE(*ESCAPE)
   9900              ENDPGM


                                  * * * *  E N D  O F  S O U R C E  * * * *

Kenneth

--
********************************
         Kenneth  E.  Graap             
    IBM Certified Specialist                 
          AS/400   Professional                   
          System  Administrator                  
 NW Natural - Information Services        
           System Services                         
        503 226 4211 X5537                 
          FAX  503 721 2521                  
      keg@nwnatural.com               
********************************


-----Original Message-----
From: Dave Shaw [mailto:dshaw1@InfoAve.Net]
Sent: Tuesday, April 20, 1999 8:06 AM
To: MIDRANGE-L@midrange.com
Subject: Re: "unprotected" storage usage
+---
| This is the Midrange System Mailing List!
| To submit a new message, send your mail to MIDRANGE-L@midrange.com.
| To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com.
| To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---


As an Amazon Associate we earn from qualifying purchases.

This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.