|
Sorry Rob!. Here it is:
¹
*---------------------------------------------------------------------------------------------
¹ *
¹ * PROGRAM : CHKACTJOB
¹ *
¹
*---------------------------------------------------------------------------------------------
¹ * API routines used:
¹ *
¹ * QUSCRTUS -- Create user space
¹ * QUSLJOB -- Load job info into user space
¹ * QUSRTVUS -- Retrieve user space
¹ * QUSRJOBI -- Retrieve job information
¹ * QWCRSSTS -- Retrieve system status information
¹ *
¹
*---------------------------------------------------------------------------------------------
¹ *
¹ * Define constants
¹
*---------------------------------------------------------------------------------------------
¹ *
D @USPTX C CONST('User Space for User -
D Jobs ')
¹ *
¹
*---------------------------------------------------------------------------------------------
¹ * Data structures
¹
*---------------------------------------------------------------------------------------------
¹ *
D BINARY DS
D SSIZE2 1 4B 0
D DTALG2 5 8B 0
D STRPO2 9 12B 0
D RCVLG2 13 16B 0
D @RCVLG 17 20B 0
D @BYTPR 21 24B 0
D @BYTAV 25 28B 0
D @MSKLN 29 32B 0
D @RCVLN 33 36B 0
D @SRCPR 37 40B 0
D @SRCDP 41 44B 0
¹ *
¹
*---------------------------------------------------------------------------------------------
¹ * Data structures for API QUSLJOB
¹
*---------------------------------------------------------------------------------------------
¹ *
D INPUT2 DS
D QJOBI 1 26
D JOBNMI 1 10
D USRNMI 11 20
D JOBNOI 21 26
D STATI 27 36
D USRSP2 37 56
D SNAME2 37 46
D SLIBR2 47 56
D FORMT2 57 64
D JOBTYI 65 65
D FLDRTN 69 72B 0
¹ D* 75 100 FLDNMI
D JOB100 DS
D QJOBL 1 26
D JOBNML 1 10
D USRNML 11 20
D JOBNOL 21 26
D IJOBID 27 42
D STATL 43 52
D JOBTYP 53 53
¹ * Generic header description
D HEADER DS
D HDUSAR 1 64
D HDGRSZ 65 68B 0
D HDRLLV 69 72
D HDFMTN 73 80
D HDAPI 81 90
D HDDTTM 91 103
D HDISTS 104 104
D HDSIZE 105 108B 0
D HDIPOS 109 112B 0
D HDIPSZ 113 116B 0
D HDHDOS 117 120B 0
D HDHDSZ 121 124B 0
D HDDSOS 125 128B 0
D HDDSIZ 129 132B 0
D HDNOEN 133 136B 0
D HDENSZ 137 140B 0
¹ *
¹
*---------------------------------------------------------------------------------------------
¹ * Data structures for API QUSRJOBI
¹
*---------------------------------------------------------------------------------------------
¹ *
D INPUT3 DS
D DTALG3 1 4B 0
D FORMT3 5 12
D JOBNM3 13 38
D JOB200 DS
D BYTRTN 1 4B 0
D BYTVAL 5 8B 0
D JOBNA3 9 18
D USRNA3 19 28
D JOBNB3 29 34
D INTID3 35 50
D JOBST3 51 60
D JOBTY3 61 61
D SUBTY3 62 62
D SBSNA3 63 72
D RUNPR3 73 76B 0
D POOLI3 77 80B 0
D CPUUS3 81 84B 0
D AUXRE3 85 88B 0
D INTRA3 89 92B 0
D RSPTI3 93 96B 0
D FNCTY3 97 97
D FNCNA3 98 107
D ACTJO3 108 111
¹ *
¹
*---------------------------------------------------------------------------------------------
¹ * Data structure for API QSYRUSRI
¹
*---------------------------------------------------------------------------------------------
¹ *
D ERRCOD DS
D BYTPRO 1 4B 0
D BYTAVA 5 8B 0
D EXCID 9 15
D RSVD01 16 16
D EXDTA 17 116
¹ *
D PSSRC SDS
D PSTS *STATUS
¹ *
¹
*---------------------------------------------------------------------------------------------
¹ * MAIN ROUTINE
¹
*---------------------------------------------------------------------------------------------
¹ *
C EXSR SETUP
¹ *
¹ * Process the active jobs
¹ *
C MOVEL '*ACTIVE' STATI
C EXSR GETDTA
¹ *
¹ * If nothing found - try the jobs queued on the job queues.
¹ *
C RTNCOD IFEQ *BLANK
C MOVEL '*JOBQ ' STATI
C EXSR GETDTA
C ENDIF
¹ *
¹ * Normal end of job
¹ *
C RTNCOD IFEQ *BLANK
C MOVEL '*INACTIV' RTNCOD
C MOVE 'E ' RTNCOD
C ENDIF
¹ C*
C MOVE *ON *INLR
¹ C*
¹
C*---------------------------------------------------------------------------------------------
¹ C* *PSSR - Error handling routine
¹
C*---------------------------------------------------------------------------------------------
¹ C*
C *PSSR BEGSR
¹ C*
¹ C* Error processing an API call -
¹ C*
C PSRACT IFEQ '*ABEND '
C Z-ADD 999999999 INC
C MOVE *ON *INLR
C ENDIF
¹ C*
C ENDSR
¹ C*
¹
C*---------------------------------------------------------------------------------------------
¹ C* SETUP - Data setup
¹
C*---------------------------------------------------------------------------------------------
¹ C*
C SETUP BEGSR
¹ C*
C *ENTRY PLIST
C PARM TGTJOB 10
C PARM RTNCOD 10
¹ C*
C TGTJOB IFEQ *BLANKS
C MOVEL '*ERROR' RTNCOD
C ENDIF
¹ C*
C MOVE *BLANK RTNCOD
¹ C*
¹ C* User space initialization values.
¹ C*
C MOVEL 'USRJOB' SNAME2
NAME
C MOVEL 'QTEMP' SLIBR2
LIBRARY
C MOVE ' ' INZCHR 1
INITIAL VALUE
C MOVEL ' ' EXTATR 10
ATTRIBUTE
C MOVEL '*ALL' SAUTH 10
PUBLIC AUTH.
C MOVEL @USPTX STEXT 50
TEXT
C Z-ADD 8192 SSIZE2
SIZE
C MOVE ' ' INZCHR 1
INITIAL VALUE
C MOVEL '*YES' SREPL 4
REPLACE?
¹ C*
¹ C* User space retrieval initialization value.
¹ C*
C MOVEL '*YES' REPLC 10
Replace Usr Spc
C MOVE *BLANKS ERRCOD
C MOVE *ZEROS BYTPRO
C MOVE *ZEROS BYTAVA
¹ C*
¹ C* Create user space for user jobs
¹ C*
C CALL 'QUSCRTUS' 56
C PARM USRSP2
C PARM EXTATR
C PARM SSIZE2
C PARM INZCHR
C PARM SAUTH
C PARM STEXT
C PARM REPLC
C PARM ERRCOD
¹ C*
C *IN56 CASEQ *ON *PSSR
C ENDCS
¹ C*
C ENDSR
¹ C*
¹
C*---------------------------------------------------------------------------------------------
¹ C* GETDTA - Fill user space with job information
¹
C*---------------------------------------------------------------------------------------------
¹ C*
C GETDTA BEGSR
¹ C*
C MOVEL 'JOBL0100' FORMT2
C MOVEL TGTJOB JOBNMI
C MOVEL '*ALL' USRNMI
C MOVEL '*ALL' JOBNOI
¹ C*
C MOVE *BLANKS ERRCOD
C MOVE *ZEROS BYTPRO
C MOVE *ZEROS BYTAVA
¹ C*
C CALL 'QUSLJOB'
C PARM USRSP2
C PARM FORMT2
C PARM QJOBI
C PARM STATI
C PARM ERRCOD
¹ C*
C *IN56 CASEQ *ON *PSSR
C ENDCS
¹ C*
¹ C* Set up the user profile extract data space header
¹ C*
C Z-ADD 001 STRPO2
C Z-ADD 140 DTALG2
¹ C*
¹ C* Load the data space header
¹ C*
C CALL 'QUSRTVUS' 56
C PARM USRSP2
C PARM STRPO2
C PARM DTALG2
C PARM HEADER
C PARM ERRCOD
¹ C*
¹ C* Load the offsets to the input data section
¹ C*
C HDIPOS ADD 1 STRPO2
C Z-ADD HDIPSZ DTALG2
¹ C*
¹ C* Load the input data from header
¹ C*
C MOVE *BLANKS ERRCOD
C MOVE *ZEROS BYTPRO
C MOVE *ZEROS BYTAVA
¹ C*
C CALL 'QUSRTVUS' 56
C PARM USRSP2
C PARM STRPO2
C PARM DTALG2
C PARM INPUT2
C PARM ERRCOD
¹ C*
¹ C* Process the detail data
¹ C*
¹ C* Load the offsets to the entry data section
¹ C*
C HDDSOS ADD 1 STRPO2
C Z-ADD HDENSZ DTALG2
¹ C*
C 1 DO HDNOEN INC 6 0
¹ C*
¹ C* Load the input data from header
¹ C*
C MOVE *BLANKS ERRCOD
C MOVE *ZEROS BYTPRO
C MOVE *ZEROS BYTAVA
¹ C*
C CALL 'QUSRTVUS' 56
C PARM USRSP2
C PARM STRPO2
C PARM DTALG2
C PARM JOB100
C PARM ERRCOD
¹ C*
¹ C* Get the detail information for the job - QUSRJOBI
¹ C*
C MOVEL 'JOBI0200' FORMT3
C MOVEL '*INT ' JOBNM3
C MOVE IJOBID INTID3
C Z-ADD 111 DTALG3
¹ C*
C MOVE *BLANKS ERRCOD
C MOVE *ZEROS BYTPRO
C MOVE *ZEROS BYTAVA
¹ C*
C MOVEL '*SKIP ' PSRACT 8
C CALL 'QUSRJOBI' 56
C PARM JOB200
C PARM DTALG3
C PARM FORMT3
C PARM JOBNM3
C PARM INTID3
C PARM ERRCOD
¹ C*
C *IN56 CASEQ *ON *PSSR
C ENDCS
¹ C*
¹ C* Flag the status based on the type of run... ACTIVE or JOBQ
¹ C*
C MOVEL STATI RTNCOD
¹ C*
C ENDDO
¹ C*
C ENDSR
Peter Vidal
PALL Aeropower Corp.
Senior Programmer Analyst
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 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.