$CfStatL

From m204wiki
Revision as of 22:08, 10 April 2013 by JAL (talk | contribs) (→‎Syntax)
Jump to navigation Jump to search

List of statistics for users holding critical file resources

Most Sirius $functions have been deprecated in favor of Object Oriented methods. There is currently no OO equivalent for the $CfStatL function.

This function allows retrieval of statistics for all users holding critical file resources in a given file into a $list.


Syntax

%result = $CfStatL(list_identifier, stat_list, file_num)

Syntax terms

%result Either a positive number which is the number of milliseconds since the online was brought up, or a negative error code.
list_identifier The indentifier of the $list that is to receive the results. The current contents of the $list are deleted and replaced with the requested statistics. The format of each $list item is:
Byte 1-10 Blank padded userid
Byte 11-12 Binary user number
Byte 13- Returned statistics
stat_list A string of blank-delimited words indicating the statistics to be returned. All standard user statistics can be returned, as well as extra critical file resource held statistics. The length of each returned statistic is always a multiple of 4 bytes. This facilitates the use of $StatLD with the returned $list.

For more information on available statistics, see the SirMon User's Guide.

file_num The file number of the file in which the returned list of users hold critical file resources. Unlike selection criterion for $UsStatL, users not holding critical file resources in the indicated file are not placed on the output $list. This could prevent them from being placed on the difference $list by a $StatLD call if rates or differences are calculated.

Return codes

-3 - CCATEMP is full -5 - Required parameter not specified -6 - Invalid $list identifier -12 - Invalid name in stat_list -13 - STAT not linked in -16 - Invalid file number

Example

The following program displays users and resources for users holding critical file resources in file number 13.

B %DATA IS STRING LEN 255 %LIST = $ListNew %DATA = $CfStatL(%LIST, 'HDDIRCT HDINDEX HDEXIST HDRECNQ', 13) IF %DATA < 0 THEN PRINT '$CFSTATL ERROR... RC = ' WITH %DATA STOP END IF FOR %I FROM 1 TO $ListCnt(%LIST) %DATA = $ListInf(%LIST, %I) PRINT 'USERID = ' WITH $SUBSTR(%DATA, 1, 10) PRINT 'USERNUM = ' WITH - $UNBIN( $SUBSTR(%DATA, 11, 2) ) PRINT 'HDDIRCT = ' WITH $SUBSTR(%DATA, 13, 4) PRINT 'HDINDEX = ' WITH $SUBSTR(%DATA, 17, 4) PRINT 'HDEXIST = ' WITH $SUBSTR(%DATA, 21, 4) PRINT 'HDRECNQ = ' WITH $SUBSTR(%DATA, 25, 4) PRINT END FOR END