6.21.WRKSYSSTSの情報を取り出す |
ある日気が付けば、ディスクの使用率が95%になっている。ひええええ。監視するソフトはないかなぁ。で、このプログラムです。うまく利用してください。コマンドではなく、CLPになっています。 コメント:
使用API:QWCRSSTS テキストファイル:chksysstsc.txt PGM DCL &RCV_DTA *CHAR 68 DCL &RCV_LEN *CHAR 4 DCL &FORMAT *CHAR 8 'SSTS0200' DCL &RESET *CHAR 10 '*YES ' DCL &ERR_BYT *CHAR 4 DCL &ERR_AVA *CHAR 4 DCL &ERR_ID *CHAR 7 DCL &ERR_RSV *CHAR 1 DCL &ERR_MSG *CHAR 100 DCL &ERRDTA *CHAR 116 DCL &AVA_BYTS *DEC (9 0) /*使用可能バイト数 */ DCL &RTN_BYTS *DEC (9 0) /*返されたバイト数 */ DCL &CURDATTIM *CHAR 8 /* 現在の日時 */ DCL &SYSNAM *CHAR 8 /* システム名 */ DCL &ELAPSED *CHAR 6 /* 経過時間 */ DCL &RESTRCT *CHAR 1 /* 制限状態フラグ */ DCL &RESERVE *CHAR 1 /* 予約済み */ DCL &CPUUSED *DEC (9 0) /*使用された処理装置の % 999.9 */ DCL &JOBSNBR *DEC (9 0) /*システム中のジョブ数 */ DCL &ADRPRM *DEC (9 0) /*永続アドレスの % 999.999 */ DCL &ADRTMP *DEC (9 0) /*一時アドレスの % 999.999 */ DCL &SYSASP *DEC (9 0) /*システム ASP */ DCL &ASPUSED *DEC (9 0) /*使用されたシステムASP% 999.9999 */ DCL &AUXTOL *DEC (9 0) /*合計補助記憶域 */ DCL &CURUNPRO *DEC (9 0) /*使用されている現行の非保護記憶域 */ DCL &MAXUNPRO *DEC (9 0) /*使用された最大非保護記憶域 */ DCL &ASPUSEDD *DEC (9 4) MONMSG CPF0000 /*--------------------------------------*/ /* MAKE AN ERROR STRUCTURE */ /*--------------------------------------*/ CHGVAR %BIN(&ERR_BYT) 116 CHGVAR %BIN(&ERR_AVA) 0 CHGVAR &ERRDTA (&ERR_BYT||&ERR_AVA||&ERR_ID||&ERR_RSV||&ERR_MSG) /*--------------------------------------*/ /* PREPARATION */ /*--------------------------------------*/ CHGVAR %BIN(&RCV_LEN) 68 /*--------------------------------------*/ /* API */ /*--------------------------------------*/ CALL QWCRSSTS (&RCV_DTA &RCV_LEN &FORMAT &RESET &ERRDTA) /*--------------------------------------*/ /* CHECK ERROR */ /*--------------------------------------*/ IF (%BIN(&ERRDTA 5 4) *NE 0) DO GOTO TEND ENDDO /*--------------------------------------*/ /* DATA */ /*--------------------------------------*/ CHGVAR &AVA_BYTS %BIN(&RCV_DTA 1 4) CHGVAR &RTN_BYTS %BIN(&RCV_DTA 5 4) CHGVAR &CURDATTIM %SST(&RCV_DTA 9 8) CHGVAR &SYSNAM %SST(&RCV_DTA 17 8) CHGVAR &ELAPSED %SST(&RCV_DTA 25 6) CHGVAR &RESTRCT %SST(&RCV_DTA 31 1) CHGVAR &RESERVE %SST(&RCV_DTA 32 1) CHGVAR &CPUUSED %BIN(&RCV_DTA 33 4) CHGVAR &JOBSNBR %BIN(&RCV_DTA 37 4) CHGVAR &ADRPRM %BIN(&RCV_DTA 41 4) CHGVAR &ADRTMP %BIN(&RCV_DTA 45 4) CHGVAR &SYSASP %BIN(&RCV_DTA 49 4) CHGVAR &ASPUSED %BIN(&RCV_DTA 53 4) CHGVAR &AUXTOL %BIN(&RCV_DTA 57 4) CHGVAR &CURUNPRO %BIN(&RCV_DTA 61 4) CHGVAR &MAXUNPRO %BIN(&RCV_DTA 65 4) CHGVAR &ASPUSEDD (&ASPUSED / 10000) IF (&ASPUSEDD >= 85) DO この例では、85%以上のディスク使用率で、このDO文が実行されます。メッセージなど出しましょう。 ENDDO TEND: RETURN ENDPGM |
You are at K's tips-n-kicks of AS/400
|
SEO | [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送 | ||