Function MO - Monitor Control (Control User)

#### Search Results

Search

# Function MO - Monitor Control (Control User)

The Monitor Control function allows you to monitor and manipulate the status of the running Com-plete session. It provides information about Com-plete subtasks, buffers, terminals, users, etc. In addition, Com-plete operator commands can be entered directly.

When you invoke the MO function, the following menu is displayed:

    15:12:09        TID    11          COMTEST          USER SAG          16.01.12
                          --- COM-PLETE CONTROL FACILITY ---                   UCT1

    Function             FC     Function             FC     Function             FC
    -------------------- --     -------------------- --     -------------------- --
    ADABAS interface ... AI     Program lookaside .. IP     Task groups ........ PG
    ADABAS statistics .. AS     Program in-stor dir. OP     Task list .......... PL
    Buffer activities .. BA     Resident programs .. RP     Thread groups ...... TG
    Common storage ..... CS     Find program ....... FP     Thread subgroups ... SG
    DB2 thread status .. D2     Find in load chain.. FL     Thread list ........ TL
    FBPM statistics .... FB     Queue overview ..... QO     Thread usage ....... TU
    Message log ........ CM     Roll activities .... RA     User activities .... UA
    VSAM statistics .... VS     Server overview .... SO     User status......... US
                                Terminal overview .. TO
                                Terminal status .... TS     Print statistics ... PR

    Select function ....
    Operand ............

    Operator command:

    Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
                      End

You can select any of the MO subfunctions by entering the appropriate function code in the Select Function field and, optionally, an operand in the Operand field.

You can also enter Com-plete operator commands in the Operator Command field of this and any other screen of the MO function. The Monitor function then directly switches to the CM subfunction. For available operator commands, see the Com-plete Operator Commands documentation.

All subfunction screens have the same PF key assignments:

PF key | Function
--- | ---
PF3/CLEAR | Leave the Monitor Function
PF7 | Scroll up
PF8 | Scroll back
PF10 | Scroll left
PF11 | Scroll right
ENTER | Refresh screen

A direct switch to other subfunction displays is invoked by entering the appropriate function code.

The following table summarizes the Monitor information subfunctions:

Subfunction | Meaning
--- | ---
AI | Displays Adabas interface data.
AS | Displays Adabas statistics.
BA | Displays buffer activities.
CM | Displays the last Com-plete console messages.
CS | Displays an overview of Common Storage usage.
D2 | Displays Com-plete DB2 Server data.
FB | Lists active fixed buffer pools and statistics.
FL | Displays the library where a program was found.
FP | Displays location of load modules
IP | Displays usage of programs in lookaside buffer.
OP | Displays the instorage program directory.
PG | Displays the status of all Com-plete processor groups.
PL | Displays Com-plete processor list.
PR | Print information item.
QO | Displays Queue Overview.
RA | Displays roll activities.
RP | Displays resident program usage.
SG | Displays the status of all Com-plete Thread subgroups.
SO | Displays Com-plete Server overview.
TG | Displays the status of all Com-plete Thread groups.
TL | Displays Com-plete Thread list.
TO | Displays an overview of Com-plete terminals.
TS | Displays the status of a specific terminal.
TU | Displays threadstorage information.
UA | Displays user activities and accounting data.
US | Displays user status.
VS | Displays VSAM usage statistics.

The subfunctions are explained below in alphabetical order.

## AI Subfunction

The AI subfunction displays information saved in the Com-plete/Adabas interface.

For every data base ID, the AI information screen contains data such as:

- Data base number;

- Parameter setting for this data base (ADAROLL, as set in the sysparms);

- Total number of Adabas calls;

- Total number of ROLLOUTs;

- Percentage of ROLLOUTs compared to the total number of calls;

- Average Responsetime per Database call.

    14:59:35        TID   124          -DAEFCO-          User COK       20.02.02
                                --- ADABAS Interface ---                    UCT5

      DBid.  SVC   ADAROLL ADACAL ADALIM    TotalCalls  TotRoll (in %)  AvgRTime
     *** TOP OF DATA ***
          0  249   .ALWAYS      0      0             0
          1  249      0.10     20   4096             7        1  14.29     0.000
          9  249      0.10     20   6000        319970    15214   4.75     0.001
         10  249      0.10     20   4096         72461     3471   4.79     0.003
         12  248      0.10     20   4096        422624    20125   4.76     0.002
         14  248      0.10     20   4096            20        1   5.00     0.052
         18  248      0.10     20   4096             6        1  16.67     0.016
         22  248   .ALWAYS     20   4096             0
         24  248      0.10     20   4096             6        1  16.67     0.015
         26  249   .ALWAYS     20   4096             0
         29  249      0.10     20   4096          1854       85   4.58     0.043
         31  249      0.10     20   4096             4        1  25.00     0.172
         32  241   .ALWAYS     20   6000             0
         34  249      0.10     20   4096            58        6  10.34     0.032
         38  249      0.10     20   4096            11        1   9.09    13.714
     -------------------------------------------------------- Active Users: 00123
     Select function:      Operand:
             Command:

## AS Subfunction

The AS subfunction displays statistics about a specific Adabas database. In order to interpret these statistics, consult the section on Adabas in Software Interfaces in the Com-plete System Programming documentation.

    09:49:46        TID     9          COMTEST8          User COK          28.06.05
                                - Database Statistics -                        UCTB

     Database ID .....  11177

     Adabas SVC Nr....    249
     ADAROLL .........    .10 s (0=Always, -1=Never)
     ADACALL .........      0
     ADALIMIT ........      0

     Rolls for ADAROLL ...          1         ADAROLL exceeded ......          1
     Rolls for ADACALL ...          0         ADACALL exceeded ......          0
     Rolls for Priority ..          0         Response before roll ..        151
     --------------------------------         ----------------------------------
     Total Rolls .........          1         Total Calls ...........        152

     Thread Posts ........          0         Elapsed      Average ..    .004296 s
     Commands without ....          0         time:        Maximum ..    .064669 s
              'R' option
    -------------------------------------------------------------------------------
    Select function:      Database ID:  11177
            Command:

The information items are explained below:

Field | Meaning
--- | ---
Database Id | The Adabas database ID (0 - 65535).
Adabas SVC Nr | The Adabas SVC (Router) used for communication with this database.
ADAROLL | The value specified for the ADAROLL parameter for this database.
ADACALL | The value specified for the ADACALL parameter for this database.
ADALIMIT | The value specified for the ADALIMIT parameter for this database.
Rolls for ADAROLL | The number of times an application was rolled out due to ADAROLL being exceeded and the thread was required by another program.
Rolls for ADACALL | The number of times an application was rolled out due to ADACALL being exceeded.
Rolls for priority | The number of times an application was rolled out while waiting for an Adabas call to complete and the thread was required by a task with a higher dispatching priority.
Total rolls | The total number of rollouts performed by applications waiting for an Adabas call to complete.
ADAROLL exceeded | The number of times that ADAROLL was exceeded by an application waiting for an Adabas call to complete.
ADACALL exceeded | The number of times that ADACALL was exceeded by an application waiting for an Adabas call to complete.
Response before roll | The number of times that the Adabas database responded before a rollout operation had to be performed.
Total calls | The total number of Adabas calls issued against this database.
Average elapsed time | The average elapsed time (in milliseconds) of a call issued against this database.
Thread posts | The number of times the thread ECB was posted while an application was waiting for an Adabas call.
Commands without 'R' option | The number calls issued which could have caused the application to wait for a held record but the command did not have the "return on held" option set.

## BA Subfunction

The BA subfunction displays information about the Tibtab:

- Size;

- Allocation;

- Number of tibs; currently used entries, max used entries;

- GET requests;

- GET fails.

     14:28:43        TID    12          COMTEST          User SAG          01/18/12
                                --- Tibtab Statistics ---                       UCTA

          Size     Loc   No.of Tibs   Curr.used      Max.used  Get issued Get failed

           12K   Above        64      14 ( 21%)      14 ( 21%)        16          0

     *** BOTTOM OF DATA *** ------------------------------------ Active Users: 00001
     Select function:      Operand:                                  PF7=up PF8=down
             Command:

## CM Subfunction

The CM subfunction displays the most recent Com-plete console messages. An example is shown below.

    13:38:10        TID    28          COM-5.1.          User MBE          30.08.97
                                 --- System Messages ---                        UCT3

     12.29.15 COMOPC0041-* LOGOFF U=RSF1 SCHEDULED VIA TERMINAL ENQ
     12.29.15 COMSMF0001-* LOGOFF: USER=RSF1 LU=SHRDAEN TID=26 ACCT=SYSCOM STATUS=C/
     12.29.15 COMSMF0005-* LOGOFF: AUTH=0 RMC=1234567 SMC=1234567
     12.29.15 COMSMF0007-* LOGOFF: THRDT=0.62 CPU=0.1 EXCPS=0 TRANX=9 TERM=17,055 MS
     12.29.15 COMSMF0008-* LOGOFF: ROLOUTS=16 Q-TIME=0.3 MCALLS=124 ADA-CALLS=0 ADA-
     12.42.11 COMZUS0001-* USER RSF TID 18 TIBNAME SHRDAEN
     12.42.11 COMZUS0002-* ADDRESS = 5EADCDE
     12.42.11 COMZUS0003-* WAS - 47F0
     12.42.11 COMZUS0004-* NOW - 4780
     12.43.37 COMVTM2020-* LOSTERM LU=SHRDAEN TID=27 Code=20
     12.43.37 COMSMF0001-* LOGOFF: USER=RSF1 LU=SHRDAEN TID=27 ACCT=SYSCOM STATUS=C/
     12.43.37 COMSMF0005-* LOGOFF: AUTH=0 RMC=1234567 SMC=1234567
     12.43.37 COMSMF0007-* LOGOFF: THRDT=0.32 CPU=0.02 EXCPS=0 TRANX=1 TERM=5,667 MS
     12.43.37 COMSMF0008-* LOGOFF: ROLOUTS=4 Q-TIME=0.02 MCALLS=13 ADA-CALLS=0 ADA-T
     13.04.00 COMBPM0004-* BP WORKPOOL SP GENERAL (003), Expansion about to occur
     13.04.00 COMBPM0006-* SP GENERAL(3) Esize=128 Eno=16 Size=2,048 Loc=ANY
     13.04.00 COMBPM0013-* BP WORKPOOL SP GENERAL(3), Expanded successfully
     *** BOTTOM OF DATA *** ------------------------------------ Active Users: 00008
     Select function:      Operand:             PF7=up PF8=down PF10=left PF11=right
             Command:

The number of messages available for display is set via the WTOBUFFERS sysparm.

## CS Subfunction

This subfunction displays statistics about the usage of Com-plete Common Storage (COMSTOR).

    15:04:01        TID     5          COM-5.1.           User MBE          12.11.97
                                  - Common Storage -                            UCTI

     Name....  Creator. Address. Length..  LastUser  lReq/Flag  lastReq Date + Time
     *** TOP OF DATA ***
     NAT22     COK      0A07CF68 00000010  COK        PUT FREE  1997/11/12 15:04:00

     *** BOTTOM OF DATA *** ------------------------------------ Active Users: 00003
     Select Function:      Operand:                                  PF7=up PF8=down
             Command:

Meaning of the information items according to column heading:

Heading | Meaning
--- | ---
Name | The name assigned to this specific COMSTOR area by the creator.
Creator | The User ID that caused the COMSTOR area to be allocated.
Address | The address of the Common storage area.
Length | The length (in hexadecimal) as requested by the COMSTOR GEN function.
LastUser | The User ID which caused the last access to the COMSTOR area.
lReq/Flag | The last request type (GET, PUT, ...).
Status Flag:
F | free
H | held by Roll-for-event
LastReq Date + Time | Date and time of last access to the COMSTOR area.

## D2 Subfunction

This function displays the status of all DB2 Threads.

    17:34:31        TID     5          TEST-511          User MBE          07.10.98
                                 -- DB2 connections --                         UCTI

    No   TaskGrp   Status    Userid    SSID  Plan      Request  DB2calls  AvgTime
    *** TOP OF DATA ***
    001  DEFAULT   OPEN      MBE       DB2   C510PLAN  SQL-CALL      52     0.021

    *** BOTTOM OF DATA *** ------------------------------------ Active Users: 00003
    Select Function:      Operand:                                  PF7=up PF8=down
            Command:

Meaning of the information items according to column heading:

Heading | Meaning
--- | ---
No. | The sequence number of the thread, up to the number of threads as defined in the SERVER sysparm.
TaskGrp | Name of the Task Group.
Status | Status of the thread. Possible values:
WAIT WRK: | Thread free, not allocated to a user
OPEN: | Thread allocated to user, awaiting action.
ACT. DB2: | Currently processing a DB2 request.
Userid | User ID owning the DB2 thread.
SSID | Subsystem Id this thread is connected to.
Plan | Current plan name.
Request | Last processed request. Possible values:
SQL - CALL: | A SQL call has been issued
CAF request code: | A CAF request has been issued
DB2 calls | The number of DB2 calls issued from this thread.
AVG time | The average elapsed time for one DB2 request.

## FB Subfunction

The FB subfunction allows you to list the currently active fixed buffer pools and display statistics about those buffer pools. If no parameter is provided in the Operand field, the currently active buffer pools are listed in a display similar to the following:

    14:47:20        TID    11          COMTEST           User SAG          19.05.10
                        --- Fixed Buffer Pool Statistics(*) ---                UCTQ
                  ---Number of Subpools/Storage by Location---  --Subpools Totals--
    No. FBP-Name  <ANY...> <BELOW.> <Other Locations used>      Gets  Fails Exp Cnt
    *** TOP OF DATA ***
     1: WORKPOOL  16 3437K  8  313K                             2692     0    7   0
     2: GRSRPOOL   2   17K  0                                    591     0    0   0
     3: ROLL       0        0        DS      8 7658K              88     0    3   3
     4: Adabas     8   27K  0                                      0     0    0   0
     5: COM-STOR   3    4K  0                                      0     0    0   0
     6: VSAM-CB    1    5K  1    1K                                0     0    0   0
     7: VSAM-RSR   2    1K  0                                      1     0    0   0
     8: DEBUG      3  163K  0                                     43     0    0   0
     9: SPOOL      0        0        64BIT   1 4096K             128     0    0   0
    10: VTAM       1    4K  0                                      9     0    1   0
    11: REVIEWDC   5   42K  0                                    256     0    0   0
    12: COMTEST8   1   16K  0        DS      1  512K              48     0    0   0

    *** BOTTOM OF DATA *** ------------------------------------ Active Users: 00000
    Select function:      Operand:             PF7=up PF8=down
            Command:

The line display for a buffer pool only contains information if the buffer pool is active. If it is not possible to display the information, a message indicating the reason is displayed in the line, for example: Deleted, as in the above example.

Meaning of the information items according to column heading:

Heading | Meaning
--- | ---
No. | Number of the buffer pool relative to the time of creation.
FBP-Name | Name of the buffer pool as specified at creation time via the DESC= parameter of the CMFBPM BPCREATE macro.
ANY* | Storage acquired above (if supported) or below the 16 MB line.
BELOW* | Storage acquired below the 16 MB line.
Other Locations used | DS for Dataspace; 64BIT for storage above the bar.
Gets | Total GETs for all subpools in this buffer pool.
Fails | Total FAILs for all subpools in this buffer pool.
Exp | Total Expansions for all subpools in this buffer pool.
Cnt | Total Contractions for all subpools in this buffer pool.

* Each of these columns may contain 2 values: the total number of subpools created for this buffer pool, and the total amount of storage used by all subpools in this buffer pool. These columns represent the data areas from where the stoirage is acquired for a subpool. This is a direct correlation of the LOC= parameter as specified in the CMFBPM SPCREATE macro when creating a subpool.

You can select a specific buffer pool to display a breakdown of subpool statistics: enter the buffer pool name or its relative number in theOperand field and press ENTER.

If a specific buffer pool is selected using the Operand field, there are two forms in which the buffer pool statistics can be viewed. You can toggle between the two forms using PF10 and PF11, while PF7 and PF8 can be used to scroll through the displays when there is more than one screen page of information. Where a numeric value exceeds the length of the area available to display it, it will be presented in K (value/1024) or M (value/1024/1024).

If you select a specific buffer pool, the following screen is displayed:

    13:05:41        TID    12          COM-5.1.          User XJPO         10.03.97
                        --- Fixed Buffer Pool Statistics(1) ---                UCTJ
                             <.......Number of Elements.......>
    Subpool  No Loc   Esize  Used(%)   Max Used  Base Curr High Gets  Fails Exp Cnt
    *** TOP OF DATA ***
    Buffer Pool Name - WORKPOOL
    GENERAL   1 ANY     64     44( 69)   44( 69)   64   64   64   46     0    0   0
    GENERAL   2 BELOW   64      3(  5)    7( 11)   64   64   64  271     0    0   0
    GENERAL   3 ANY    128      6(  9)    8( 12)   64   64   64   25     0    0   0
    GENERAL   4 BELOW  128      0(  0)    1(  6)   16   16   16    1     0    0   0
    GENERAL   5 ANY    256      4(  6)    7( 11)   64   64   64   15K    0    0   0
    GENERAL   6 BELOW  256      1(  3)    3(  9)   32   32   32  259     0    0   0
    GENERAL   7 ANY    512      4( 12)    6( 19)   32   32   32   60     0    0   0
    GENERAL   8 BELOW  512      0(  0)    4( 25)   16   16   16  208     0    0   0
    GENERAL   9 ANY   1024      4( 12)    5( 16)   32   32   32    7     0    0   0
    GENERAL  10 BELOW 1024      0(  0)    1(  6)   16   16   16    4     0    0   0
    GENERAL  11 ANY   2048      2( 12)    2( 12)   16   16   16    2     0    0   0
    GENERAL  12 BELOW 2048      0(  0)    1(  6)   16   16   16   17     0    0   0
    GENERAL  13 ANY   4096      1( 25)    2( 50)    4    4    4    7     0    0   0
    GENERAL  14 BELOW 4096      0(  0)    1( 25)    4    4    4    3     0    0   0
    ----------------------------------------------------------- Active Users: 00002
    Select function:      Operand: 2           PF7=up PF8=down PF10=left PF11=right
            Command:

Meanings of the various column headings:

Heading | Meaning
--- | ---
Buffer Pool Name | This is the name of the buffer pool for which statistics are currently being displayed. This will only occur on the first screen display for a buffer pool if more than one screen is required to display all subpools in the buffer pool.
Subpool | This is the name of the subpool, which is an eight character indicator as to what the subpool is for. In the example above, the subpools are for general use and therefore have the same subpool name. In other allocated buffer pools, you will find differing names.
No | This is the number of the subpool in question. When subpools are allocated, they are given a sequential number which is one greater than the previously allocated subpool.
Loc | This indicates where the buffer elements are allocated. There are three possible values that can be displayed here:
BELOW | storage is allocated below the 16 MB line.
ANY | Storage is allocated above the 16 MB line.
DS | Storage is allocated in a Data Space.
Esize | This is a number indicating the size of the elements allocated in the subpool.
Used(%) | This shows the number of elements in use in the subpool along with the percentage of the currently allocated elements thta this figure represents.
Max Used | This shows the maximum number of elements ever used in the subpool along with the percentage of the base allocation for the subpool. Note that if the subpool has ever expanded, these values will not be displayed.
Base | This is the initial number of elements allocated for subpool when it was built.
Curr | This indicates the current number of elements allocated for the subpool. Note that this will equal the number given for 'Base' if there are no current expansions of a subpool.
High | This contains the highest number of elements ever allocated for the subpool.
Gets | This is the number of get requests that have been made against the subpool.
Fails | This is the number of get requests made against the subpool which have failed. A failure can occur for the following reasons:
1 | The base allocation for the subpool is in use and the subpool does not allow expansions.
2 | The current allocation for the subpool is in use and the subpool has expanded as often as is allowed.
3 | The current allocation for the subpool is in use and an attempted expansion of the subpool failed. This could occur due to a shortage of storage in the region or partition.
Exp | This is the number of times that the subpool has expanded. If it contains '***', it indicates that the subpool has expanded more than 999 times. While expansion can be a normal part of the day, it is expensive and therefore subpools should be defined such that expansions are kept to a minimum.
Cnt | This is the number of times the subpool has contracted. This may also contain '***' indicating that contraction has occurred more than 999 times. Again, this is an indication that this subpool is trashing, as expansions and contractions are occurring regularly. In this case, the parameters causing the subpool to be built should be reviewed. Also, if expansions are occurring and no contractions are subsequently occurring, it indicates that the initial allocation for the subpool is not sufficient and should be changed or that elements of the subpool are not being freed for some reason.

If you press PF11 (scroll right) on a display for a specific buffer pool, the following screen is displayed.

    13:05:13        TID    12          COM-5.1.          User XJPO         10.03.97
                        --- Fixed Buffer Pool Statistics(2) ---                UCTK
                             ---------Storage in Kbytes--------  --Buffer % Used--
    Subpool  No Loc   Esize  Used(%)   Max Used  Base Curr High  R1 R2 R3 R4 R5 R6
    *** TOP OF DATA ***
    Buffer Pool Name - WORKPOOL
    GENERAL   1 ANY     64      3( 75)    3( 75)    4    4    4   4  4  0 89  2  0
    GENERAL   2 BELOW   64      0(  0)    0(  0)    4    4    4  99  0  0  1  0  0
    GENERAL   3 ANY    128      1( 12)    1( 12)    8    8    8   0 16 68  8  0  0
    GENERAL   4 BELOW  128      0(  0)    0(  0)    2    2    2   0 **  0  0  0  0
    GENERAL   5 ANY    256      1(  6)    2( 12)   16   16   16   0  2  0  1  0 98
    GENERAL   6 BELOW  256      0(  0)    1( 12)    8    8    8   0 46 29  0  5 18
    GENERAL   7 ANY    512      2( 12)    3( 19)   16   16   16   0  8  2  0  0 83
    GENERAL   8 BELOW  512      0(  0)    2( 25)    8    8    8   0  3 24  0  0 71
    GENERAL   9 ANY   1024      4( 12)    5( 16)   32   32   32   0 43 29  0  0  0
    GENERAL  10 BELOW 1024      0(  0)    1(  6)   16   16   16   0  0 **  0  0  0
    GENERAL  11 ANY   2048      4( 12)    4( 12)   32   32   32   0 **  0  0  0  0
    GENERAL  12 BELOW 2048      0(  0)    2(  6)   32   32   32   0 12 44  0 31 12
    GENERAL  13 ANY   4096      1( 25)    2( 50)   16   16   16   0  0  0 **  0  0
    GENERAL  14 BELOW 4096      0(  0)    4( 25)   16   16   16   0 **  0  0  0  0
    ----------------------------------------------------------- Active Users: 00002
    Select function:      Operand: 2           PF7=up PF8=down PF10=left PF11=right
            Command:

The various sub headings on this display, which are the same as those on the first display, have the same meaning. The difference here is that the figure presented is in Kbytes. The values provided only related to the actual buffer subpool storage and do not include the storage required to maintain the buffer pool and it's subpools. For more information on this, please refer to Resource Usage and Estimates in the System Programming documentation.

### Buffer % Used

The values in these columns provide an overview as to how much of the actual buffer is being used when it is obtaines. That is to say, even though a request may be satisfied by a buffer with a length of 64 bytes, it may only require 32 bytes; however, it will still have 64 bytes reserved for it. The intention is that the buffer subpools can be tuned based on the usage of the buffer pools and perhaps additional subpools defined and/or current allocations changed.

6 ranges are presented (R1 to R6). The figures below these ranges indicate the percentage of overall requests which only used that amount of the buffer. Where 100% of requests fall into a specific range, '**' will be seen as the range. The various ranges represent the following usages of the buffer. Note that if the buffer is utilised 100% it will not be reflected in any of the ranges.

R1 | less than 50% of the buffer used.
R2 | 50% to 59% of the buffer used.
R3 | 60% to 69% of the buffer used.
R4 | 70% to 79% of the buffer used.
R5 | 80% to 89% of the buffer used.
R6 | 90% to 99% of the buffer used.

The figures should be used to eliminate major wastage of storage. For example, if a buffer subpool consistently has 100% (ie '**') in the first range, it indicates that all requests satisfied by this subpool could actually be satisfied with an elements size which is half the size or possibly less, of the current element size defined for the subpool. As all requests in this category are satisified in this way, the element size of the subpool should simply be halved. In a case where 50% of the requests satisfied are in the 'R1' category, another buffer subpool with an element size half the currently defined size should be allocated. The number of elements for the new subpool should be half the number allocated for the current subpool while the scurrent subpools allocation should also be halved.

While this method could be used to fine tune the allocation of subpools and the sizes allocated, the storage savings must be weighed against the time spent fune tuning the system. Also, a change in system load can "undo" the newly tuned subpools and would require that the process be repeated.

## FL Subfunction

The FL subfunction can be used to find out from which library in the COMPLIB chain a given program is loaded from. The name of the program must be entered in the operand field. A load count of 0 does not signify that the module has never been loaded from the library, but that no thread task has done so.

## FP Subfunction

The FP subfunction can be used to find out where a given program is loaded from. The name of the program must be entered in the operand field.

The search for the load module is performed in the same sequence Com-plete uses when loading a program requested by the terminal operator or by an application:

- resident programs

- LPA/ELPA (OS systems) / SVA and partition GETVIS area (z/VSE systems)

- program lookaside buffer

- COMPLIB load library chain.

Depending on where the program is first found, the FP subfunction results in the screen of the RP, IP, or OP subfunction being displayed. When the program is first found in the LPA/ELPA (OS) or SVA/partition GETVIS area (z/VSE), this fact is indicated by an appropriate message in the top line of the screen.

## IP Subfunction

The IP subfunction displays statistics on the programs in the lookaside buffer. Its contents can be specified using the PGMLOOKASIDE sysparm.

For every program in the buffer, the display contains the name and size of the program and the number of loads:

    13:23:35        TID    13           COM-5.1.          User MBE          05.10.97
                            --- Program Lookaside Buffer ---                    UCTG

        Name        Size     Loads                 Name        Size     Loads
     *** TOP OF DATA ***
       USTOR          10K       1
       USTACK         20K       4
       USTSF2          4K       4
       UEBP           45K
       UEDIT          13K
       UEPROF         35K
       UETABS          1K
       UXEEX2          1K
       UXEEX3          2K
       UPDS           53K

     *** BOTTOM OF DATA *** ------------------------------------ Active Users: 00002
     Select function:      Operand:                                  PF7=up PF8=down
             Command:

## OP Subfunction

The OP subfunction displays the contents of the instorage program directory (ISD)

To avoid searching for a load module each time it is being loaded, Com-plete keeps the BLDL / LOADLIST information for the most recently used load modules in an instorage directory.

The size (number of entries) of the ISD can be specified using the PROGRAMISD sysparm.

For each load module in the ISD, the display contains the name and number of loads. If the number of loads is not indicated for a module, the appropriate load module has been requested, but does not exist.

    14:49:24        TID    11          COMTEST          User SAG          17.01.12
                          --- Program Instorage Directory ---                  UCTF

      Name         Loads         Name         Loads         Name         Loads
    *** TOP OF DATA ***
      UCTRL            1
      USTKX1           1
      ULOGX1           1
      UTMEX2
      UTIMRM           1
      RDCHISTO         1
      RDCRTSTR         1
      READCONS         1
      TLMSMESG         1
      TLAMMAIN         1

    *** BOTTOM OF DATA *** ------------------------------------ Active Users: 00001
    Select function:      Operand:                        PF7=up PF8=down PF11=mode
            Command:

With PF11 you can get more information about the library in the COMPLIB chain the module was loaded from:

    14:51:12        TID    11          COMTEST          User SAG          17.01.12
                          --- Program Instorage Directory ---                  UCTS

    Name         Size   Loads  Loaded from                           Concatenation#
    *** TOP OF DATA ***
    RDCHISTO      28K       1  COK.RDC611.ORIGINAL.LOAD                        (+0)
    RDCRTSTR       3K       1  COK.RDC611.ORIGINAL.LOAD                        (+0)
    READCONS       7K       1  COK.SYSF.COM67X.ZAP.LOAD                        (+2)
    TLAMMAIN       5K       1  INS.COM671.MVSLOAD                              (+8)
    TLMSMESG       7K       1  COM.V671.LOA##                                  (+7)
    UCTRL         47K       1  COM.V68.WORK.LOAD                               (+4)
    ULOGX1         2K       1  COK.SYSF.COM6XX.USER.LOAD                       (+5)
    USTKX1         1K       1  COK.SYSF.COM6XX.USER.LOAD                       (+5)
    UTIMRM        43K       1  COM.V68.WORK.LOAD                               (+4)
    UTMEX2                     NOT FOUND

    *** BOTTOM OF DATA *** ------------------------------------ Active Users: 00001
    Select function:      Operand:                        PF7=up PF8=down PF11=mode
            Command:

## PG (Task ("Processor") Groups) Subfunction

This function will display a list of all task groups in the system. The following display is a sample of what will be displayed.

    15:46:10        TID     5          COM-5.1.          User MBE          12.11.97
                                --- Processor Groups ---                        UCTN
                               Use counts  Processors   Q Counts
     Grp name  Status     Pri  Curr  High  Act Hig All  Curr High
     *** TOP OF DATA ***
     DEFAULT   Active     248    13    18    2   2   2     0    3
     NATURAL   Active     248     2     3    2   2   2     0    1

     *** BOTTOM OF DATA *** ------------------------------------ Active Users: 00003
     Select function:      Operand:                                  PF7=up PF8=down
             Command:

> Grp Name

>   This is the name of the group for which the information is being displayed.

> Status

>   This is the status of the task. The task group may be Active, Quiescing or Dormant. When a task group is active, Com-plete can allocate and deallocate tasks from that group at will. When the group is quiescing, any tasks that have previously been allocated will remain available until they are deallocated by all users using them. When the last task is deallocated, the task group will have deemed to be quiesced and the control block will be marked as dormant.

> Pri

>   This is the priority of the tasks associated with the task group. Under z/OS and Hitachi systems, this reflects the actual operating system priority assigned to the tasks.

> Use Counts - Cur

>   This is the number of users with the tasks currently allocated from the task group.

> Use Counts - High

>   This reflects the highest number of users which had tasks allocated in this task group at any one time since the group was initialised.

> Tasks - Act

>   This is the number of tasks which the installation wishes to have defined within the task group.

> Tasks - Hig

>   This is the highest number of tasks active at any one time since the task group was initialised

> Tasks - All

>   This is the number of tasks actually allocated for the task group. This may differ from the number of tasks active as when the number of tasks is to be reduced, the tasks must first be quiesced in order to let current users of the tasks to be deleted, to finish their work. These tasks and their associated resources will only be physically deallocated and disappear from this count when the last user deallocates the task and it becomes dormant. Tasks can be added or removed from task groups using the 'TASKS' operator command.

> Q Counts

>   Each task group has four work queues associated with it, each queue representing a priority from 0 to 3. The total values are provided for all queues in this display; if values for each individual display are required use the QO function. Because these values are changing as they are being collected, there is a very slight possibility that inconsistencies may appear in the figures displayed. For this reason, these figures must be taken as a good indication rather than absolute values.

> Q Counts - Curr

>   This is the number of users currently on queues associated with this task group.

> Queue Counts - High

>   This is the sum total of the highest number of users which were on each queue associated with this task group at any one time.

## PL (Task ("Processor") List) Subfunction

This function will display a list of all tasks in the requested task group and their current status. If no task group operand is provided, the tasks for all task groups are displayed. The following display is a sample of what will be displayed.

    09:57:28        TID     9          COMTEST8          User COK          28.06.05
                                --- Processor List ---                         UCTT
                        Use counts  Waits..           ...Current/Last Active...
     Grp name  Status   Curr  High  Cur Hig  LastOp   User id  Program  Tid.. L Time
     *** TOP OF DATA ***
     SYSTEM    A-Wait      1     2    4   4  Unknown  COMTEST8 TLOSOPER     1 0
     SYSTEM    A-Disp      2     3    2   2  Unknown  COMTEST8 TLAMMAIN     3 0  999
     SYSTEM    A-Disp      2     3    2   2  Unknown  COMTEST8 TLMSMESG     4 0  999
     SYSTEM    A-Disp      2     3    2   2  Unknown  COMTEST8 READCONS     6 0  999
     SYSTEM    A-Wait      0     1    2   2
     DEFAULT   A-Run       5     7    7  13  Readm    COK      UCTRL        9 2
     NATURAL   A-Wait      0     1    2   2
     SPECIAL   A-Wait      0     1    2   2

     *** BOTTOM OF DATA *** ------------------------------------ Active Users: 00001
     Select function:      Operand:                                  PF7=up PF8=down
             Command:

> Grp Name

>   This is the name of the task group of which the task in question is a member.

> Status

>   This reflects the current status of the task. The status is a combination of two state indicators separated by a dash ('-'). The primary state indicator, which is the letter preceding the dash, indicates whether the task is Active, Quiescing or Dormant by the letters A, Q and D respectively. Active in this sense indicates that the task is available to do work. When it is quiescing, it will remain active long enough to finish any work which has been started by the task while dormant tasks cannot be used and will have no secondary state associated with them. The secondary states which may occur are as follows:

>   'Wait' Status

>   This indicates that the task is waiting. In this state, the task is waiting on new work or on events requested by programs running in threads associated with it.

>   'Run' Status

>   This indicates that the task is currently running a user program.

>   'Disp' Status

>   This indicates that the task is going through it's dispatching cycle either finishing off old work or looking for new work.

> Use Counts - Curr

>   This is the current use count for the task. The use count includes the current user of the task, any users for whom a wait was issued on the task and any users with an affinity for this task.

> Use Counts - High

>   This reflects the highest ever use count experienced for the task since it was initialised.

> Wait Counts - Curr

>   This is the current wait count for the task. This reflects the number of events upon which the task is waiting and includes two standard events, those being that work has been queued to the task group work queues or to the task's own work queue.

> Wait Counts - High

>   This reflects the highest ever wait count experienced for the task since it was initialised.

> Last Op

>   This is the last Com-plete op which was issued under control of the task.

> Current/Last Active Userid

>   This is the userid of the current user active under control of the task or the last user to be active under control of the task if it has a secondary status of 'wait'. This may be blank in systems where logon is not forced and will generally be blank for ULOG sessions where the user is logging on.

> Current/Last Active Program

>   This is the name of the program currently active under control of the task, or the last program to be active under control of the task if it has a secondary status of 'wait'. If the task has never been used, this will be blank, however, once it has been used, this will always contain a value.

> Current/Last Active Tid..

>   This is the tid of the current TIB active under control of the task, or the last TIB to be active under control of the task if it has a secondary status of 'wait'. If the task has never been used, this will be blank, however, once it has been used, this will always contain a value.

> Current/Last Active L

>   This is the level number on which the user currently active under control of the task, or the last user to be active under control of the task if it has a secondary status of 'wait', is running. If the task has never been used, this will be blank, however, once it has been used, this will always contain a value. Level '0' will be displayed for a non-COM-PASS user, for a COM-PASS user who is running a program while something is stacked on all possible levels and for certain programs which must run on level 0 such as ULOG.

> Time

>   When the task has a secondary status of 'Run', this will reflect the time in seconds that this user has spent under control of the task.

## PR Subfunction

The PR subfunction allows you to print the information items provided by most of the other subfunctions via a hardcopy device. Having specified a destination printer in the first screen, you can define from which subfunction you wish to print:

    10:31:30        TID    11          DEV--631          User COK          06.10.04
                       --- Print COM-PLETE Control Information ---              UCTP

          Function                    Sel      Function                    Sel
          --------------------------- ---      --------------------------- ---
          ADABAS interface data .....  _       Queue overview data .......  _
          Program instorage directory  _       Task (process) list data...  _
          Program lookaside .........  _       Thread subgroup data ......  _
          Resident program usage ....  _       Thread list data ..........  _
          Roll activities ...........  _
          Buffer activities .........  _
          FBPM statistics............  _
          User activities ...........  _
          Server overview ...........  _
          DB2 thread status .........  _
          Spooling system ...........  _
          VSAM statistics ...........  _

                            Select (mark) for printout

     Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
                       Quit  All   Confm

Select the item(s) you want to be printed by typing any character in the appropriate input fields, and press PF5 to confirm your selection. Pressing PF4 causes all items to be printed.

If you select "User Activities", an additional screen is displayed, allowing you to design the printout for this subfunction:

    14:37:47        TID    13          COM-5.1.          User MBE          12.04.97
                       --- Printout Design For User Activities ---              UCTU

     Field                                S    Field                               S
     ------------------------------------ -    ----------------------------------- -
     User ID ............................ A    Total number of transactions ...... M
     LU-name ............................ B    Total number of EXCPs ............. N
     TID number ......................... C    Amount data sent to/from terminal . O
     Authorization code ................. D    Message switching/printout spooling P
     Account number ..................... E    Number of ADABAS transactions ..... Q
     Logon date ......................... F    Average ADABAS response time ...... R
     Logon time ......................... G    Com-plete monitor calls ........... S
     Time of the last transaction ....... H    Average monitor calls / transaction T
     Current thread ..................... I    Total number of ADABAS calls ...... U
     Current Program .................... J    Average ADABAS calls / transaction  V
     Total elapsed time in thread ....... K    Average ADABAS time / transaction . W
     CPU time used ...................... L

     Select columns in desired order:  A

     Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
                       End   Std3p Confm

Press PF4 to create the standard printout on three pages, equivalent to the three screens described for the UA subfunction in this section.

You may wish to print some of the information items, by default distributed among different pages, side by side on the same page. To do so, type in the characters associated with the appropriate items in the order you want the columns to be located in the printout. When you enter this screen, it may already contain a default selection set up by user exit U2EXIT1 of your installation (in the above example, it is "A".

If the line length of the printout you design exceeds the maximum of 121, you are informed about the overflow and have to resign one or more items. The printout is created when you confirm your selection by pressing PF5.

## QO (Queue Overview) Subfunction

This function displays a list of all queues currently defined in the system and their current status. The following is a sample of what will be displayed.

    15:38:05        TID    10          COMTEST8          User SAG          04.01.06
                                --- Queue Overview ---                         UCTW
                       In Queue  Total ---- Time in Queue ----
    Queue name        Curr   HWM  Enq     Last Average     HWM Time of HWM Last DEQ
    *** TOP OF DATA ***
    Output Queue         0     0     0   0.000   0.000   0.000
    Input Queue          0     0     0   0.000   0.000   0.000
    Completion Queue     0     0     0   0.000   0.000   0.000
    Message Queue        0     0     0   0.000   0.000   0.000
    $SYSTEM threadSG     0     0     0   0.000   0.000   0.000
    $SYSTEM thread-Q     0     0     0   0.000   0.000   0.000
    SPECIAL threadSG     0     0     0   0.000   0.000   0.000
    SPECIAL thread-Q     0     0     0   0.000   0.000   0.000
    UT0256  threadSG     0     0     0   0.000   0.000   0.000
    UT0256  thread-Q     0     0     0   0.000   0.000   0.000
    UT0256  thread-Q     0     1     1   7.833   7.833   7.833 04.01 15:28
    UT0256  thread-Q     0     0     0   0.000   0.000   0.000
    UT0256  thread-Q     0     0     0   0.000   0.000   0.000
    UT0512  threadSG     0     0     0   0.000   0.000   0.000
    UT0512  thread-Q     0     0     0   0.000   0.000   0.000
    ----------------------------------------------------------- Active Users: 00001
    Select function:      Operand:                                  PF7=up PF8=down
            Command:

> Queue Name

>   This is the 16 character name of the queue for which details are provided. The first six queues are the standard system queues used by Com-plete. Following this, each of the task group's queues will follow. The first eight characters of these queue names will contain the task group name while the second eight characters indicates their purpose within the task group.

>   Each task group has one common work queue upon which the work is queued that does not have an affinity to a particular TCB within the group, i.e. that can be executed on any TCB in the group. In addition, each task within the group will have its own work queue with the identifier 'TASK-Q' associated with it. These queues are used for work which is associated with a particular task.

> Current in Queue

>   This is the number of tibs currently in the queue.

> HWM in Queue

>   This is the maximum number of tibs that was ever at one time in the queue.

> Total in Queue

>   This is the total number of tibs which were ever queued here.

> Time in Queue (LAST)

>   This is the time in milliseconds the last tib spent in the queue.

> Time in Queue (Average)

>   This is average amount of time in milliseconds a tib spent in the queue.

> Time in Queue (HWM)

>   This is longest time a tib ever spent in this queue.

> Time of HWM

>   Shows when the HWM for 'Time in Queue' was taken.

> Last Deq

>   If there are currently tibs in the queue, this means either the time when the tib was put in an empty queue, or the time when an already waiting predecessor was taken (dequeued) from the queue.

## RA Subfunction

This function displays performance critical statistics from the Com-plete Roll Subsystem. These statistics should be monitored on a regular basis to check if changes ara necessary. The Roll Activities display is as follows:

    15:32:30        TID    12          COM-610          User MBE          20.04.00
                               --- Roll Activities(1) ---                       UCTE

               Average Amount                              Rollout/in

            Avg Rsize    1183 K                         Out Total     418

            Avg Csize      62 K                         In  Total     400

     -------------------------------------------------------------------------------
     Select function:      Operand:                                       PF11 right
             Command:

The information items are explained on the following pages.

Item | Meaning
--- | ---
Avg Rsize | Average size of thread image that has been rolled up to this point.
Avg Csize | Average size of the thread image after Com-plete compression has been performed and is the average of the actual amount of data which the roll subsystem will have rolled.
Out Total | Total number of rollout requests.
In Total | Total number of rollin requests.

An additional display is available by pressing PF11 from the first RA screen, which presents an overview of the size of the images being rolled out, the number of such images and the percentage of the total. Each rollout size is rounded to the nearest 4k, therefore for every 4k slot (8K, 12K, 16K......1024K) a count is kept of the number of images of each size. To keep the display simple, where a size has not been used, it is not displayed. Therefore, the display consists of an entry for each size which has actually been rolled, the number of times that size was rolled and the percentage of the total rollouts in the system. This display enables you to determine what the load on the roll subsystem is and to determine the subpool sizes and number of elements required for a Fixed Roll Buffer Pool. The following is an example of this display:

    13:07:06        TID    12          COM-5.1.          User XJPO         10.03.97
                              --- Roll Activities(2) ---                       UCTL
      Size  Number   %    Size  Number   %    Size  Number   %    Size  Number   %
    *** TOP OF DATA ***
       16K      50   1     100K    500  10     256K    250   5     320K   1950  39
      500K     2250 45

    *** BOTTOM OF DATA *** ------------------------------------ Active Users: 00002
    Select function:      Operand:             PF7=up PF8=down PF10=left PF11=right
            Command:

## RP Subfunction

The RP function displays statistics on the resident programs.

For every resident program, information displayed includes the flag for ‘deferred delete’ as well as the name and size of the program, the number of loads, current use count, the load-point, entry-point and linkage editor options (z/OS: reentrant, reusable; z/VSE: in SVA, SVA eligible) .

    09:02:52        TID    12          COMTEST          User SAG          16.12.11
                                --- Resident Programs ---                       UCTC

     D Name         Size     Loads   Current    Entry_pt    Load_pt       Attr
     *** TOP OF DATA ***
       USTSF2         4K         1         0    A7F401D0    27F401D0      RN RU
       USTACK        13K         1         0    A7F40E78    27F40E78      RN RU
       ULG0F2         1K         1         0    A7F12048    27F12048      RN RU
       TLAMTNDE       4K         1         1    A70771C0    270771C0      RN RU
       RDCCOMP       20K         1         0    A7ED3000    27ED3000      RN RU
       PAENSTRT       2K         1         1    A703D518    2703D518      RN RU
       TLOSOPER       1K         1         1    A50E81A8    250E81A8      RN RU
       UEDTB1        15K         0         0    A50E8558    250E8558      RN RU
       ULPGMTAB       1K         0         0    00007028    00007028
       IDCAL01       69K         0         0    8003EEE0    0003EEE0      RN RU
       IDCAMS       107K         0         0    80059EE8    000505A8      RN RU
       IDCCDAL       20K         0         0    0006B030    0006B030      RN RU
       IDCCDLC        3K         0         0    0000A428    0000A428      RN RU
       IDCCDPR        5K         0         0    80070DF8    00070DF8      RN RU
       IDCLC01      250K         0         0    80072928    00072928      RN RU
     ----------------------------------------------------------- Active Users: 00001
     Select function:       Operand:                                 PF7=up PF8=down
             Command:

The flag for deferred delete is set when ULIB REF or PGM REFRESH was issued and the old module still had a usecount>0 . As soon as the usecount is 0, the module will be deleted. New users will always access the new version of the module during this time.

## SG (Thread Subgroups) Subfunction

This function will display a list of all thread subgroups in a requested thread group and their current status. If no thread group name is provided as an operand, the subgroups of all thread groups will be displayed. The following display is a sample of what will be displayed.

    15:01:48        TID    11          COMTEST          User SAG          17.01.12
                               --- Thread Subgroups ---                        UCTY
              Size_(in_K)         HWM__(in_K)  UseCounts  WaitCount
    Name      Above Below Threads Above Below  Curr High  Curr High    CPU   Real K
    *** TOP OF DATA ***
    $SYSTEM     256    16       4     0     0     4    5     0    0   None   None N
    TCSSPEC    1024   512       1     0     0     0    1     0    0  10.00  20.00 N
    KEYNINE    1024    48       2    40     0     2    3     0    0  10.00  20.00 9
    KEYMIX     1024   256       4    61     1     3    4     0    0  10.00  20.00 M
    SMALL      1024     4       2     0     0     0    1     0    0  10.00  20.00 M
    BIG        1024   512       1     0     0     0    1     0    0  10.00  20.00 M

    *** BOTTOM OF DATA *** ------------------------------------ Active Users: 00001
    Select function:      Operand:                                  PF7=up PF8=down
            Command:

> Name

>   This is the name of the subgroup to which the line of statistics relates.

> Above

>   This is the amount of storage each thread in the subgroup has available above the line.

> Below

>   This is the amount of storage each thread in the subgroup has available below the line.

> Threads - Def'd

>   This is the number of threads which the installation wishes to have defined within the thread subgroup.

> Threads - Alloc

>   This is the number of threads actually allocated for the thread subgroup. This may differ from the number of threads defined as when the number of threads is to be reduced, the threads must first be quiesced in order to let current users of the threads to be deleted, finished their work. These threads will only be physically deallocated and disappear from this count when the last user deallocates the thread and the thread becomes dormant.

>   Note: Com-plete does not currently provide a mechanism to change the number of threads defined within a thread subgroup dynamically, therefore the values given for 'Threads' should always be identical.

> HWM Above/Below

>   This shows the highest amount of thread storage used above/below the line in the thread group.

> Use Counts - Curr

>   This is the number of users with the threads currently allocated from the thread subgroup.

>   Note that users which are rolled out and relocatible are not included in any subgroup

> Use Counts - High

>   This reflects the highest number of users which had threads allocated in this subgroup at any one time since the subgroup was initialised.

> Wait Counts - Curr

>   This is the number of users currently waiting for a thread of the thread subgroup to become available. Users waiting for a distinct thread due to an affinity are not included in this number.

> Wait Counts - High

>   This reflects the highest number of users which were waiting for a thread of the thread subgroup to become available at any one time since the subgroup was initialised

> CPU

>   This is the number of CPU seconds which a user program using the thread subgroup in question can use between roll outs before being terminated abnormally by Com-plete. If the word 'none' appears for this field, it indicates that no CPU time was requested in the Sysparms. Note that Com-plete still sets a nominal time of 24 CPU hours when no CPU timing is requested by the user. This is required for the calculation of CPU time statistics.

> Real

>   This is wall clock time which is set for each thread in the subgroup. If a user program occupies the thread without doing a rollout for longer than this time, a message is issued to the operator console. This message will be repeated every 30 seconds after the first message if the user program does not give up the thread. If the word 'none' appears in this field, it indicates that Com-plete is not calculating the length of time user programs are in a thread for threads in this subgroup.

> K

>   This is the key in which threads in the subgroup are set when a new program starts in one of the threads. If an absolute key number is displayed, it indicates that all threads in the subgroup get that key. If the letter 'M' is displayed, it indicates that the keys for threads within the subgroup are mixed within the range of user protect keys available from the operating system.

## SO Subfunction

This subfunction displays an overview of Servers active in Com-plete.

    10:03:44        TID     9          COMTEST8          User COK          28.06.05
                                --- Server Overview ---                        UCTH

    Name         CB addr     INIT module      INIT addr      Req. Handler
    *** TOP OF DATA ***
     HTTP        1A67B000    HAENSERV         9C8838E8       00000000
     COM-DUMP    00000000    RMDUSERV         00000000       00000000
     COKNAT41    1C8820D8    COKNAT41         9C881C68       9C881FC0
     NATBPS31    1A64C600    NATBPS31         9C111398       9C11162E
     NATBPS22    1A64C5C0    NATCBPS2         8050B0A8       8050B39E
     JESC        1BFC5028    TLINJES2         80522208       00000000
     CONSOLE     1A62BC80    TLINCONS         9C3AC600       00000000
     COMPLETE    1A650200    TLINCOMP         9BF9AFE0       00000000
     POSIX       0003F000    PAENKERN         9BF19230       00000000
     OPERATOR    1A64BDC0    TLINOPER         9A627150       00000000

    *** BOTTOM OF DATA *** ------------------------------------ Active Users: 00001
    Select Function:      Operand:                                  PF7=up PF8=down
            Command:

Meaning of the information items according to column heading:

Heading | Meaning
--- | ---
Name | The name given to the server. This is the first subparameter of the SERVER sysparm.
CB addr | The address Server Control Block where every server can keep relevant data.
INIT Module | The name of the Server Initialization module.
INIT addr | Load address of the Server Initialization module.
Req. Handler | Load address of the Server Request handler.

## TG (Thread Groups) Subfunction

This function will display a list of all thread groups in the system. The following display is a sample of what will be displayed.

    10:08:45        TID     9          COMTEST8          User COK          28.06.05
                                 --- Thread Groups ---                          UCTX
                          Use counts         <-Threads->
     Grp name  Status     Curr  High  SGrps  Def'd Alloc
     *** TOP OF DATA ***
     SYSTEM    Active        4     5     1       4     4
     SPECIAL   Active        1     3     1       1     1
     DEFAULT   Active        4     5     3       7     7
     NATURAL   Active        0     1     2       2     2

     *** BOTTOM OF DATA *** ------------------------------------ Active Users: 00001
     Select function:      Operand:                                  PF7=up PF8=down
             Command:

> Grp Name

>   This is the name of the group for which the information is being displayed.

> Status

>   This is the status of the thread group. The thread group may be Active, Quiescing or Dormant. When a thread group is active, Com-plete can allocate and deallocate threads from that group at will. When the group is quiescing, any threads that have previously been allocated will remain available until they are deallocated by all users using them. When the last thread is deallocated, the thread group will have deemed to be quiesced and the control block will be marked as dormant.

> Use Counts - Curr

>   This is the number of users with threads currently allocated from the thread group.

> Use Counts - High

>   This reflects the highest number of users which had threads allocated in this thread group at any one time since the group was initialised.

> Sgrps

>   This is the number of subgroups contained within the thread group.

> Threads - Def'd

>   This is the number of threads which the installation wishes to have defined within the thread group.

> Threads - Alloc

>   This is the number of threads actually allocated for the thread group. This may differ from the number of threads defined as when the number of threads is to be reduced, the threads must first be quiesced in order to let current users of the threads to be deleted, to finish their work. These threads will only be physically deallocated and disappear from this count when the last user deallocates the thread and the thread becomes dormant.

>   Note: Com-plete does not currently provide a mechanism to change the number of threads defined within a thread group dynamically, therefore the values given for 'Threads' should always remain constant throughout a given run of Com-plete.

## TL (Thread List) Subfunction

This function will display a list of all threads in the request thread group and their current status. If no thread group is provided as an operand, the threads for all thread groups will be displayed. The following display is a sample of what will be displayed.

    10:04:26        TID     9          COMTEST8          User COK          28.06.05
                                 --- Thread List ---                           UCTZ
                    Use counts  Wait Cnts            ...Current/Last Active...
    Subgrp   Status Curr  High  Curr High K Last Op  User ID  Program  Tid.. L Time
    *** TOP OF DATA ***
    $SYSTEM  A-Run     1     1     0    0 8 Unknown  COMTEST8 TLAMMAIN     3 0  999
    $SYSTEM  A-Run     1     1     0    0 8 Unknown  COMTEST8 TLMSMESG     4 0  999
    $SYSTEM  A-Run     1     1     0    0 8 Unknown  COMTEST8 READCONS     6 0  999
    $SYSTEM  A-Occ     1     1     0    0 8 Unknown  COMTEST8 TLOSOPER     1 0
    SPECIAL  A-Free    1     3     0    0 8 Coexit   COMTEST8 PAENSTRT    10 0
    UTIL0256 A-Occ     1     1     0    0 D Abexit   COMTEST8 PAENSTRT     2 0
    UTIL0256 A-Occ     1     1     0    0 C Wrtse    COK      RDCCOK33     9 1
    UTIL0256 A-Run     1     1     0    0 B Readm    COK      UCTRL        9 2
    UTIL0256 A-Free    0     0     0    0 A
    UTIL0512 A-Occ     1     1     0    0 F Rolout   COMTEST8 UTIMRM       8 0
    UTIL0512 A-Free    0     0     0    0 E
    UTIL1020 A-Free    0     0     0    0 A
    SMALLNAT A-Free    0     0     0    0 8
    BIGNAT   A-Free    0     0     0    0 8

    *** BOTTOM OF DATA *** ------------------------------------ Active Users: 00001
    Select function:      Operand:                                  PF7=up PF8=down
            Command:

> Subgrp

>   This is the name of the thread subgroup of which the thread in question is a member.

> Status

>   This reflects the current status of the thread. The status is a combination of two state indicators separated by a dash ('-'). The primary state indicator is the letter preceding the dash and indicates whether the thread is Active, Quiescing or Dormant by the letters A, Q and D respectively. Active in this sense indicates that the thread is available to do work. When it is quiescing, it will remain active long enough to finish any work which has been started in the thread while dormant thread cannot be used and will have no secondary state associated with them. The secondary states which may occur are as follows:

>   #### 'Free' Status

>   This indicates that the thread is free to run other work. If there was a previous user of the thread, this state indicates that this user's program ended or has been rolled out.

>   #### 'Occ' Status

>   The 'occupied' status indicates that the thread is available to do work, however, the user program currently occupying the thread must first be rolled out prior to starting any other new work in the thread.

>   #### 'Disp' Status

>   This indicates that the thread is reserved and the dispatcher is currently in the process of either starting a new user program or rolling in a user program which was previously rolled out.

>   #### 'Run' Status

>   This indicates that the user program in the thread is currently running.

>   #### 'Susp' Status

>   This indicates that the user program has been temporarily suspended as a wait was issued either directly by the user program or indirectly by a function used by the program. In this state, the user program may not be rolled out. Internally it indicates that the operating system task associated with the work is active elsewhere. Once the condition for the wait is satisfied, the task will continue processing this work.

> Use Counts - Curr

>   This is the current use count for the thread. The use count includes the current user of the thread plus any other non relocatible users previously rolled out from this thread.

> Use Counts - High

>   This reflects the highest ever use count experienced for the thread since the thread was initialised.

> Wait Counts - Curr

>   This is the current wait count for the thread. This reflects the number of users waiting to run in the thread at the present time.

> Wait Counts - High

>   This reflects the highest ever wait count experienced for the thread since the thread was initialised.

> K

>   This is the key in which the user area of the storage is currently in when the thread is active, or is the key in which the last user of the thread left it. Note that the user area of the storage depends on the catalogue size of the current or last user of the thread.

> Last Op

>   This is the last Com-plete operation which was issued in the thread.

> Current/Last Active Userid

>   This is the userid of the current user active in the thread or the last user to be active in the thread if the thread has a status of 'free' or 'occ'. This may be blank in systems where logon is not forced and will generally be blank for ULOG sessions where the user is logging on.

> Current/Last Active Program

>   This is the name of the program currently active in the thread, or the last program to be active in the thread if the thread has a status of 'free' or 'occ'. If the thread has never been used, this will be blank, however, once the thread has been used, this will always contain a value.

> Current/Last Active Tid..

>   This is the tid of the current TIB active in the thread, or the last TIB to be active in the thread if the thread has a status of 'free' or 'occ'. If the thread has never been used, this will be blank, however, once the thread has been used, this will always contain a value.

> Current/Last Active L

>   This is the level number on which the user currently active in the thread, or the last user to be active in the thread if the thread has a status of 'free' or 'occ', is running. If the thread has never been used, this will be blank, however, once the thread has been used, this will always contain a value. Level '0' will be displayed for a non-COM-PASS user, for a COM-PASS user who is running a program while something is stacked on all possible levels or for specific programs which must run on level 0 such as ULOG.

> Time

>   When the thread has a secondary status of 'Susp' or 'Run', this will reflect the time in seconds that this user has spent in the thread.

## TO Subfunction

The TO subfunction displays information about terminals and printer status. Information items include:

- The name of the TIB onto which the user is logged;

- TID number;

- Device type;

- User ID (if logged on);

- Priority ;

- Screen size;

- Terminal status (ACTIVE, ERROR, etc.).

    10:07:52        TID    11          DEV--631          User COK          28.06.05
                                --- Terminal Overview ---                       UCTD

     LU-Name   TermID  Device    Type    UserID  Prty Lines Columns Status
     *** TOP OF DATA ***
                    1  ATTACHED          COMTEST2  0     24     80  ACTIVE
                    2  ATTACHED          COMTEST2  0     24     80  ACTIVE
                    3  ATTACHED          COMTEST2  0     24     80  ACTIVE
                    4  ATTACHED          COMTEST2  0     24     80  ACTIVE
     SYSOUT         5  BATCH                       1     10    133  ACTIVE
                    6  ATTACHED          COMTEST2  0     24     80  ACTIVE
     HTTPLIST       7  ATTACHED          WEBLISTN  0     24     80  ACTIVE
     HTTPLIST       8  ATTACHED          WLIS6055  0     24     80  ACTIVE
     HTTPLIST       9  ATTACHED          WLIS6057  0     24     80  ACTIVE
                   10  ATTACHED          TIMERM    0     24     80  ACTIVE
     TELNET        11  3270TN    TCP/IP  COK       1     32     80  ACTIVE
     TELNET        12  3270TN    TCP/IP  SKU       1     27    132  ACTIVE
     Co2HTTP2      14  ATTACHED  TCP/IP  COMTEST2  0     24     80  ACTIVE
     TELNET        15  3270TN    TCP/IP  SKU       1     27    132  ACTIVE
     HTTPERR       16  3288  L   VTAM              1      0      0  ACTIVE
     ----------------------------------------------------------- Active Users: 00003
     Select function:      Terminal:                                 PF7=up PF8=down
             Command:

As in the case of the UA subfunction, you can restrict the display to specific terminals by entering their prefix. For example, entering "ABC" causes all terminals starting with "ABC" to be displayed. "**C" causes all terminals with a "C" as their third character to be displayed.

## TS Subfunction

The TS subfunction displays detailed information about a specific terminal. Select a terminal by entering either its name or its TIB number in the Terminal ID field of the Terminal Status display. Information items on this display include:

- The hex display of the TIB control block;

- Current user ID;

- Device type and access method;

- VTAM session ID;

- Status;

- Important status flags.

    10:48:53        TID     6           COM-5.1.          User SAGAWW       30/08/94
                                 --- Terminal Status ---                        UCT8
     0000 00000000 10C00001 00000000 00001083       Tid number ....     6
     0010 01002010 00001FFE D201091B 00000000       Tid name ...... DAESS17
     0020 01200006 80058C00 C4C1C5E2 E2F1F740       Current user .. SAGAWW
     0030 010001D7 728E833A 00501850 18C0000C       Hardcopy Tid ..     0
     0040 00000000 FF000100 00058E50 00010000
     0050 20810000 00000000 00000000 00000000       Terminal type . 3270  L
     0060 00000000 00000000 01000000 00000000       Access method . VTAM
     0070 00000000 E0000000 00000000 00000000       Session ID .... 010001D7
     0080 FFFFFFFF 00000000 17101218 07092418
     0090 17101218 00000000 00000000 00000001       Status ........ ACTIVE

     ---------------------------------- Tib flags ----------------------------------
     Input inhibited
     SNA device
     Chaining
     Bracket protocol
     -------------------------------------------------------------------------------
     Select function:      Terminal ID:  6                     PF10=left  PF11=right
             Command:

In the case of VTAM terminals, an additional screen is available (press PF11. It displays:

- The hex display of the last RPL;

- Sense data;

- Trace information.

    10:51:22        TID     6           COM-5.1.          User SAGAWW       30/08/94
                                 --- Terminal Status ---                        UCT9
           ----------- RPL display -----------            Trace entries
     0000  00000000 00000000 00000000 00000000                  COMPL
     0010  00000000 00000000 00000000 00000000                  ENIN
     0020  00000000 00000000 00000000 00000000                  RDSYN
     0030  00000000 00000000 00000000 00000000                  RECEIVE
     0040  00000000 00000000 00000000 00000000                  COMPL
     0050  00000000 00000000 00000000 00000000                  COMPL
     0060  00000000 00000000 00000000                           COMPLDM
                                                                WRITE
                                                                SEND
     Sense Data: 0000 0000                                      RPLEX
                                                                COMPL
                                                                ENIN

     -------------------------------------------------------------------------------
     Select function:      Operand: 8                        PF10=left  PF11=right
             Command:

Use PF10 and PF11 to switch between the two screens.

## TU Subfunction

The TU subfunction displays information about the amount of threadstorage used by an application. An example is shown below:

    09:59:55        TID     9          Dev--621          User COK          16.10.03
                                   Thread utilization                           UCTI

     Group    Subgroup Program  Below: Size Region Size Used  Max Above:   Used Max
     *** TOP OF DATA ***
     SYSTEM   $SYSTEM  TLAMMAIN 497000   16 498000   16    0    0 16A3A000   27   27
     SYSTEM   $SYSTEM  TLMSMESG 492000   16 493000   16    8    8 169F4000    1    1
     SYSTEM   $SYSTEM  READCONS 48D000   16 48E000   16    0    0 169AE000    5    5
     SYSTEM   $SYSTEM  TLOSOPER 0F7000   16 0F8000   16    0    0 15CC2000    1    1
     SPECIAL  SPECIAL1 UCTRL    0FC000  512 173000   40    0    0 15D08000   49   49
     NATURAL  NATURAL1
     DEFAULT  UTILITY1 PAENSTRT 2B4000  256 2B5000  256    0    0 1632C000   24   24
     DEFAULT  UTILITY1 PAENSTRT 273000  256 2AE000   24    0    0 16226000   42   42
     DEFAULT  UTILITY1 UTIMRM   232000  256 255000  120   44   44 16120000    1    1
     DEFAULT  UTILITY1 USTACK   1F1000  256 231000    4    0    0 1601A000   18   26
     DEFAULT  UTILITY1 USTACK   1B0000  256 1F0000    4    0    0 15F14000   18   29
     DEFAULT  UTILITY2
     DEFAULT  UTILITY2
     DEFAULT  UTILITY2

     *** BOTTOM OF DATA *** ------------------------------------ Active Users: 00002
     Select Function:      Operand:                                  PF7=up PF8=down
             Command:

Meaning of the information items according to column heading:

Heading | Meaning
--- | ---
Group | Threadgroup as defined in the sysparms
Subgroup | Thread subgroup as defined in the sysparms
Program | Program Initially loaded application
Below | Start address of threadarea below
Size | Threadsize below as defined in the sysparms
Region | Start of threadarea below avaliable for application usage
Size | Region size defined for the application in ULIB
Used | Currently used amount of application thread storage below (in K bytes)
Max | Maximum used amount of application thread storage below (in K bytes)
Above | Start address of threadarea above
Used | Currently used amount of application thread storage above (in K bytes)
Max | Maximum used amount of application thread storage above (in K bytes)

## UA Subfunction

The UA subfunction displays activity information about user IDs currently logged on to Com-plete.

The first of the three screens, shown below, shows miscellaneous information, such as:

- LU-name (the name of the TIB onto which the user is logged);

- TID number;

- Authorization code and account number;

- Logon date and time;

- Time of the last transaction .

     10:11:02        TID    11          DEV--631          User COK          28.06.05
                                 --- User Activities ---                        UCT6

     User Id. LU-name. TermId  Auth.   Account No..  Logon Date   Time on.  Last tx.***
     TOP OF DATA ***
     COMTEST2 ATTACHED      1      0                 24.06.2005   07:04:05  07:04:06
     COMTEST2 ATTACHED      2      0   OPER  TASK    24.06.2005   07:04:06  07:04:06
     COMTEST2 ATTACHED      3      0   TAM   TASK    24.06.2005   07:04:33  10:11:03
     COMTEST2 ATTACHED      4      0   SPOOL TASK    24.06.2005   07:04:34  07:04:34
     COMTEST2 ATTACHED      6      0   CONSOLE TASK  24.06.2005   07:04:35  07:04:35
     WEBLISTN ATTACHED      7      0                 24.06.2005   07:04:36  20:16:05
     WLIS6055 ATTACHED      8      0                 24.06.2005   07:04:37  07:04:37
     WLIS6057 ATTACHED      9      0                 24.06.2005   07:04:38  07:04:38
     TIMERM   ATTACHED     10      0                 24.06.2005   07:04:38  10:11:00
     COK      TELNET       11      0   COM-PLETE     28.06.2005   08:31:09  10:11:03
     SKU      TELNET       12      0   COM-PLETE     24.06.2005   16:38:49  18:05:15
     COMTEST2 ATTACHED     14      0                 27.06.2005   15:03:46  20:17:36
     SKU      TELNET       15      0   COM-PLETE     25.06.2005   12:29:36  12:31:03
     COMTEST2 ATTACHED     17      0                 27.06.2005   10:34:58  19:34:33

     *** BOTTOM OF DATA *** ------------------------------------ Active Users: 00003
     Select function:      User ID:             PF7=up PF8=down PF10=left PF11=right
             Command:

Press PF11 to display the second information screen. This gives additional information about the user ID's activities, such as:

- Current program;

- Total elapsed time spent in thread (seconds);

- CPU time used (seconds);

- Total number of transactions (times in thread);

- Total number of EXCPs;

- Amount of data sent to and received from terminal;

- Amount of data sent via message switching/printout spooling.

     10:12:07        TID    11          DEV--631          User COK          28.06.05
                                --- User Activities ---                        UCT7

     UserID    Thrd Program  Thrd time  CPU time  Trans   EXCPs   Term data Spl data
     *** TOP OF DATA ***
     COMTEST2     0 PAENSTRT      .448       .00      1        0        0         0
     COMTEST2     0 TLOSOPER      .084       .00      1        0        0         0
     COMTEST2     0 TLAMMAIN  2937.883      1.52   7034        0        0         0
     COMTEST2     0 TLMSMESG      .000       .00      1        0        0         0
     COMTEST2     0 READCONS      .000       .00      1        0        0         0
     WEBLISTN     0 PAENSTRT     1.247       .04    117        0        0         0
     WLIS6055     0 PAENSTRT      .018       .00      1        0        0         0
     WLIS6057     0 PAENSTRT      .023       .00      1        0        0         0
     TIMERM       0 UTIMRM     135.263       .41   5956       18        0         0
     COK          0 UCTRL         .987       .03    188        5   129674         0
     SKU          0 UQ           2.928       .76   5136      207   935506         0
     COMTEST2     0 PAENSTRT     3.797       .50    139       59        0         0
     SKU          0 UQ            .722       .13    512       33    91315         0
     COMTEST2     0 PAENSTRT    15.650       .69    149      281        0         0

     *** BOTTOM OF DATA *** ------------------------------------ Active Users: 00003
     Select function:      User ID:             PF7=up PF8=down PF10=left PF11=right
             Command:

Press PF11 to display the third information screen. This shows user activities regarding Adabas, such as:

- Number of transactions;

- Average response time;

- Com-plete monitor calls;

- Average number of monitor calls per transaction;

- Total number of Adabas calls;

- Average Adabas calls per transaction;

- Average Adabas elapsed time per transaction.

     10:14:25        TID    11          DEV--631          User COK          28.06.05
                                 --- User Activities ---                        UCT0

     UserID    Enters  Avg RT Comp OPs     (Avg)     ADAcalls     (Avg)    Avg time
     *** TOP OF DATA ***
     COMTEST2       0    0.00        3        0.0           0       0.00     0.000
     COMTEST2       0    0.00        0        0.0           0       0.00     0.000
     COMTEST2       0    0.00        1        0.0           0       0.00     0.000
     COMTEST2       0    0.00        0        0.0           0       0.00     0.000
     COMTEST2       0    0.00        0        0.0           0       0.00     0.000
     WEBLISTN       0    0.00        7        0.0           0       0.00     0.000
     WLIS6055       0    0.00        7        0.0           0       0.00     0.000
     WLIS6057       0    0.00        7        0.0           0       0.00     0.000
     TIMERM         0    0.00    11920        0.0           0       0.00     0.000
     COK           53    0.01      320        6.0           0       0.00     0.000
     SKU          278    0.01     6752       24.2           0       0.00     0.000
     COMTEST2       0    0.00    36135        0.0         996     332.00     0.000
     SKU           27    0.02      802       29.7           0       0.00     0.000
     COMTEST2       0    0.00     8627        0.0         355     355.00     0.022

     *** BOTTOM OF DATA *** ------------------------------------ Active Users: 00003
     Select function:      User ID:             PF7=up PF8=down PF10=left PF11=right
             Command:

Use PF10 and PF11 to switch between the three screens.

The UserID input field is handled in the following way:

- If data is entered with one or more non-numeric bytes, the data is treated as a user ID prefix. You can use the asterisk (*) as placeholder for any character

- If a number within the range if TID numbers is entered, the number is taken as TID number. If the number entered falls outside the TID number range, it is taken as a user ID prefix.

- To force any data to be taken as user ID prefix, precede the data with "U=".

## US Subfunction

The US subfunction displays status information about user IDs currently logged on to Com-plete.

This function will display a list of users IDs and the current status of the programs they are running. As an operand, you can specify a user ID, or the first characters to be matched by userIDs. You can use asterisk "*" as a wildcard. If no operand is provided, a list of all users currently logged on will be displayed. The following display is a sample of what will be displayed.

     10:18:34        TID    11          DEV--631          User COK          28.06.05
                                   User Program Status                          UCTI

     UserID      TID  Program   Thrd Grp  Task Grp  Last OP   Status
     *** TOP OF DATA ***
     COMTEST2      1  PAENSTRT  DEFAULT   DEFAULT   Abexit    rolled out
     COMTEST2      2  TLOSOPER  SYSTEM    SYSTEM    none      ready for rollout
     COMTEST2      3  TLAMMAIN  SYSTEM    SYSTEM    Abexit    subtask WAIT
     COMTEST2      4  TLMSMESG  SYSTEM    SYSTEM    none      subtask WAIT
     COMTEST2      6  READCONS  SYSTEM    SYSTEM    none      subtask WAIT
     WEBLISTN      7  PAENSTRT  DEFAULT   DEFAULT   Getmain   ready for rollout
     WLIS6055      8  PAENSTRT  DEFAULT   DEFAULT   Getmain   rolled out
     WLIS6057      9  PAENSTRT  DEFAULT   DEFAULT   Getmain   rolled out
     TIMERM       10  UTIMRM    DEFAULT   DEFAULT   Rolout    ready for rollout
     COK          11  UCTRL     SPECIAL   SPECIAL   Readm     running
     SKU          12  UQ        DEFAULT   DEFAULT   Wrtm      rolled out
     COMTEST2     14  PAENSTRT  DEFAULT   DEFAULT   Coload    ready for rollout
     SKU          15  UQ        DEFAULT   DEFAULT   Wrtm      rolled out
     COMTEST2     17  PAENSTRT  DEFAULT   DEFAULT   Codel     rolled out

     *** BOTTOM OF DATA *** ------------------------------------ Active Users: 00003
     Select Function:      Operand:                                  PF7=up PF8=down
             Command:

Along with userID, terminal ID (TID), the name of the current program, the thread group and task group this program is running in, the current status of this program is indicated.

This status can be one of the following:

> no program active

>   This is a non-Compass user which is not running any program at the moment.

> running

>   This program is currently being executed by one of the subtasks.

> subtask WAIT

>   This program is occupying a thread and a subtask, and is waiting for some event to occur.

>   Example: WAIT for an ENQ

> program WAIT

>   This program is occupying a thread, but is waiting for some event to occur. The subtask which serviced the program before the WAIT is available to service other threads while this one is waiting.

>   Examples: I/O, WAIT for a Complete internal resource

> ready to be rolled out

>   This program is in a state where it has issued a terminal write or ROLOUT, and can be rolled out of the thread when some other program needs one.

> rolled out

>   This program is in a state where it has issued a terminal write or ROLOUT, and it has been rolled out to a roll buffer to allow some other program to run in the thread in the meantime.

> queued: <queue name>

>   The program is on one of Complete's internal queues, indicated by the name of this queue. Refer to subfunction QO for an overview of the different queues. Most likely, the program is waiting for a certain subtask or for any subtask out of a task group to become available. If this state seems to last too long, use subfunction PL to find out who is occupying the subtask(s).

> thread SG queue <subgroup name>

>   The program is waiting for any thread in the thread sub-group, indicated by the sub-group name, to become available. The program can run in any of the threads in this sub-group, but all of them are occupied. If this state seems to last too long, use subfunction TL to find out who is occupying all the threads in the sub-group.

> thread queue in <subgroup name>

>   The program is waiting for a certain thread in the thread sub-group, indicated by the sub-group name, to become available. The program has been rolled out of this thread before, and needs to be rolled back into the same thread again, however, the thread is currently occupied by some other program. If this state seems to last too long, use subfunction TL to find out who is occupying the thread.

> eoj in progress

>   This program has terminated, and Complete is cleaning up the thread behind it.

> being dispatched

>   Sometimes, when switching from one of the above states to another, it can happen that the program has left the previous state, but is not in the next state yet.

>   Note
>   For internal serialization reasons, it is not possible to terminate a program while it is on any of the queues. None of the operator commands IGNORE, CANCEL, LOGOFF, or FORCE will work in this situation. Instead, you should find out who is using the resource (thread or subtask) where a queue is building up, and ask him/her to free it (or CANCEL him/her if necessary).

## VS Subfunction

The VS subfunction displays statistics about user VSAM files currently open, and about the local shared resource (LSR) pool if one is being used.

Irrespective of the number of ACBs in application programs referring to a given DD / DLBL name, Com-plete opens a single ACB for each DD / DLBL name and passes all requests through it. Statistics displayed about each ACB relate to the period of time since the ACB has been opened.

    15:15:37        TID    13          COM-5.1.          User MBE          12.04.97
                                 --- VSAM statistics ---                        UCTO

     DDname   STRN  MAX  noSTR  Requests  Avg.Time  Users (max)  OPEN Time  LostRPLs
     *** TOP OF DATA ***
     SKUVSAM  ---LSR---      0         5      .079      1     1  12.04.15:12       0
     TESTVSAM    0    0      0         0                0     1  12.04.15:14       0
     -------------------------------------------------------------------------------
     LSR-POOL   16    1      0        22 READs required       2 CI-s found in buffer

     *** BOTTOM OF DATA *** ------------------------------------ Active Users: 00004
     Select function:      Operand:                                 PF7=top PF8=down
             Command:

If at least one of the ACBs currently open uses local shared resources, the last line on the screen containes statistics about the local shared resource pool.

Meaning of the information items according to column heading:

Heading | Meaning
--- | ---
DDname | The DD (z/OS) or DLBL (z/VSE) name.
STRN | The value specified for the ACB parameter STRNO.
MAX | The maximum number of requests concurrently active at any one time. (In z/VSE systems, available for the LSR pool only.)
noSTR | The number of requests that failed due to a "maximum number of strings exceeded" condition.
Requests | The number of requests issued by application programs.
Avg.Time | The average response time, in seconds, for a request.
Users | The number of user ACBs currently open in application programs.
(max) | The maximum number of user ACBs open at any one time.
OPEN Time | Date and time when the ACB was opened.
LostRPLs | The number of request parameter lists (RPLs) pointing to this ACB and related to a request that could not be completed due to an abnormal termination.The most appropriate reason for a non-zero number in this field is application programs cancelled while waiting for completion of a VSAM I/O request. Uncompleted requests may result in other requests failing due to locked resources. This situation may be cleaned up by explicitly closing the "main" ACB using UUTIL subfunction FM (file maintenance) described in this section.

### On this page

- AI Subfunction
- AS Subfunction
- BA Subfunction
- CM Subfunction
- CS Subfunction
- D2 Subfunction
- FB Subfunction
- FL Subfunction
- FP Subfunction
- IP Subfunction
- OP Subfunction
- PG (Task ("Processor") Groups) Subfunction
- PL (Task ("Processor") List) Subfunction
- PR Subfunction
- QO (Queue Overview) Subfunction
- RA Subfunction
- RP Subfunction
- SG (Thread Subgroups) Subfunction
- SO Subfunction
- TG (Thread Groups) Subfunction
- TL (Thread List) Subfunction
- TO Subfunction
- TS Subfunction
- TU Subfunction
- UA Subfunction
- US Subfunction
- VS Subfunction