IFAMSTAT command

From m204wiki
Jump to navigation Jump to search

Summary

Privileges
System manager or system administrator
Function
Displays the status of a Host Language Interface facility IFAM2 thread

Syntax

IFAMESTAT [CRAM | IUCV] [usernumber [,usernumber]...]

Where:

usernumber is the number of the HLI IFAM2 thread whose status is requested. If a user number is not specified, IFAMSTAT displays the status of all threads.

If a user number of -1 is specified, Model 204 displays aggregate status information.

Syntax notes

If the channel type is not specified, CRAM is assumed. However, if no CRAM threads are defined, IUCV is assumed.

Example

The following command displays individual status information for IFAM2 thread12:

IFAMSTAT 12

The following command displays aggregate status information, followed by individual status information for IFAM2 threads 3 and 7:

IFAMSTAT -1, 3,7

Usage notes

The IFAMSTAT command displays the status of HLI threads. IFAMSTAT produces two types of output:

  • Aggregate status information

  • Individual thread information

Aggregate status information

Aggregate status is displayed in two lines. The first line has the format:

IFAM2: xxx THREADS, BLOCKSIZE = yyyyy, CHANNEL NAME = aaaaaaaa, OPEN RC = zzz

where:

xxx is the number of threads.
yyyyy is the current value of the IFAMBS parameter.
zzz is the code returned by CRAM while opening the channel named aaaaaaaa. This code is one of those shown in the table below.
CRAM return codes

Code

Meaning

0

Channel opened successfully.

16

A CRAM channel of this name (aaaaaaaa) is already open; open request rejected.

24

A serious system error occurred during open; open request rejected.

28

Not enough system storage was available; open request rejected.

The second line of IFAM2 aggregate status information is a formatted display of global IFAM2 flags, which consists of one or more keywords separated by commas. These keywords are generally self-explanatory. One exception is:

DRAIN REQUESTED (xx)

These keywords indicate that a drain of IFAM2 facility has been requested via the IFAMDRAIN command, and xx threads are still active awaiting logouts. After IFAM2 has been completely drained, this keyword is replaced by DRAINED.

Individual thread information

Status lines for individual threads are preceded by a one-line header identifying the fields. Each thread line contains the following information:

  • Thread (user) number

    The Model 204 user number is assigned to this thread. This number identifies the thread, both for Host Language Interface commands and for the Model 204 journal.

  • Thread flags

    Two bytes of flag information in hexadecimal format. These flags have the meanings described in the table below.

    IFAM thread flags

    Byte

    Value

    Meaning

    1

    X'80'

    X'40'

    X'20'

    X'10'

    X'08'

    X'02'

    X'01'

    The current user of this thread is an online user. These threads usually are associated with IFAM2 programs run as CICS or INTERCOMM transactions.

    The current user of this thread cannot update any files with this thread. This has implications for check pointing.

    The current user of this thread is a special checkpoint coordination user.

    Forced logout of this thread is requested. This flag indicates that the user of this thread is to be forcibly logged out.

    The current user of this thread might produce a checkpoint job sign-on record. This flag is on only for the first thread started by a batch job.

    The current user of this thread has completed a checkpoint.

    This thread is a IUCV thread. If this bit is off, then the thread is a CRAM thread.

    2

    X'80'

    X'40'

    X'20'

    X'10'

    X'08'

    X'04'

    X'02'

    X'01'

    On if thread is currently in use. Set on by an IFSTRT(N) call and turned off by an IFDTHRD or IFFNSH call.

    On if thread is currently free.

    On if thread has been used since the Model 204/HLI service program has been started.

    On if thread is currently halted at the beginning of processing a new call.

    On if a halt has been requested for this thread, but the thread is not yet halted.

    On if thread is currently halted because it has been drained, due to a restart loop, or because a CRAM open error occurred.

    On if thread is waiting for a new call.

    On if thread is currently halted. Additional flags indicate the particular halt point.

  • Call counter

    This counter is incremented every time a CRAM READ is satisfied for this thread. This counter is never reset.

  • Start counter

    This counter is incremented every time an IFSTRT(N) call is processed by this thread. This counter is never reset.

  • Job name/step name

    The job and step name of this thread's current user, or blanks if the thread is not in use.

  • Call reference number

    For each call to a particular thread, IFIF assigns this number sequentially. The counter is reset by each IFSTRT(N) call.

  • Date/time

    The date and time for the most recent IFSTRT(N) call for this thread, if the thread is in use; otherwise, zeros.

  • Thread restart counter

    This counter is incremented each time an HLI call causes a user restart for this thread. At every restart this counter is compared to the restart limit (currently four). If the limit is exceeded, the thread is logged out and halted. This counter is reset by an IFSTRT(N) call or by an IFAMSTART command.

If the IFAMSTAT command has an invalid thread specification, an error message is produced for each invalid thread specification, but all valid threads are processed.

Note: In z/VM, only IUCV communications are supported.