Previous Topic: 00002: Interactive TSO Run Exceeded Resource Usage Limit

Next Topic: 00004: Interactive TSO Compilation Service Objective Missed

00003: Interactive TSO Compilation Exceeded Resource Limit


FILE              TSO Interactive Usage Activity
SAS FILE NAME     DETAIL.TSOTSI01
SOURCE LOCATION   sharedprefix.MICS.SOURCE(DYTSOEXC)

SEVERITY          Warning       (SEVERITY='W')
MANAGEMENT AREA   Standards     (MGMTAREA='STANDARDS')

PURPOSE      Identifies interactive compilations that have
             exceeded installation defined resource
             consumption limits for the amount of CPU time,
             I/O, or service units consumed.

RATIONALE    Interactive compilations that require excessive
             resource consumption may pose one of two
             problems.  First, the high resource consumption
             required for an interactive foreground operation
             may impose a potential TSO system response
             degradation.  Second, a compilation that
             requires excessive resource consumption
             indicates a large source program which may
             violate structured or modular programming
             standards, but even more importantly, will
             require a longer time for execution, thus
             leaving the requesting programmer sitting
             unproductively at a locked terminal while
             waiting for completion.

DEFINITION   This exception is detected when an interactive
             compilation exceeds the installation defined
             limits for the amount of CPU time, I/O, or
             service units consumed.

EXCEPTION    The SAS statements identifying the exception
STATEMENTS   situation and describing the condition are
             stored in the source member named in SOURCE
             LOCATION and are described below:

************************************************************;
*
**  00003
**  INTERACTIVE TSO COMPILATION EXCEEDED RESOURCE LIMIT
*;
IF TSICPUTM > cpu-time
 OR TSIEXCPS > i/o
 OR TSISERVU > service-units
 AND
 (   COMMAND='ASM' OR PROGRAM='ASM'
  OR COMMAND='COBOL' OR PROGRAM='COBOL'
  OR COMMAND='FORT' OR PROGRAM='FORT'
  OR COMMAND='PLI' OR PROGRAM='PLI'
  OR COMMAND='PLIC' OR PROGRAM='PLIC'
  OR COMMAND='GOFORT' OR PROGRAM='GOFORT'
  OR COMMAND='TESTCOB' OR PROGRAM='TESTCOB'
  OR COMMAND='TESTFORT' OR PROGRAM='TESTFORT'
 )
 THEN DO;
    EXCCODE='00003'; SEVERITY='W'; MGMTAREA='STANDARDS';
    EXCDESC1=
    'INTERACTIVE TSO COMPILATION EXCEEDED RESOURCE LIMIT';
    EXCDESC2='CPU TIME(HH:MM:SS)= '
             || PUT(TSICPUTM,TIME.) ||
             ', EXCPS=' || PUT(TSIEXCPS,6.) ||
             ', SU=' || PUT(TSISERVU,7.);
    LINK HIT;
END;

THRESHOLD      Modify the values used for CPU time, I/O, and
MODIFICATION   service units, as well as tailor the list of
               compilation commands or programs contained in
               the definition string according to the
               following conventions:

    cpu-time         The amount of CPU time is described as
                     hours, minutes, and seconds.  A
                     threshold of 3 minutes and 20 seconds
                     would appear as:

                         TSICPUTM > HMS(0,3,20)

    i/o              The number of EXCPs is specified.  A
                     threshold of 1000 EXCPs would appear as:

                         TSIEXCPS > 1000

    service-units    The number of service units is
                     specified.  A threshold of 35000 service
                     units would appear as:

                        TSISERVU > 35000

    program/command  The name of the command or program
                     compiler is specified as a one to eight
                     character alphanumeric field, and must
                     be enclosed in quotes as a standard SAS
                     character literal.  Additional
                     program/command names must be inserted
                     within the list and be connected to
                     the list with an OR.  For the COBOL
                     compiler, the specification would be:

                        COMMAND='COBOL' OR PROGRAM='COBOL'