星期一, 11月 06, 2023

2003-05-30 如何取得系統現在有幾個線上使用者(Users currently signed on)?


如何取得系統現在有幾個線上使用者(Users currently signed on)?

可以利用 System API QWCRSSTS 取得系統現有狀態,此 API 包含的資訊與 DSPSYSSTS 
指令所顯示的資訊是類似的,更包括記憶體區塊的使用情形。
詳細請參考 : 
Retrieve System Status (QWCRSSTS) API 
http://publib.boulder.ibm.com/iseries/v5r2/ic2924/info/apis/qwcrssts.htm

File  : QCLSRC
Member: RTVSIGNONC
Type  : CLP
Usage : CRTCLPGM RTVSIGNONC
        CALL RTVSIGNONC



  /*  Program : RTVSIGNONC                                      */
  /*  System  : iSeries                                         */
  /*                                                            */
  /*  Description : retrieve the number of users signed on      */
  /*                                                            */

             PGM

             DCL        VAR(&SIGNON)     TYPE(*DEC)  LEN(9 0)
             DCL        VAR(&SIGNON_CHR) TYPE(*CHAR) LEN(9)
             DCL        VAR(&RECEIVER)   TYPE(*CHAR) LEN(100)
             DCL        VAR(&RCV_LEN)    TYPE(*CHAR) LEN(4)
             DCL        var(&RESET)      TYPE(*CHAR) LEN(10)

             CHGVAR     VAR(%BIN(&RCV_LEN)) VALUE(100)
             CHGVAR     VAR(&RESET) VALUE('*NO')

             CALL       PGM(QWCRSSTS) PARM(&RECEIVER &RCV_LEN +
                          'SSTS0100' &RESET  X'00000000')

             CHGVAR     VAR(&SIGNON)     VALUE(%BIN(&RECEIVER 25 4))
             CHGVAR     VAR(&SIGNON_CHR) VALUE(&SIGNON)

             SNDPGMMSG  MSG('The number of users signed on = ' *CAT +
                          &SIGNON_CHR)

 END:        ENDPGM






沒有留言: