H DFTNAME(TESTUSLJOB) DATEDIT(*YMD/) F********** TESTUSLJOB : ジョブのリスト ******************************* F* F********************************************************************** /COPY QSYSINC/QRPGLESRC,QUS /COPY QSYSINC/QRPGLESRC,QUSLJOB D USRSPC DS D USNAME 1 10 INZ('USLJOB ') D USLIB 11 20 INZ('QTEMP ') D APIERR DS D GETBYT 1 4B 0 INZ(160) D AVLBYT 5 8B 0 INZ(0) D MSGID 9 15 D MSGDTA 17 160 D SPCBIN DS D INZSIZE 1 4B 0 INZ(1000) D MSGDTALEN 5 8B 0 INZ(100) 小数 D PGMSTKCNT 9 12B 0 INZ(1) 小数 D STRPOS 10I 0 D LENDTA 10I 0 D N 4S 0 D DATE 6A D TIME 6A D MSGFILLIB DS D MSGF 1 10A INZ('QCPFMSG ') D MSGFLIB 2 20A INZ('QSYS ') D JOBINFO DS D JOB 10A INZ('*ALL ') D USER 10A INZ('QTMHHTTP ') D JOBNBR 6A INZ('*ALL ') D HEDSTR DS 256 D OFFSET 1 4B 0 D NOENTR 9 12B 0 D LSTSIZ 13 16B 0 +C*(1) ユーザースペースの作成 C*-------------------------------------------------------------------+ C CALL 'QUSCRTUS' 99 C PARM USRSPC | C PARM 'PF ' ATTR 10 | C PARM INZSIZE | C PARM INZCHR 1 | C PARM '*ALL ' PUBAUT 10 | C PARM 'USLJOB' USRTXT 50 | C PARM '*YES ' REPLCE 10 | C PARM APIERR C*-------------------------------------------------------------------+ C AVLBYT IFGT *ZEROS C EXSR SNDERRMSG C ENDIF +C*(2) QUSLJOB : ジョブ・リスト C*-------------------------------------------------------------------+ C CALL 'QUSLJOB' 99 C PARM USRSPC | C PARM 'JOBL0100' FORMAT 8 | C PARM JOBINFO | C PARM '*ACTIVE ' JOBTYPE 10 | C PARM APIERR C*-------------------------------------------------------------------+ C AVLBYT CABNE *ZEROS SNDERR C*(3) QUSRTVUS : ヘッダー構造の読み取り C*-------------------------------------------------------------------+ C CALL 'QUSRTVUS' 99 C PARM USRSPC | C PARM 125 STRPOS | C PARM 16 LENDTA | C PARM HEDSTR C PARM APIERR C*-------------------------------------------------------------------+ C AVLBYT CABNE *ZEROS SNDERR C*(4) QUSRTVUS : リスト・セクションの読み取り C* HEADER によって OFFSET,LSTSIZ を受取った C Z-ADD OFFSET STRPOS C ADD 1 STRPOS C Z-ADD LSTSIZ LENDTA C* リスト・サイズの分だけ LOOP して検索 C 1 DO NOENTR N N=1-NOENTR C*----------------------------------------------------+ C CALL 'QUSRTVUS' 99 | C PARM USRSPC | C PARM STRPOS | C PARM LENDTA | C PARM QUSL010002 | C*----------------------------------------------------+ C* ------( 処理の開始 - ここから )------ C MOVEL QUSJNU JOB C MOVEL QUSUNU USER C MOVEL QUSJNBRU JOBNBR C 'JOB=' CAT(P) JOBINFO:0 DSP40 40 C DSP40 DSPLY C* ------( 処理の終了 - ここまで )------ C ADD LENDTA STRPOS C END N=1-NOENTR C '* EOF *' DSPLY ANS 1 C SETON LR C RETURN C SNDERR TAG C EXSR SNDERRMSG C SETON LR C RETURN C****************************************************** C SNDERRMSG BEGSR C****************************************************** C*----------------------------------------------------+ C CALL 'QMHSNDPM' 99 C PARM MSGID | C PARM MSGFILLIB | C PARM MSGDTA | C PARM MSGDTALEN | C PARM '*ESCAPE ' MSGTYPE 10 | C PARM '*PGMBDY ' PGMQUE 10 | C PARM PGMSTKCNT | C PARM MSGKEY 4 | C PARM APIERR C*----------------------------------------------------+ C SETON LR C RETURN C ENDSR