&EPA
           United States
           Environmental Protection
           Agency
          Region 7
          726 Minnesota Ave.
          Kansas City, Ks. 66101
EPA 907/9-87-002
August 1987
           Air Branch
QA SYSTEM FOR
MISSOURI'S
DECENTRALIZED
I/M PROGRAM

-------
     QA SYSTEM FOR MISSOURI'S
     DECENTRALIZED I/M PROGRAM
                by
       PEI Associates, Inc.
       11499 Chester Road
       P.O. Box 46100
       Cincinnati, Ohio 45256-0100
     Contract No.  68-02-3890
         Task Order No.  40
            PN 3655-40
          Project Officer
        Michael T. Marshall
U.S. Environmental Protection Agency
 Air and Toxics Division/Air Branch
        726 Minnesota Avenue
      Kansas City, Kansas 66101
            August 1987

-------
                                  DISCLAIMER
     This Final Report was furnished to the U.S. Environmental  Protection
Agency by PEI Associates, Inc., Cincinnati, Ohio, in fulfillment of Contract
Number 68-02-3890, Assignment Number 40.  The opinions, findings, and
conclusions expressed are those of the authors and not necessarily those of
the Environmental Protection Agency or of cooperating agencies.   Mention of
company or product name is not to be considered an endorsement  by the
Environmental Protection Agency.
                                       11

-------
                           CONTENTS
 Disclaimer                                               ii
 Contents                                                 111
 Figures                                                   iv
 Tables                                                    v
 1.    Introduction                                         1
 2.    QA  System Overview                                   3
      2.1  Getting started                                  3
      2.2  Program options                                  5
 3.    Data Entry                                           8
      3.1  MVI-2 form                                       8
      3.2  Operating instructions                          11
      3.3  Quality assurance                               14
      3.4  Low emission tune-up form (SHP-522)              17
      3.5  Exiting the program                             20
 4.    Error Correction Routine                            22
 5.    Overall Data Summary                                25
 6.    Data Summary Model Year          .                   28
 7.    Data Summary by Vehicle Make                        34
 8.    Data Summary by Inspection Station                   39
 9.    Error Analysis Program                              45
10.    Exiting the Program                                 51
                             m

-------
                                FIGURES
Number                                                      Page
  1  Menu of program options                                 6
  2  Program codes for exhaust leaks, tampering and
      inspection/maintenance items                           9
  3  Data entry screen -- MVI-2 form                         10
  4  Completed data entry screen for passed inspection       15
  5  Completed data entry screen for failed inspection       16
  6  Data entry screen SHP-522 form                          18
  7  Completed data entry screen for a waived vehicle        21
  8  Example output - error correction program               23
  9  Example output - overall  data summary program           26
 10  Example screen - data summary by model year             29
 11  Example output - summary by model year                  30
 12  Example output - summary by vehicle make                35
 13  Example output - summary by inspection station          40
 14  Example output - error analysis                         46
                                 iv

-------
                                 TABLE
Number                                                 Page
  1  Data Requirements for MVI-2 Form                   12
  2  Data Requirements for SHP-522 Form                 19

-------
                                    SECTION 1
                                  INTRODUCTION

     The Clean Air Act Amendments of 1977 require all  states to submit state
implementation plans for demonstrating the attainment  of National  Ambient Air
Quality Standards (NAAQS) by December 31, 1982.   States that could not
demonstrate attainment by 1982 could receive an  extension to meet  the
automotive-related NAAQS (ozone and/or carbon monoxide) by December 31, 1987.
To receive this extension, a state must require  all  reasonably available
control technology, including inspection and maintenance (I/M) of  motor
vehicles.  To meet this requirement, 30 states now operate I/M programs.
Thirteen of these programs are decentralized with noncomputerized  data
collection (manual) emission analyzers. During the FY-84 and FY-85 audits of
these I/M programs, EPA found that all of the manual  data collection systems
had low failure rates.
     The Missouri I/M program began January 1, 1984.   The I/M program is a
decentralized program with manual emission analyzers.   Missouri's  data
collection system in the past consisted of an analysis of approximately 1 in
20 motor vehicle inspection forms.
     Missouri is similar to the other states which operate decentralized I/M
programs with manual data collection systems.  The state was found to have a
low failure rate.  This report presents a computerized QA data entry and
evaluation system to assist in the management of manual I/M programs.
     The system has been designed for use primarily in Missouri.  However, the
system is adaptable to other state programs.  Once the primary data items and
various assumptions are specified, adapting the  system to another  program
would be a relatively simple task.  Modifying the program would primarily
require changes to the data base structure.  If the same variable  names are
used, only minor changes to the analysis programs would be required.
     The report is divided into a number of additional sections.  Section 2
provides an overview of the QA system.  Included are the hardware  and software

                                       1

-------
requirements and a brief discussion of each of the menu  items.   Section  3
through 10 present detailed descriptions and instructions  for utilizing  the
various program options.

-------
                                   SECTION 2
                               QA SYSTEM OVERVIEW

2.1  GETTING STARTED
Hardware and Software Requirements
     The Missouri QA system has been designed to run on IBM compatible
personal computers.  The hardware requirements are essentially the same as
those for dBASE III:
     0    256K bytes of internal memory, and
     0    One 360K floppy diskette drive and
          a hard disk drive.
In addition the software requirements are:
     0    MS-DOS or PC-DOS version 2.0 or later, and
          dBASE III.
Configuring the System
     A personal computer normally allows up to eight files to be open at one
time.  It uses five of those files itself.  dBASE III allows up to 10 data
files or 20 program files to be open at a time.  Therefore, when using dBASE
III, more files may need to be open than the computer allows.  In order to
solve this problem, a file CONFIG.SYS must be created on the DOS diskette or
on the hard disk's root directory, so that the file is automatically loaded in
the computer every time it is turned on.  CONFIG.SYS is set by storing the
following commands in the file:
                                  Files = 20
                                  Buffers = 24
Buffers allow dBASE III to work faster by keeping more information in the
computer's memory.  More information on creating a CONFIG.SYS file is avail-
able in both the dBASE III and other computer manuals.  It should be noted
that buffers occupy computer memory.  Therefore, users should be careful  not

-------
to set the number of buffers too high.

Installing the Program

     The authors recommend that the program be run from a hard disk.  If a

floppy disk is used, only very small data bases can be created.  The maximum

size data base that will fit on a floppy disk has not been determined but it
is probably only a few hundred records.

     To install the program onto the hard disk, put the diskette that came

with this manual into drive A.  At the DOS prompt enter the command:
                                   COPY A:*.*  D:

where D is the drive designation of the hard disk.  To insure that all of the

files are copied properly, display a directory of the hard disk.  The follow-

ing 23 files must appear in the directory in addition to the dBASE III

program.

                                   PROGRAM FILES

                                   MISSOURI.PRG
                                   DATAENTR.PRG
                                   CORRECT.PRG
                                   SUMMARY2.PRG
                                   SUMMARY3.PRG
                                   SUMMARY4.PRG
                                   SUMMARY5.PRG
                                   ERRORCHK.PRG
                                   SUMMY3.PRG

                                   DATA BASE FILES

                                   MISSOURI.DBF
                                   DOUBLE.DBF
                                   REENTER.DBF
                                   LOEM2NUP.DBF
                                   MAKES.DBF
                                   INSPECT.DBF
                                   STATIONS.DBF
                                   ERRORS.DBF
                                   YEARS.DBF

                                   REPORT FORM FILES

                                   MISSOURI.FRM
                                   CARS.FRM
                                   EMISSION.FRM
                                   EXEMP.FRM
                                   STATION.FRM

-------
Starting the Program
     The Missouri QA system provides all  of the commands and structures to
exercise all of the program options.  To  use the program, dBASE III  must first
be loaded with the following commands:
                                d > DBASE  [CR]
("d >") is the DOS prompt that indicates  the drive ("d") containing  the dBASE
III program.  "[CR]" is used throughout this manual  to denote the "enter"
or  "carrier return" key.  dBASE III responds with a dot (.) prompt.  If the
QA program is in a different drive than dBASE III enter the following command:
                           . SET DEFAULT  TO d:  [CR]
where "d" is the drive that contains the  Missouri QA program.  This  command
directs dBASE III to the appropriate drive for data and program files.  If
dBASE III and the QA program are on the same disk (i.e., a hard disk) this
step is unnecessary.
     Finally, to call up the program, enter the following command:
                             .  DO MISSOURI  [CR]

2.2  PROGRAM OPTIONS
Following the .DO MISSOURI [CR] command the computer screen will display the
menu options shown in Figure 1.  Each of  these options is discussed  below.
Option 1
     Selecting option 1 allows the user to enter data from the Missouri Motor
Vehicle Inspection form MVI-2 and data from the Low Emission Tune-Up form
SHP-522.  The program was designed to minimize data entry errors.  It
validates the data entered wherever possible.  Also, to quantify the accuracy
of the data entered, the program includes a system to check five percent of
the records entered.  This program option is discussed in Section 3.
Option 2
     The error correction program creates an index of unique vehicle makes
including all misspellings of the various makes.  It offers suggested dBASE
III statements for correcting misspellings in the data base.  This option is
presented in Section 4.

-------
Missouri Automobile  Emission  Inspection



       Data Management  Program
       *****  Main Menu   *****
           1. Data  Entry




           2. Error  Correction




           3. Overall  Summary




           4. Make  Summary




           5. Year  Summary




           6. Station  Summary




           7. Error  Analysis




           8. Return to  dBASE  III








 Please enter  your  selection  (1-8)
   Figure 1.  Menu of program options

-------
Option 3
     The overall data summary program enables the user to obtain a detailed
data summary of all  data contained in the data base.   Examples  of the program
output and a discussion of the program can be found in Section  5.
Option 4
     Selection of this option allows the user to obtain a data  summary of all
vehicles that match a user-selected model year or model year group.   Refer to
Section 6 for details.
Option 5
     Similar to option 4, this option provides a data summary for a specific
vehicle make selected by the user.  This option is discussed in Section 7.
Option 6
     Option 6 presents a summary by vehicle inspection station.  The user
specifies the station of interest and the program generates the appropriate
summary statistics.   See Section 8 for details.
Option 7
     Option 7 is an error analysis program.  During data entry, a 5 percent
sample of the data base is entered twice to evaluate entry accuracy.  This
program compares the duplicate entries and prints a summary of the errors
encountered.  This option is discussed in Section 9.
Option 8
     Selecting option 8 allows the user to leave the program and return to
dBASE III.  This option can be selected anytime the menu appears on the
screen.

-------
                                    SECTION 3
                                   DATA ENTRY

     The data entry program is designed for use with MVI-2 and SHP-522 forms.
The program is designed to minimize data entry errors by restricting data
entries in certain key fields.  Also, to quantify the accuracy of the data
entered, the program includes a system to check five percent of the records
entered.
     When Option 1 is selected, the program displays the screen shown in
Figure 2.  These codes are used to indicate exhaust leaks, tampering items,
and inspection/maintenance items.  These codes will be discussed later in the
program description.
     After the codes are displayed, pressing any key will  display the instruc-
tions to specify the month and year of the inspections.   If the bulk of the
forms are from a given month, then the user will only need to enter the day  of
the month to complete the date.  It is possible to enter dates that occur
outside of the specified month.  Instructions for this are included in the
program and will be displayed on the screen at the appropriate time.

3.1 MVI-2 FORM
     The data entry screen, shown in Figure 3, was designed to look similar  to
the MVI-2 form.   To minimize errors, some of the data are determined by the
computer.  For example, the user enters the year, make,  and VIN of the car and
the hydrocarbon and carbon monoxide readings from the first inspection.   The
computer then determines if the car passed or failed.  If the car passed, the
computer skips the reinspection data.  If a user enters  a body style greater
than 2 or a fuel type other than gas, the computer aborts that record and
informs the user to go on to the next record.  Likewise, if the inspection
station begins with something other than:
          050,
          092,

                                       8

-------
            The  following ape the codes used within this  program
         to Indicate the cause for a vehicle falling an  Inspection:
           Exhaust  System
Inspection/Maintenance
         E1  =  Exhaust  leak
              Tampering

         TO  =  Not  specified
         T1  =  Catalytic converter
         T2  =  PCV  valve
         T3  =  EGR  valve
         T4  =  Air  pump
         T5  =  Carbon canister
         T6  =  Fuel  Inlet resistor
         T7  =  Other
MO = Not specified
M1 = Air filter  element
M2 = TAC
M3 = Idle speed
M4 = Air /fuel mixture
M5 = Dwell
M6 = Timing
M7 = Spark plugs
M8 = Spark plug  wires
M9 = Vacuum hose
NO = Electronic  controls
N1 = Low emission  tune-up
N2 = Other
Press any key to  continue...
         Figure 2.   Program codes for exhaust leaks, tampering and
                       inspection/maintenance items

-------
         YEAR:                MAKE:              ODOMETER:









          VIN:









   BODY STYLE:                     .     FUEL:














            FIRST  INSPECTION                    REINSPECTION









              HC:                                HC:




              CO:                                CO:




  STATUS (HC/CO):                     STATUS  (HC/CO):









     EXEMPT:                WAIVED:             207-8 COMPLIANCE:









      CODES:                                              COST:









STATION No.:              INSPECTOR:               DATE:  03/  /86









                       REINSPECTOR:               DATE:  03/  /86









      STICKER/DECAL No.:









                Enter "99* for the year to return to the menu.
           Figure 3.   Data entry screen  -- MVI-2 form
                                   10

-------
          096,
          115, or
          296
the computer aborts that record and informs the user to go on  to  the  next
record.  Finally, the computer determines if the vehicle was exempt,  waived  or
in compliance under Section 207(b).

3.2 OPERATING INSTRUCTIONS
     Table 1 provides the maximum lengths, types and requirements for each
item entered.  The names for the data fields are those used by the program.
Users enter only those data listed in Table 1.   The data are entered  in the
order shown in the table.  The computer will highlight the areas  on the screen
where data are entered.  A flashing cursor indicates which item to enter.
     Users should be careful NOT to press the escape (ESC) key as this will
advance the program and confuse the user.  If the user makes a mistake when
entering data, it is sometimes possible to go back to previous items  with  the
up arrow key or the backspace key.  However, these keys will not  always work;
therefore, they should be used with care.
     The year, make, inspection station, and inspector must not be left blank
as this will cause problems in the data analysis programs.
     When all of the data from a form are entered, the computer will  ask the
user if the data are correct.  If the user responds "Y" the data  will be
saved.  If the user responds "N" the data are not saved; and,  the user must
reenter all of the data from that form.  The computer does nothing if the  user
responds with anything but "Y" or "N."
     The program was designed so that if a given field is filled, the computer
will go on to the next item.  For example, the year is entered as two digits.
When a user enters "85" the computer will then immediately prompt the user to
enter the make.  The user does not press the "enter" key.  However, when
entering the odometer reading the user may not fill all of the spaces
provided.  The enter key must then be pressed to continue.  By not requiring
the enter key be pressed, the number of keystrokes has been minimized to speed
data entry and minimize entry errors.

                                       11

-------
                 TABLE  1.  DATA  REQUIREMENTS  FOR MVI-2  FORM
Data
Year


Make

Odometer

VIN
Body

Fuel

First
Inspection
HC_First
CO_First
Reinspec-
tion
HC_RE .

CO_RE

Codes



Cost
Station_l

Inspect_l
Maximum
length
2


4

3

18
1

1



4
4


4

4

38



3
6

9
Type
Numeric


Character

Numeric

Character
Numeric

Character



Numeric
Numeri c


Numeric

Numeric

Character



Numeric
Numeric

Numeric
Comments
Last two digits with range of 71-98; enter
99 to end program. DO NOT leave this field
blank.
First four letters (e.g., CHEV for Chevro-
let). DO NOT leave this field blank.
In thousands of miles. Automatically right
justifies entry.
Digits and/or letters.
Any number greater than 2 will abort that
record.
Any letter other than G (gasoline) will
abort that record.


Number between 0 and 2000.
Number between 0.00 and 9.99.


Not entered if vehicle passed first inspec-
tion.
Not entered if vehicle passed first inspec-
tion.
Series of 2 character codes. Each code has
1 letter (E, T, M or N) and 1 number (0-9).
The codes are not separated. A maximum of
19 can be entered. See Figure 2.
In dollars. Automatically right justified.
Must begin with 050, 092, 096, 115, or 296.
DO NOT leave this field blank.
Inspector for initial inspection. DO NOT
leave this field blank.
(continued)
                                       12

-------
TABLE 1.  (continued)
Data
Date_l
Reinspect
Re_Date
N
Decal
Maximum
length
2
9
2
8
Type
Date
Numeric
Date
Character
Comments
Enter only the day. The month and year are
provided. If a different month is desired
press the F10 key and enter the date.
Reinspector number not entered if vehicle
passed first inspection.
Reinspection date not entered if vehicle
passed first inspection.
Must begin with the letter "E". Other
characters are numbers.
                                       13

-------
The computer will not accept letters when numbers are required.  Likewise, it
will not accept numbers where letters are required.
     Figures 4 and 5 show completed data entry screens for vehicles that
passed and failed the first inspection, respectively.  A listing of the Mis-
souri data entry program source code is provided in Appendix A.  The data base
structure is shown in Appendix B.
     Pass or fail determinations for the initial inspection and the
reinspection are automatically made by the program, regardless of the
indication on the MVI-2 form.  The standards used for this determination are:
Year
1971-74
1975-79
1980
1981+
HC, ppm
700
600
300
220
CO, %
7.0
6.0
3.0
1.2
The computer also determines the exempt, waived, and 207 (b) compliance status
of each vehicle.
     The program also remembers the last inspection station, inspector,
reinspector, and decal number input to the program.  For the first three items
the operator need only press the [CR] if no changes are needed.   The decal
number is incremented by one for each new form, based on the number for the
previous form.  For example, if the first form had decal number  E0000001 then
the number displayed on the screen for the second form is E0000002.  If this
number is correct the operator need only press [CR] to accept the displayed
value.

3.3 QUALITY ASSURANCE
     In addition to minimizing data entry errors, the Missouri data entry pro-
gram includes a system to quantify the accuracy of the data entered.  Users
will be prompted to enter one of every 20 records twice.  The first time these
records are entered they will be saved in the main data base (MISSOURI.DBF).
The same records will also be saved in a second data base called DOUBLE.DBF.
The computer then prompts the user to reenter the data.  The reentered data
are saved in a third data base (REENTER.DBF).
     Ideally there would be no errors and the DOUBLE.DBF and REENTER.DBF files
                                      14

-------
         YEAR:   85           MAKE:  CHEV        ODOMETER:     2









          VIN:   99999999999999









   BODY STYLE:   1                  .    FUEL:  Q














            FIRST  INSPECTION                    REINSPECTION









              HC:    100                          HC:




              CO:   1.00                          CO:




  STATUS (HC/CO):   P/P               STATUS (HC/CO):









     EXEMPT:  0            WAIVED:  0          207-B COMPLIANCE:  0









      CODES:                                              COST:









STATION No.:   096001      INSPECTOR:  123456789    DATE: 03/01/86









                      REINSPECTOR:               DATE: 03/  /86









      STICKER/DECAL No.:   E0000001









                     Are  the above data correct (Y/N)?
     Figure 4.   Completed  data entry screen  for passed  inspection
                                     15

-------
         YEAR:   85           MAKE:  CHEV        ODOMETER:    2









          VIN:   9999999999









   BODY STYLE:   1                      FUEL:  6














            FIRST  INSPECTION                    REINSPECTION









              HC:    500                          HC:   150




              CO:   1.00                          CO:  1.00




  STATUS (HC/CO):   F/P               STATUS (HC/CO):  P/P









     EXEMPT:  0              WAIVED:  0          207-B COMPLIANCE:  1









      CODES:   M3M7                                        COST:    50









STATION No.:   096001     INSPECTOR:  123456789    DATE: 03/01/86









                       REINSPECTOR:  123456789    DATE: 03/10/86









      STICKER/DECAL No.:   E0000002









                     Are  the above  data correct (Y/N)?
   Figure 5.  Completed data entry  screen for failed  inspection
                                   16

-------
would be identical.  However, this is unlikely; and, by comparing the two
files users can determine the frequency and types of data entry errors.   This
analysis is discussed under Option 8 (see Section 9 of this report).

3.4  LOW EMISSION TUNE-UP FORM (SHP-522)
     Vehicles that were waived should have also submitted a low emission
tune-up form.  The data entry screen shown in Figure 6 was designed to look
similar to the SHP-522 form.  The data entry program automatically displays
this screen when a vehicle fails both the initial inspection and the reinspec-
tion.
     To minimize errors, many of the data fields on the screen will contain
.data from the MVI-2 form.  Specifically, the VIN, make, year, station, before
tune-up readings, adjustments, and cost will contain the same values as were
entered from the MVI-2 form.  To accept the values, the user need only press
[CR] as each field is highlighted.  If needed, any value can be modified.
     Table 2 provides the maximum lengths, types and requirements for each
data field.  The data are entered in the order shown in the table.  The
computer will highlight the areas on the screen where data are to be entered.
A flashing cursor indicates which item to enter.
     Users should be careful NOT to press the escape (ESC) key as this will
advance the program and confuse the user.  If the user makes a mistake when
entering data, it is sometimes possible to go back to previous items with the
up arrow or backspace key.  However, the keys will not always work; therefore,
they should be used with care.
     When all of the data from a form are entered, the computer will ask the
user if the data are correct.  If the user responds "Y" the data will be
saved and the MVI-2 data entry screen will reappear.  If the user responds "N"
the data are not saved; and, the user must reenter all of the data from that
form.  The computer does nothing if the user responds with anything but "Y" or
"N."  The program was designed so that if a given field is filled, the
computer will go on to the next item.  The program will not accept letters
when numbers are required.  Likewise, it will not accept numbers where letters
are required.

                                      17

-------
VIN :   9999999999            Make :   CHEV          Year :  85
                 Mechanic No. :
                  Station No. :  .096001
                         Date:
      Before Tune-up                         After Tune-up









        HC :                                  HC  :




        CO :                                  CO  :









   Adjustments :




          Cost :









                     Control No. :
       Figure 6.  Data  entry screen  SHP-522  form
                             18

-------
TABLE 2.  DATA REQUIREMENTS FOR SHP-522 FORM
Data
VIN
Make
Year
Mechanic No.
Station No.
Date
Before tune-up
HC
CO
Adjustments
Cost
Control No.
Maximum
length
18
4
2
11
6
8

4
4
38
3
6
Type
Character
Character
Numeric
Character
Numeric
Date

Numeric
Numeric
Character
Numeric
Character
Comments
Vehicle ID. NO. digits and/or letters.
Not entered.
First four letters. Not entered.
Last two digits. Not entered.
Inspector's number.

Entire the entire date.

Number between 0 and 2000.
Number between 0.00 and 9.99.
Series of 2 character codes.
Each code has 1 letter.
(E,T,M, or N) and 1 Number (0-9)
The codes are not separated. A maximum
of 19 can be entered. See Figure 3-1.
In dollars.
Control No. from SHP-522 form.
                     19

-------
     Figure 7 shows a completed data entry screen for a waived vehicle.   The
program source code is contained in Appendix A.  The data base structure is
shown in Appendix B.
     Two caveats are needed here.  First, if only one inspection was performed
prior to the low emission tune-up then the initial  inspection data should also
be entered as the reinspection data.  Second, in the case where no low
emission tune-up data are provided, artificial  data will  need to be entered
into the low emission data base and the record will need to be deleted by hand
later.

3.5  EXITING THE PROGRAM
     To leave the data entry program, press the F10 key or enter a "99"  for
the year of the vehicle.  The program will then prompt for making a back-up
copy of the data bases prior to leaving the program.  If a back-up is desired,
either the DOS "Backup" command must be in the same directory as dBASE III  or
the DOS "Path" command must have been used to specify another directory.
Following the backup operation or if no backup was  desired, the program will
return to the main menu.
                                      20

-------
VIN :   9999999999
                            Make :   CHEV
                                                  Year  : 85
                  Mechanic No. :   123-45-6789
                   Station No. :  . 096001
                         Date:   03/05/86
      Before Tune-up
After Tune-up
        HC :    450




        CO :   0.80
  HC :    200




  CO :   0.00
   Adjustments :   M3M7N1




          Cost :   200
                     Control No.  :  123456
                   Are the  above data correct (Y/N)?
     Figure 7.   Completed data entry screen for waived vehicle
                                  21

-------
                                    SECTION 4
                            ERROR CORRECTION ROUTINE

     The second option in the main menu offers the opportunity to obtain a
listing of all vehicle makes presently in the data base.   In this program, the
computer generates an index and listing of all unique vehicle makes including
all misspellings.
     Once Option 2 is selected, the program automatically produces a summary
table similar to that presented in Figure 8.  As there is no way to
automatically correct all of the misspellings, they must  be corrected outside
of the program.  Following the summary table, example dBASE III statements are
presented.  Also included are instructions for performing the necessary
corrections.  These same steps would be used to correct any other errors noted
in the data analysis programs discussed in the next sections.
                                      22

-------
        INSTRUCTIONS FOR MAKING CORRECTIONS  TO  THE  DATA  BASE


     This program provides users with a  list of all  the  vehicle  makes
in the Missouri data base, including misspellings.   Users  can  then
use the dBASE III 'Replace' command to correct  the  misspelled
vehicle makes.   Examples of how to use the 'replace'  command are
given below:


    1. To correct one misspelling at a time  use the command  -

     REPLACE ALL MAKE WITH '(correct spelling)' FOR MAKE =
        '(incorrect spelling)'

     Note: You must use the quotation marks; however the '(' and
           the ')' must NOT be used.

     EXAMPLE: REPLACE ALL MAKE WITH  'FORD' FOR  MAKE = 'FODR'
    2. To correct several misspellings of the same make at the same
       time use the command -

     REPLACE ALL MAKE WITH '(correct spelling)' FOR MAKE = '(first
         incorrect spelling)' .AND. MAKE = '(second incorrect
         spelling)' .AND. MAKE = ....
       EXAMPLE: REPLACE ALL MAKE WITH  'FORD' FOR MAKE = 'FODR' .AND.
          MAKE =  'FROD'  .AND. MAKE =  'FOSO'
These commands must be issued from the dBASE III dot (.) prompt.
First exit  this  program.  Then to avoid confusion, and prepare
dBASE III enter  the following commands:

                   .CLEAR ALL
                   .USE MISSOURI

You  are  now ready  to  make the appropriate corrections to the data
base.  Other  corrections and changes can be made with dBASE III
commands, e.g. EDIT and BROWSE.  Users should refer to the dBASE
 III  manual  for a full discussion of these commands.
   Figure 8.   Example  output  -  error  correction program
                                 23

-------
       LISTING OF ALL THE MAKES IN  THE  MISSOURI  DATA BASE

             Note: Most of the makes  listed  appear
                1n the data base more than once.
AMER        AUDI         BENZ        BMW          BUIC        CADI
CAPR        CHEV        CHRY        DATS        DODG        FIAT
FORD        6MC         HOND        INTE        JEEP        LINC
MA2D        MERC        MG          MITS        NISS        OLDS
OLED        PLYM        PONT        PORS        RENA        ROLL
SAAB        SPEC        SUBA        TOYO        TRIU        VOLK
VOLV
                  Figure 8.   (continued)
                                24

-------
                                    SECTION 5
                              OVERALL DATA SUMMARY

     Selecting Option 3 from the main menu will  cause output similar to that
shown in Figure 9 to be generated.  The data summaries will  be generated from
the entire active data base.  Consequently, care should be exercised in
selecting the active data base.  The data base to be used for the summary must
be named MISSOURI.DBF.
     There are no user options in this program;  however, it is imperative that
a printer be connected to the computer.  After the data have been processed
the program will prompt the user to strike a key to initiate the printed
output.
     Following execution of the program, the main menu will  once again appear
on the screen.
     The execution time for the program will depend on the size of the data
base.  Execution of the program for a 3000 record data base will take 15-30
minutes depending on the hardware (computer) used.  The user should not
interrupt the program during processing.
                                      25

-------
                           FAILURE RATE SUMMARY REPORT
       11/13/86
                                               Page
     This report summarizes data for vehicle model years 1971 through 1990.
                 TKere were         11 vehlcle(s) that failed
      at least one of the initial Inspections but were not relnspected.

                           ***** General Summary *****
  Description
   Total
No. Percent
1971 - 1974
No. Percent
1975 - 1979
No. Percent
    1980
No. Percent
  1981 +
No.  Percent
Emission Tests   999

Passing Vehicles 872  88.26

Initial Inspection
   Failed HC      48   4.86
   Failed CO      25   2.53
   Failed Both    43   4.35
   Overall       116  11.74

Reinspect ions
   Failed HC       5   4.76
   Failed CO       0   0.00
   Failed 3oth     3   0.30
 .  Overall         8   7.62

Exempt Vehicles   11   1.10
Waived Vehicles    8   0.80
Comply w/207-B     2   0.20

Initial Inspection

   HC Reading
       Mean          201
       M1n             0
       Max          2000
       Std. Dev.     307

   CO Reading
       Mean         1.31
       Min          0.00
       Max          9.99
       Std. Dev.    2.11

Re-inspection

   HC Reading
       Mean          346
       Min             5
       Max          1972
       Sto. Dev.     323

   CO Reading
       Mean         2.37
       Min          0.00
       Max          6.78
       Std. Dev.    1.92
               89

               74  83.15
                9  10.11
                4   4.49
                2   2.25
               15  16.85
                0   0.00
                0   0.00
                0   0.00
                0   0.00

                0   0.00
                0   0.00
                0   0.00
                  379
                   22
                 2000
                  393
                 3.02
                 0.04
                 9.70
                 2.52
                  382
                   29
                  695
                  210
                 3.81
                 0.50
                 6.78
                 2.10
              349

              292  83.67
               25   7.16
               13   3.72
               19   5.44
               57  16.33
                4   7.55
                0   0.00
                0   0.00
                4   7.55
                0
                4
                0
       0.00
       1.15
       0.00
                  324
                    0
                 2000
                  355
                 2.22
                 0.00
                 9.99
                 2.47
                  437
                  1 17
                 1700
                  306
                 3.09
                 0.00
                 5.96
                 1 .49
               71

               56  78.87
                7   9.86
                1   1 .41
                7   9.86
               15  21.13
   1    6.67
   0    0.00
   1    1 .41
   2   13.33

   0    0.00
   2    2.82
   0    0.00
                  203
                    0
                 2000
                  285
                 1.12
                 0.00
                 9.80
                 2.03
                  214
                   25
                  928
                  244
                 1 .09
                 0.01
                 4.71
                 1 .36
             490

             450  93.95
               7   1 .46
               7   1 .46
              15   3.13
              29   6.05
  0   0.00
  0   0.00
  2   0.42
  2   8.70

 11   2.24
  2   0.41
  2   0.41
                  80
                   0
                2000
                 179
                0.38
                0.00
                9.99
                1 .01
                 201
                   5
                1972
                 391
                0.68
                0.00
                5.83
                1 .32
        Figure  9.  Example output - overall data summary program
                                      26

-------
               FAILURE  RATE REPORT BY  INSPECTION STATION

                  The average failure  rate is  11.74.
 This  report  summarizes data for vehicle model years  1971 through 1986.
    An  asterisk  (*) next  to a station number  Indicates that the
    failure  rate  1s more than 2 standard deviations from the mean.
    The  station must also  have Inspected at  least 30  automobiles.
 11/13/86                                                    Page  2
Insp.  Station
                     Initial  Inspections
                  Tests   Failures   Percent
     Reinspect ions
Tests  Failures  Percent
092131
092141
092174
092178
096035
096125
096152
096174
096184
09621 1
096215
096328
096369
096382
096428
096500
096522
096528
096567
096648
096710
096774
096785
096916
096976
296015
296032
296035
296068
296098
296102
296106
296125
296134
296147
296184
296258
296328
296351
296390
296405
1 1
3
22
9
67
1
24
1
183
4
23
74
6
64
5
1
5
23
19
33
3
4
70
0
33
68
8
1
6
5
18
37
21
43
17
1
29
1
7
6
32
6
0
7
5
0
1
7
1
3
4
7
0
3
0
0
0
2
5
4
5
2
1
5
0
0
2
0
0
3
0
8
1
18
1
6
0
0
0
2
2
5
54.5
0.0
31.8
55.5
0.0
100.0
29. 1
100.0
1 .6
100.0
30.4
0.0
50.0
0.0
0.0
0.0
40.0
21.7
21.0
15.1
66.6
25.0
7. 1
0.0
0.0
2.9
0.0
0.0
50.0
0.0
44.4
2.7
85.7.
2.3
35.2
0.0
0.0
0.0
28.5
33.3
15.6
5
0
7
3
0
1
7
1
3
4
7
0
3
0
0
0
2
5
4
5
2
1
1
0
0
2
0
0
2
0
8
1
17
0
6
0
0
0
2
2
4
0
0
2
1
0
0
0
1
0
0
1
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0.0
0.0
28.5
33.3
0.0
0.0
0.0
100.0
0.0
0.0
14.2
0.0
0.0
0.0
0.0
0.0
0.0
0.0
25.0
40.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
                       Figure 9.   (continued)
                                     27

-------
                                    SECTION 6
                           DATA SUMMARY BY MODEL YEAR

     If Option 4 is selected the computer will  generate summary statistics  for
a user selected model year or group of model  years.   The program prompts the
user to enter the beginning year and ending year of  the vehicles of interest.
This is indicated in the example screen shown in Figure 10.   Any number
between 71 and 86 can be entered as the beginning year.  If  only one year is
desired then the ending year is left blank.  Otherwise the ending year must be
greater than the beginning year.
     In this fashion the user could evaluate  a  single year such as 71, or a
group of years such as 77-79.  If the group 71-86 is selected,  then the entire
data base will be evaluated.  An example output is shown in  Figure 11 for the
1971 vehicles in a data base.
     Once again the user is cautioned not to  interrupt the program during
processing.  The processing time varies as function  of the size of the
MISSOURI.DBF file and will take 15-20 minutes for a  3000 record data base.   An
80-column printer is required to obtain the output from this program.
                                      28

-------
          Please select the model  year or range
         of  model  years that you  wish to analyze.

Eiinter only the  last two (2) digits;  e.g., enter  '86'  -for  1996
                 Starting year:    0

                 Ending years      0
    To select  only one year, enter  it in the starting  year;
              leave the ending year  blank.
        Figure 10.  Example screen - data summary by model year
                               29

-------
             FAILURE  RATE  REPORT BY VEHICLE MAKE

 This report summarizes  data  for vehicle model years 1976 through  1980.

 11/13/86                                                   Page   1
Vehicle Make
   Initial  Inspections
Tests  Failures   Percent
     Relnspections
Tests  Failures   Percent
AMC
AUDI
BMW
BUIC
CADI
CAPR
CHEV
CHRY
OATS
DODG
FIAT
FORD
GMC
HOND
INTE
JEEP
LINC
MAZD
MERC
MG
OLDS
PLYM
PONT
PORS
RENA
ROLL
SPEC
TOYO
TRIU
VOLK
VOLV
7
1
2
30
9
1
78
1 1
12
19
1
67
5
5
1
2
4
5
10
2
55
18
29
1
1
1
1
9
1
4
3
0
0
0
7
1
1
15
1
1
6
0
19
1
0
0
1
0
0
1
0
6
2
4
0
0
0
0
0
0
0
0
0
0
0
23
11
100
19
9
8
31
0
28
20
0
0
50
0
0
10
0
10
1 1
13
0
0
0
0
0
0
0
0
.0
.0
.0
.3
. 1
.0
.2
.0
. 3
.5
.0
.3
.0
.0
.0
.0
. 0
.0
.0
.0
.9
. 1
.7
.0
.0
.0
.0
.0
.0
.0
.0
0
0
0
6
1
1
14
1
1
6
0
19
0
0
0
1
0
0
1
0
5
2
4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
14
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
.0
.0
. 0
.6
.0
.0
.2
.0
.0
.0
.0
.5
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
       Figure 11.  Example output - summary by model  year
                                   30

-------
                      FAILURE RATE SUMMARY REPORT

  11/13/86                                                Page  2

This report summarizes data for vehicle model years 1976 through 1980.
                      ***** General Summary *****

           Description                        Number         Percent
  Emission Tests         •-                        395
  Passing Vehicles                               329           83.2
  Failed Initial Inspection for HC                29            7.3
  Failed Initial Inspection for CO                12            3.0
  Failed Both Initial Inspections                 25            6.3
  Overall Failure Rate                            66           16.7
  Failed Reinspection for HC                       4            6.4
  Failed Reinspection for CO                       0            0.0
  Failed Both Reinspections                        1            1.6
  Overall Reinspection Failure Rate                5            8.0

  Exempt Vehicles                                  0          0.00
  Waived Vehicles                                  5          1.27
  Vehicles Complying with Sect. 207-B              0          0.00
            There were          4 vehicle(s) that failed
 at least one of the initial inspections but were not reinspected.
                      Figure  11.   (continued)
                                  31

-------
                      FAILURE RATE SUMMARY REPORT
  11/13/86                                                Page  3

This report summarizes data for vehicle model years 1976 through 1980.

    There were         62 reinspected vehicles in the data base.

                  ***** Failed Vehicle Summary *****
           Average Initial Inspection HC Reading:  854
           Average Initial Inspection CO Reading: 5.29

           Average Reinspectlon HC Reading:         416
           Average Reinspection CO Reading:        2.73

           Percent HC Reduction:                    51.2
           Percent CO Reduction:                    48.4
           Average Repair Cost:                   $  22

      NOTE - For vehicles that failed the initial inspection
      but were not reinspected, the first inspection readings
      were used to calculate reinspection averages.
      Cede
   Failure Code Distribution

Description               Number      Percent
         Exhaust  System

       E1           Exhaust leak
         Tampering
       TO
       T1
       T2
       T3
       T4
       T5
       T6
       T7
Not specified
Catalytic converter
PCV valve
EGR valve
Air pump
Carbon canister
Fuel Inlet restrlctor
Other
         Inspection/Maintenance
       MO
       M1
       M2
       M3
       M4
       MS
       M6
       M7
       MS
       f»9
       NO
       N1
       N2
Not specified
Air filter element
TAC
Idle speed
Air/fuel mixture
Dwell
Timing
Spark plugs
Spark plug wires
Vacuum hose
Electronic controls
Low emission tune-up
Other
40
 2
 0
 0
14
 0
 1
 1
 0
 3
 0
 4
 1
                                       11.2
           0.0
           0.0
           0.0
           0.0
           0.0
           0.0
           0.0
           0.0
64.5
 3.2
 0.0
 0.0
22.5
 0.0
 1 .6
 1 .6
 0.0
 4. 8
 0.0
 6.4
 1 .6
                      Figure 11.   (continued)
                                  32

-------
               FAILURE  RATE  REPORT BY  INSPECTION STATION

 This  report  summarizes data for vehicle model years 1976 through 1980.

 11/13/86                                                    Page  4
Insp.  Station
                     Initial  Inspections
                  Tests   Failures   Percent
     Relnspections
Tests  Failures  Percent
092131
092174
092178
096035
096125
096152
096174
096184
096211
096215
096328
096369
096382
096522
096528
096567
096648
096710
096774
096785
096976
296015
296032
296068
296098
296102
296106
296125
296134
296147
296258
296328
296351
296390
296405
3
15
5
8
1
10
1
60
3
12
29
3
27
3
14
9
19
2
2
28
20
15
4
1
3
10
18
12
17
10
8
1
3
1
18
3
5
3
0
i
3
1
1
3
5
0
3
0
1
4
2
4
2
1
2
0
1
0
1
0
3
1
1 1
0
2
0
0
1
0
2
100
33
60
0
100
30
100
1
100
41
0
100
0
33
28
22
21
100
50
7
0
6
0
100
0
30
5
91
0
20
0
0
33
0
1 1
.0
.3
.0
.0
.0
.0
.0
.6
.0
.6
.0
.0
.0
.3
.5
.2
.0
.0
.0
. 1
.0
.6
.0
.0
.0
.0
.5
.6
.0
.0
.0
.0
.3
.0
. 1
2
5
2
0
1
3
1
1
3
5
0
3
0
1
4
2
4
2
1
0
0
1
0
1
0
3
1
1 1
0
2
0
0
1
0
2
0
1
1
0
0
0
1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
50
0
0
0
100
0
0
0
0
0
0
0
0
50
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
                       Figure 11.   (continued)
                                   33

-------
                                    SECTION 7
                          DATA SUMMARY BY VEHICLE MAKE

     Option 5 allows the user to generate a summary report for a particular
vehicle make.  Once the option is selected, the computer prompts the user for
the desired make.  The four character make is entered and then [CR]  is
pressed.  The computer then generates a summary similar to that shown in
Figure 12.
     The program should not be interrupted during processing.   Processing time
is dependent on the size of the data base.  Also, an 80-column printer is
needed to obtain the output.
                                      34

-------
                  FAILURE  RATE  REPORT BY VEHICLE MAKE

This report summarizes  CHRY's for  vehicle model yeans  1976 through  1985.

 11/13/86                                                   Page   1
 Model Year
   Initial  Inspections
Tests  Failures  Percent
     Reinspections
Tests  Failures  Percent
1976
1977
1978
1979
1981
1982
1983
1984
1985
1
3
3
4
1
4
4
4
2
0
1
0
0
0
0
0
0
0
0
33
0
0
0
- 0
0
0
0
.0
.3
.0
.0
.0
.0
.0
.0
.0
0
1
0
0
0
. 0
0
0
0
0
0
0
0
0
0
0
0
0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
        Figure 12.  Example  output - summary  by vehicle make
                                 35

-------
                       FAILURE RATE SUMMARY REPORT
   11/13/86
        Page  2
                  FAILURE RATE REPORT BY VEHICLE MAKE

This report summarizes CHRY's for vehicle model years 1976 through 1985.
                       ***** General Summary *****

            Description              -.          Number
   Emission Tests
   Passing Vehicles
   Failed Initial Inspection for HC
   Failed Initial Inspection for CO
   Failed Both Initial Inspections
   Overall Failure Rate
   Failed Reinspection for HC
   Failed Reinspection for CO
   Failed Both Reinspections
   Overall Reinspection Failure Rate

   Exempt Vehicles
   Waived Vehicles
   Vehicles Complying with Sect. 207-B
26
25
 0
 0
 1
 1
 0
 0
 0
 0

 0
 0
 0
           Percent
 96.1
  0.0
  0.0
  3.8
  3.8
  0.0
  0.0
  0.0
  0.0

0.00
0.00
0.00
             There were          0 vehicle(s) that failed
  at least one of the initial inspections but were not reinspected.
                         Figure 12.   (continued)
                                  36

-------
                       FAILURE RATE SUMMARY REPORT
   11/13/86                                                Page  3

This report summarizes CHRY's for vehicle model years 1976 through 1985.

     There were          1  reinspected vehicles in the data base.

                   ***** Failed Vehicle Summary *****
            Average Initial Inspection HC Reading: 1250
            Average Initial Inspection CO Reading: 9.99

            Average Reinspection HC Reading:        420
            Average Reinspection CO Reading:       5.20

            Percent HC Reduction:                    66.4
            Percent CO Reduction:                    47.9
            Average Repair Cost:                   $  24

       NOTE - For vehicles that failed the initial inspection
       but were not reinspected, the first inspection readings
       were used to calculate reinspoction averages.
       Code
   Failure Code Distribution

Description               Number      Percent
          Exhaust  System

        E1          Exhaust leak
          Tampering
        TO
        T1
        T2
        T3
        T4
        T5
        T6
        T7
Not specified
Catalytic converter
PCV valve
EGR valve
Air pump
Carbon canister
Fuel inlet restrictor
Other
           Inspection/Maintenance
        MO
        M1
        M2
        M3
        M4
        M5
        M6
        M7
        M8
        M9
        NO
        N1
        N2
Not specified
Air filter element
TAC
Idle speed
Air/fuel mixture
Dwell
Timing
Spark plugs
Spark plug wires
Vacuum hose
Electronic controls
Low emission tune-up
Other
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
                                                             0.0
 0.0
 0.0
 0.0
 0.0
 0.0
 0.0
 0.0
 0.0
 0.0
 0.0
 0.0
 0.0
00.0
 0.0
 0.0
 0.0
 0.0
 0.0
 0.0
 0.0
 0.0
                       Figure 12.  (continued)
                                  37

-------
               FAILURE RATE REPORT  BY  INSPECTION STATION



This report summarizes CHRY's  for vehicle  model years  1976 through  1985.



 11/13/86                                                   Page   4
Insp. Station
092174
096184
096328
096382
096500
096528
096648
096785
296015
296098
296125
296134
296147
296258
Initial Inspections
Tests Failures Percent
1
4
3
2
1
2
1
3
4
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
- 0
0
0
0
0
100
0
0
0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
Reins pec t Ions
Tests Failures Percent
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
                       Figure 12.  (continued)
                                  38

-------
                                    SECTION 8
                       DATA SUMMARY BY INSPECTION STATION

     The selection of Option 6 will generate a dBASE III  data  base and  a
summary of data for a user-selected inspection station.   The six-digit  inspec-
tion station of interest is input and a summary similar  to that shown in
Figure 13 is obtained.  Also if desired, the program will generate a separate
ASCII data file for transfer to another computer.
     Processing speed is dependent on the size of data base.  An 80-column
printer is required and the program should not be interrupted  during process-
ing.
                                      39

-------
                 FAILURE RATE REPORT BY  VEHICLE MAKE
                  FOR INSPECTION STATION  096184

This report  summarizes data for vehicle  model years 1971 through 1986.

11/13/86                                                   Page  1
Vehicle Make
AMC
AUDI
8UIC
CADI
CHEV
CHRY
DATS
DODG
FORD
HOND
JEEP
LINC
MAID
MERC
MG
NISS
OLDS
PLYM
PONT
PORS
SAAB
SU8A
TOYO
VOLK
VOLV
Initial Inspections
Tests Failures Percent
2
1
7
9
34
4
5
3
22
8
3
3
4
6
2
6
27
7
11
1
2
2
9
5
2
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
4
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
.0
.0
.2
.0
.0
.0
.0
.0
.5
.0
.0
.0
.0
.0
.0
.0
.0
.2
.0
.0
.0
.0
.0
.0
.0
Reinspections
Tests Failures Percent
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
. 0
.0
. 0
.0
.0
.0
.0
.0
.0
    Figure  13.  Example output -  summary by  inspection station
                                40

-------
                           FAILURE  RATE  SUMMARY  REPORT
                          FOR  INSPECTION STATION  096184
       11/13/86                                     •            Page   2

     This report  summarizes data  for  vehicle  model  years  1971  through 1986.


                           *****  General Summary  *****
Description Total 1971 - 1974 1975 - 1979
No. Percent No. Percent No. Percent I
Emission Tests 185 14 56
Passing Vehicles 180 98.36 14 100.00 54 96.43
Initial Inspection
Failed HC 2 1.09 0 0.00 1 1.79
Failed CO 1 0.55 0 0.00 1 1.79
Failed Both 0 0.00 0 0.00 0 0.00
Overall 3 1.64 0 0.00 2 3.57
Reinspections
Failed HC 0 0.00 0 0.00 0 0.00
Failed CO 0 0.00 0 0.00 0 0.00
Failed Both 0 0.00 0 0.00 0 0.00
Overall 0 0.00 0 0.00 0 0.00
1980 1981 +
No. Percent No. Percent
12 103
12 100.00 100 99.01
0 0.00 1 0.99
0 0.00 0 0.00
0 0.00 0 0.00
0 0.00 1 0.99
0 0.00 0 0.00
0 0.00 0 0 .00
0 0.00 0 0.00
0 0.00 0 0.00
Exempt Vehicles    2   1.08     0   0.00     0   0.00     0   0.00     2   1.94

Waived Vehicles    0   0.00     0   0.00     0   0.00     0   0.00     0   0.00

Comply w/207-B     0   0.00     0   0.00     0   0.00     0   0.00     0   0.00


                 There were          0 vehicle(s) that  failed
      at least one of the initial inspections but were  not reinspected.
                          Figure 13.   (continued)
                                      41

-------
     11/13/86            FAILURE RATE SUMMARY  REPORT          Page   3
                        FOR INSPECTION STATION 096184
   This report summarizes data  for vehicle model  years  1971  through 1986.
       There were          3 reinspected vehicles in the  data  base.

               ***** Emission Inspection Data  Summary *****
Description
                 Total
                           1971  - 1974   1975  -  1979
                                                         1980
                                                                    1981 +
Initial Inspection
HC Reading
Mean
Min
Max
Std. Dev.
CO Reading
Mean
Min
Max
Std. Dev.
Reinspection
HC Reading
Mean
Min
Max
Std. Dev.
CO Reading
Mean
Min
Max
Std. Dev.
Falling Vehicles
HC Reduction, %
Mean
Min
Max
Std. Dev.
CO Reduction, %
Mean
Min
Max
Std. Dev.
Repai r Cost , $
Mean
Min
Max
Std. Dev.


1 14
0
918
140

0.79
0.00
9.99
1 .56


207
110
282
88

1 .25
0.01
1 .88
1 .08


50. 14
1 4 . 1 8
69.28
31.17

49.28
0.
81.18
43.29

0
0
0
0 '


233
1 13
544
1 16

2.60
0.19
6.49
2.46


0
0
0
0

0.00
0.00
0.00
0.00


0. 00
0.00
0.00
0.00

0 .00
0.00
0.00
0 .00

0
0
0
0


224
4
918
173

1 .57
0.00
9.99
2.04


256
230
282
36

1 .88
1 .87
1 .88
0.01


41 .73
14.18
69.28
38.96

73. 92
66.67
81.18
10.26

0
0
0
0


77
0
216
79

0.41
0.00
2.92
0.86


0
0
0
0

0.00
0.00
0.00
0.00


0.00
0.00
0. 00
0.00

0. 00
0.00
0.00
0.00

0
0
0
0


42
0
333
52

0.17
0.00
1.17
0 .29


1 10
1 10
1 10
0

0.01
0.01
0.01
0.00


66.97
66.97
66 . 97
0 . 00

0 . 00
0 .
0. 00
0.00

0
0
0
0
                      Figure 13.   (continued)
                                   42

-------
  11/13/86
 FAILURE RATE SUMMARY REPORT
FOR INSPECTION STATION 096184
Page  4
This report summarizes data for vehicle model years 1971 through 1986.
                      Failure Code Distribution
      Code Description
                                             Number
                                                        Percent
         txhaust System

       El Exhaust leak

         Tampering

       TO Not specified
       T1 Catalytic converter
       T2 PCV valve
       T3 EGR valve
       T4 Air pump
       T5 Carbon canister
       T6 Fuel inlet restrictor
       T7 Other

         Inspection/Maintenance

       MO Not specified
       M1 Air filter element
       M2 TAC
       M3 Idle speed
       M4 Air/fuel mixture
       MS Dwell
       M6 Timing
       M7 Spark plugs
       M8 Spark plug wires
       M9 Vacuum hose
       NO Electronic controls
       N1 Low emission tune-up
       N2 Other
                                     33.3
                                      0.0
                                      0.0
                                      0.0
                                      0.0
                                      0.0
                                      0.0
                                      0.0
                                      0.0
                                     66.6
                                      0.0
                                      0.0
                                      0.0
                                      0.0
                                      0.0
                                      0.0
                                      0.0
                                      0.0
                                      0.0
                                      0.0
                                      0.0
                                      0.0
                     Figure 13.   (continued)
                                 43

-------
                   FAILURE RATE  REPORT  BY  INSPECTOR
                     FOR INSPECTION  STATION  096184
This report summarizes data for  vehicle model  years  1971 through 1986.
11/13/86
Page
              Inspector
                                   Initial  Inspections
                                Tests   Failures   Percent
492628555
494846474
497527049
497678655
499846474
501527104
507527104
54
1
5
1
98
1
25
1
0
0
0
2
0
0
1
0
0
0
2
0
0
.8
.0
.0
.0
.0
.0
.0
                     Figure 13.   (continued)
                                44

-------
                                    SECTION 9
                             ERROR ANALYSIS PROGRAM

     The basic process used for data entry quality assurance is to take a 5
percent random sample from the data base (1 out of 20).   Then the two separate
entries are compared.  The actual  steps in the process are as follows:
     1.   The operator enters a set of data consisting of about 20 forms.
     2.   After the 20th form is entered the computer program requires  the
          operator to re-enter the last set of data.
     3.   The operator re-enters the 20th data set and goes on to the next
          form.
     4.   This process repeats every 20 forms.
     In the computer, three separate data bases are used.  The primary data
base (A) contains all of the records.  The secondary data base (B) contains a
copy of those records randomly selected for the audit.  The last data base (C)
contains the second entry for the selected sample.
     A separate program has been developed to compare the records in data
bases B and C (Option 7).  These records are compared field-by-field to
determine the types of errors and their frequency for each field.
     An example of this process is shown in Figure 14.  The program processed
the results upon selection of Option 7 from the main menu.  Since the data
bases used for this analysis are only 5 percent of the large data base
processing will proceed rather quickly.  A 132-column printer is needed for
the output and the program must not be interrupted during processing.
                                      45

-------
                               SUMMARY REPORT

                               ERROR ANALYSIS
         Out of        75  records there «ere a total of       168 errors.
           There were        67 records that did not have any errors.
      Entry

      Year
      Make
      Odometer
      VIN
      Body
      First  HC
      First  CO
      HC status
      CO status
      Reinsp. HC
      Reinsp. CO
      HC reinsp. status
No.  of errors

       0
       1
       0
      10
       0
       0
       1
      74
      71
       0
       0
       0
Entry
                 No. of errors
CO reinsp.  status
Exempt
Hawed
C 2076 compliance
Codes
Cost
First insp. station
First inspector
First insp. date
Reinsp. station
Reinsp. date
Decal No.
Figure  14.    Example  output  -  error  analysis
                                      46

-------
Page No.
11/12/86
                                                    REPORT OF  ERRORS IN
                                            ENTERING AUTOMOBILE DATA IN THE
                                                     MISSOURI  DATA BASE
     DOUBLE REENTER DOUBLE REENTER   DOUBLE  REENTER
 No.   YEAR   YEAR  MAKE  MAKE    ODOMETER ODOMETER
                                    DOUBLE
                                      VIN
REENTER
  VIN
DOUBLE REENTER
  BODY    BODY
        78
        78
        78
        78
        78
        78
        78
         0
77
77 CHEV   CHEV
77
77
77
77
77
 0 CHEV   CHEV
0
86
0
0
0
0
0
0
0 8472108566 8472108566
85 1G3AR47A5DM474217 1GEAR47A5DM474217
0 8472108566 8472108566
0 8472108566 8472108566
0
0 8472108556 8472108566
0
0 1G3AR47A50M474217 1GEAR47A5DM474217
                            Figure   14.    (continued)
                                            47

-------
Page No.     1
11/12/86
                                                         REPORT OF ERRORS IN
                                                ENTERING  EMISSIONS DATA IN THE
                                                         MISSOURI DATA BASE

    DOUBLE REENTER DOUBLE REENTER DOUBLE REENTER DOUBLE REENTER DOUBLE REENTER DOUBLE REENTER DOUBLE REENTER
      FIRST   FIRST  FIRST   FIRST   HC     HC    REINS.  REINS. REINS.  REINS.   HC      HC     CO      CO
 No.  INSP.   INSP.  INSP.   INSP. STATUS  STATUS     HC     HC     CO     CO STATUS  STATUS STATUS  STATUS
        HC      HC     CO      CO
   1      0       0   0.00    0.00 P                  0      0   0.00    0.00
   2      12      10   1.11    0.01 P                  2      0   1.00    0.00 F
   3      0       0   0.00    0.00 P                  0      0   0.00    0.00
   4      0       0   0.00    0.00 P                  0      0   0.00    0.00
   5      12      10   1.11    0.01 P                  20   1.00    0.00 F
   6      0       0   0.00    0.00 P                  0      0   0.00    0.00
   7      12      10   1.11    0.01 P                  2      0   1.00    0.00 F
   8      0       0   1.01    0.01 P                  00   0.00    0.00
                                 Figure  14.     (continued)
                                                     48

-------
Page No.    1
11/12/86
                                                   REPORT OF ERRORS IN EXEMPT,
                                             HAWED, 207-6 COMPLIANCE,ETC. ENTRIES
                                                       IN MISSOURI DATA BASE

    DOUBLE REENTER DOUBLE REENTER DOUBLE REENTER               DOUBLE                            REEHTER
 No. EXEMPT  EXEMPT WAIVED  HAIVED  207-B   207-8                CODES                             CODES
                               COMP.   COMP.
1 0
2 1
3 0
4 0
5 1
S 0
0 0
0 1
0 0
0 0
0 1
0 0
0 0 0
0 1 0 MO
0 0 0
0 0 0
0 1 0 MO
0 0 0
                                          0 MO
                                  Figure   14.     (continued)
                                                  49

-------
Page No.
11/12/86
                                                              REPORT OF ERRORS IN  THE
                                                          STATION/INSPECTOR DATA IN  THE
                                                                 MISSOURI DATA BASE
     DOUBLE   RE- DOUBLE REENTER    DOUBLE   REENTER  DOUBLE   REENTER
       COST ENTER  FIRST  FIRST      FIRST     FIRST   FIRST    FIRST
            COST  INSP.  INSP.  INSPECTOR INSPECTOR   INSP.    INSP.
 No.             STATN  STATION                      DATE     DATE
 DOUBLE   REENTER  DOUBLE    REENTER  DOUBLE   REENTER
  REIN-     REIN-  REINSP.   REINSP.   DECAL    DECAL
SPECTOR   SPECTOR   DATE     DATE      No.      No.
1
2
3
4
5
6
7
0
12
0
0
12
0
0
0
0 196785 096785
0
0
0 196785 096785
0
0
                               496281526 496781526   I  I     I  I          0         0  /  /
                               500684582 500684682  03/27/86 03/03/27 487581192 487481192 03/20/86
                               496281526 496781526   I  I     I  I          0         0  /  /
                               496281526 496781526   I  I     I  I          0         0  /  /
                                       0         0  03/24/86 03/25/86        1         0  /  /
                               496281526 496781526   I  I     I  I          0         0  /  /
                                       0         0   /  /     /  /          0         0  /  /
                            /  /   E7180051  E2180051
                           03/03/20 E2248393  E2328393
                                   E7180051 E2180051
                                   E7180051 E2180051
                                500684582 500684682 03/27/86 03/03/27 487581192 487481192 03/20/86  03/03/20 E2248393 E2328393
                                            Figure  14.    (continued)
                                                               50

-------
                                   SECTION 10
                               EXITING THE PROGRAM

     The final Option (8) allows the user to exit the program and return to
the dBASE III dot prompt (.).
                                      51

-------
                               TECHNICAL REPORT DATA
                         fNcate read Inunctions on ine rrvenr be fort eompletinfl
 1. REPORT NO.
  EPA-907/9-87-002
                          2.
            3. RECIPIENT'S ACCESSION NO.
 «. TITLE ANDSUBTITLE
  QA System for  Missouri's  Decentralized
  I/M Program
            5. REPORT DATE
               August 1987
            6. PERFORMING ORGANIZATION CODE
 7. AUTHORIS)
                                                    8. PERFORMING ORGANIZATION REPORT NO.

                                                       PN 3655-40
9. PERFORMING ORGANIZATION NAME AND ADDRESS

  PEI Associates,  Inc.
                                                    10. PROGRAM ELEMENT NO.
                                                    11. CONTRACT/GRANT NO.
                                                       68-02-3890
                                                       Task Order No.  40
 12. SPONSORING AGENCY NAME AND ADDRESS
  U.S. Environmental Protection Agency
  Region VII,  Air and Toxics Division/Air Branch
  726 Minnesota Avenue
  Kansas City,  Kansas  66101	
                                                    13. TYPE OF REPORT AND PERIOD COVERED
            14. SPONSORING AGENCY CODE
15. SUPPLEMENTARY NOTES
16. ABSTRACT
  The St. Louis,  Missouri,  decentralized I/M program has experienced
 •a- low failure rate  (FR)  since the program started on January  1,  1984,
  This contract evaluated  one-half month's I/M data for the actual FR.
  (The state  has been determining the  FR by evaluating data records
  from a 1 of 20 random  sample.)  The  contract also produced  a  program
  to evaluate the I/M data for problems (Quality  Assurance evaluations
  of inspector, inspections, models, model years,  etc.)
 7.
                            KEY WORDS AND DOCUMENT ANALYSIS
               DESCRIPTORS
b.lDENTIFIERS/OPEN ENDED TERMS C.  COSATI Field/Group
  I/M Data Evaluation
  Missouri I/M
 I/M Failure Rates
 I/M Waiver Rates
 QA Data  Evaluation
 Tampering Rates
 £. DISTRIBUTION STATEMENT

  Release unlimited
1£. SECURITY CLASS (ThisReport/

 Unclassified	
                                                                21. NO. OF PAGES
20. SECURITY CLASS (Tnis pegej
 Unclassified
                        12. PRICE
EPA Form 2220-1 (S-73)

-------
       APPENDIX A



SOURCE CODE FOR QA SYSTEM

-------
** MISSOURI,PRG
WHHHHfBAIN MENU FOR HISSOURI EMISSION INSPECTION DATA SYSTEM

DO MHIL ,T,
** SET UP COMPUTER
   CLEAR ALL
   SET BELL OFF
   SET CONFIRM OFF
   SET DELETED ON
   SET ECHO OFF
   SET ESCAPE ON
   SET EXACT ON
   SET INTENSITY ON
   SET SAFETY OFF
   SET TALK OFF
   STOR OTO ANS
   CLEA

»» DISPLAY HENU
   5 2,20 SAY "Missouri Automobile Emission Inspection"
   6 3,27 SAY "Data Management Program"
   0 6,27 SAY "*****  Main Menu  *****"
   8 9,30 SAY "1, Data Entry"
   (? 10,30 SAY "2, Error Correction"
   8 11,30 SAY "3, Overall Summary"
   I! 12,30 SAY "4, Hake Summary"
   8 13,30 SAY "5, Year Summary"
   & 14,30 SAY "6, Station Summary"
   8 15,30 SAY "7, Error Analysis"
   9 16,30 SAY "8, Return to dBASE III"
   8 18,21 SAY "Please enter your selection (1-8):"
   DO WHIL ANS=0
** GET MENU SELECTION
      t 19,57 GET ANS PICT '8Z 9'
      READ
#* CALL UP PROGRAM BASED ON SELECTION
      DO CASE
         CASE ANS=1
            DODATAENTR
         CASE ANS=2
            DO CORRECT
         CASE ANS=3
            DO SUMMARY2
         CASE ANS=4
            DO SUMJ1ARY3
         CASE ANS=5
            DO SUMHARY4
         CASE ANS=6
            DO SUMMARY5
         CASE ANS=7
            DO ERRORCHK
#* EXIT PROGRAM
         CASE ANS=8
            CLEA ALL
            RETU
         OTHE
            T< CHR(7)
            STOR 0 TO ANS
      ENDC
      STOR  9 TO ANS

-------
   ENDD
ENDD
*EOF

-------
* DATAENTR.PRG

******* SET IF COMPUTER
CLEAR ALL
SET BELL OFF
SET CONFIRM ON
SET DELETED ON
SET ECHO OFF
SET ESCAPE ON
SET EXACT ON
SET INTENSITY ON
SET SAFETY OFF
SET TALK OFF
SET FUNCTION 10 TO '99'

******* PREPARE DATA BASES
SELECT A
USE MISSOURI
SELECT B
USE DOUBLE
SELECT C
USE REENTER
SELECT D
USE LOEM2NUP
SELECT A
CLEAR

***# GET MONTH OF DATA TO BE ENTERED
8 10,19 SAY "Please enter the month for which data are"
15 11,19 SAY "to be entered (mn/yy):"
STOR "  /  "TO HMY
STOR "N" TO ANS
DO WHIL ANS="N"
   STOR "Y" TO ANS
   8 11,43 GET MMY PICT '99/99'
   READ
   § 20,23 SAY "Are the above data correct (Y/N>? "
   6 20,57 GET ANS PICTURE '!'
   READ
   B 20,1 CLEA
ENDDO
STOR SUBSTR(HMY,1,2) TO MMNTH
STOR SUBSTR(MMY,4,2) TO MYR

******* SET FREQUENCY TO CHECK DATA ENTRY
STORE 1 TOX
STORE 16+X TO FRE

****** DISPLAY CODES ON THE SCREEN
<$ 2,12 SAY "The fo) losing are the codes used within this program"
0 3,9 SAY "to indicate the cause for a vehicle failing an  inspecti"
e 3,64 SAY "on:"
8 5,11 SAY "Exhaust  System                Inspection/Maintenance"
? 7,9 SAY "El = Exhaust leak                MO = Not specified"
(S 6,42 SAY "Ml  = Air filter element"
(» 9,42 SAY "M2  = TAC"
(? 10,14 SAY  "Tampering                   M3 = Idle speed"
8 11,42 SAY  "M4 = Air /fuel mixture"
6 12,9 SAY "TO  = Not specified               M5  = Dwell"
& 13,9 SAY "Tl  = Catalytic converter         M*  = Tiiaing"

-------
8 14,9 SAY "T2 = PCV valve                   H7  = Spark plugs"
8 15,9 SAY "T3 = ECR valve                   H8  = Spark plug nires"
9 16,9 SAY "T4 - Air pump                    H9  = VacuuB hose"
C 17,9 SAY "T5 = Carbon canister             NO  = Electronic contro"
0 17,64 SAY "Is"
0 18,9 SAY "T6 = Fuel inlet resistor         Nl  = Low enission tune"
0 18,64 SAY "-up"
0 19,9 SAY "T7 = Other                       N2  = Other"
§ 23,0 SAY ""
UAIT
SET CONFIRN OFF

STORE 1 TO COUNT
STORE "      " TO HSTATION
STORE 0 TO HINSPECT
STORE " " TO SAVE
STORE "        " TO HDECAL
*****#** BEGIN OPERATION
DO WHILE ,T.
   DO WHILE COUNT <= FRE
      CLEAR

*»»»*#* INITIALIZE VARIBLES
      STORE 0 TO HYEAR
      STORE "    " TO IH1AKE
      STORE 0 TO WHILES
      STORE "                  " TO WIN
      STORE 0 TO HBODY
      STORE " " TO HFUEL
      STORE 0 TO HHC1
      STORE 0,00 TO HC01
      STORE "P" TO RSTAT1HC
      STORE "P" TO HSTAT1CO
      STORE 0 TO HHCRE
      STORE 0,00 TO MCORE
      STORE " " TO HSTAT2HC
      STORE " " TO I1STAT2CO
      STORE 0 TO P1EXE
      STORE 0 TO MWAI
      STORE 0 TO W207
      STORE "                                    "  TO HCODES
      STORE 0 TO HCOST
      STORE "  " TO HDATE1
      STORE HINSPECT TO fKEIN
      STORE "  " TO HDATE2
      IF HDECAL <> "        " ,AND, SAVE <> "N"
         STORE VAL(SUBSTR(f!DECAL,2,7)) TO DECNO
         STORE DECNO+1 TO DECNO
         STORE LEN(STR(DECNO)) TO LEN
         STORE "E"+SUBSTR(STR(DECNO),LEN-6,7) TO HDECAL
      ENDIF
      STORE 1 TO FLAC1
      STORE 1 TO FLAC2
      STORE 1 TO FLAG3

**»#***** DRAW SCREEN
      C 1,11 SAY "YEAR:11
      0 1,31 SAY "MAKE:11
      0 1,50 SAY "ODOHETER:"
      0 3,12 SAY "VIN:"

-------
      e 5,5 SAY "BODY STYLE:"
      8 5,41 SAY "FUEL:"
      9 8,14 SAY "FIRST INSPECTION                    REINSPECTION"
      8 10,16 SAY "HC:"
      8 10,51 SAY "HC:"
      8 11,14 SAY "CO:"
      I? 11,51 SAY "CO:"
      8 12,4 SAY "STATUS (HC/CO):"
      9 12,39 SAY "STATUS (HC/CO):"
      9 14,7 SAY "EXEMPT:"
      9 14,29 SAY "WAIVED:"
      8 14,49 SAY "207-B COMPLIANCE:"
      9 16,8 SAY "CODES:"
      9 16,60 SAY "COST:"
      9 18,2 SAY "STATION No,:"
      8 18,27 SAY "INSPECTOR:"
      9 18,52 SAY "DATE: "tSUBSTRdlfNTH,!^)*"/  /"+SUBSTR(f!YR,l,2)
      8 20,25 SAY "REINSPECTOR:"
      9 20,52 SAY "DATE: "+SUBSTR(IWTH,i,2)+'Y  /"+SUBSTR(riYR,l,2)
      9 22,8 SAY "STICKER/DECAL No,:"

*WHHH« BEGIN DATA ENTRY
      DO WHILE HYEAR<71
         9 24,18 SAY "Enter '99' for the year to return to the eerm,"
         9 1,18 GET WEAR PICTURE '8Z 99'
         READ
         9 24,18 CLEAR
      ENDDO

***##**« EXIT PROGRAR BY ENTERING '99' FOR YEAR
      IF HYEAR=99
         CLEAR
         CLEAR ALL
         STORE " " TO ANS
         9 10,21 SAY "Do you want to back up the data bases? "
         DO WHILE ANS <> "Y" .AND, ANS <) "N"
            9 10,61 GET ANS PICTURE "!"
            READ
         ENDDO
         IF ANS="Y"
            •BACKUP C:»,DBF A:
         ENDIF
         RETURN
      ENDIF
      I? 1,38 GET MAKE PICTURE '8! AAAA'
      8 1,61 GET MILES PICTURE '8Z 999'
      9 3,16 GET WIN PICTURE '8! NNNNNNNNNNNNNNNNNN'
      9 5,18 GET HBODY PICTURE '8Z 9'
      READ

       CHECK IF DATA BELONGS IN DATA BASE -- I.E. IS CAR AND GASOLINE DRIVEN
      IF HBODY>2
         ?? CHR(7)
         8 6,0 CLEAR
         9 8,22 SAY "THIS VEHICLE IS NOT PART OF THIS DATA BASE,"
         8 9,30 SAY "GO ON TO THE NEXT FORM,"
         WAIT
         CLEAR
         LOOP
      ENDIF

-------
      8 5,48 GET HFUEL PICTURE  '0! A'
      READ
      IF HFUEL <> "G"
         ?? CHR(7)
         8 6,0 CLEAR
         9 fl,22 SAY "THIS VEHICLE  IS NOT PART OF THIS DATA BASE,"
         @ 9,30 SAY "GO ON TO THE  NEXT FORM,"
         WAIT
         CLEAR
      ENDIF

*##*** CHECK FOR EXEMPTION
      IF HYEAR>85 ,OR, «YEAR(71  .OR, RBQDY>2
         STORE 1 TO HEXE
      ENDIF

      8 10,21 GET HHC1 PICTURE '5Z 9999'
      READ
      IF HHC1>2000
          STORE 2000 TO RHC1
          0 10,21 SAY HHC1 PICTURE "9999"
      ENDIF
      5 11,21 GET PC01 PICTURE 'K 9,99'
      READ

#******* DETERMINE PASS/FAIL FOR FIRST  INSPECTION
      DO CASE
         CASE MYEAR>aO
            IF MHCD220
               STORE "F" TO MSTAT1HC
            ENDIF
            IF HC01>1,2
               STORE "F" TO HSTAT1CO
            ENDIF
         CASE HYEAR=80
            IF HHCD300
               STORE "F" TO ItSTATlHC
            ENDIF
            IF fiC01>3,0
               STORE "F" TO USTATICO
            ENDIF
         CASE HYEAR>74
            IF flHCl>«X)
               STORE "F" TO HSTAT1HC
            ENDIF
            IF ncom.o
               STORE "F" TO HSTAT1CO
            ENDIF
         CASE HYEAR>70
            IF HHC1>700
               STORE "F" TO MSTAT1HC
            ENDIF
            IF HCOD7.0
               STORE "F" TO HSTAT1CO
            ENDIF
      ENDCASE
      G 12,21 SAY HSTAT1HC
      5 12,22 SAY "/"
      (? 12,23 SAY ftSTATICO

-------
*****#*#» IF FAILED FIRST TIHE GET REINSPECTION DATA
      IF HSTAT1HC <> "P" ,OR, HSTAT1CO <> "P"
         STORE "P" TO HSTAT2HC
         STORE "P" TO HSTAT2CQ
         8 10,56 GET mCRE PICTURE '8Z 9999'
         READ
         IF «HCRE>2000
            STORE 2m TO flHCRE
            8 10,56 SAY flHCRE PICTURE "9999"
         ENDIF
         0 11,56 GET HCORE PICTURE '8Z 9,99'
         READ

***##*** DETERMINE STATUS OF REINSPECTION
         DO CASE
            CASE HYEAR>80
               IF HHCRE>220
                  STORE "F" TO MSTAT2HC
               ENDIF
               IF HCOREM.2
                  STORE "F" TO CISTAT2CO
               ENDIF
            CASE HYEAR=80
               IF PICRE>300
                  STORE "F" TO HSTAT2HC
               ENDIF
               IF HCORE>3,0
                  STORE "F" TO HSTAT2CO
               ENDIF
            CASE HYEAR>74
               IF fflCRE>600
                  STORE "F" TO WSTAT2HC
               ENDIF
               IF MCORE>6,0
                  STORE "F" TO HSTAT2CO
               ENDIF
            CASE HYEAR>71
               IF I1HCRE>700
                  STORE "F" TO HSTAT2HC
               ENDIF
               IF HCORE>7,0
                  STORE "F" TO HSTAT2CO
               ENDIF
         ENDCASE
         8 12,56 SAY RSTAT2HC
         I? 12,57 SAY "/"
         0 12,56 SAY MSTAT2CO
         READ
      ENDIF
      B 16,16 GET PCODES PICTURE '8! A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9'
      READ
      IF HSTAT1HC (> "P" .OR, HSTAT1CO <> "P"
         8 16,67 GET HCOST PICTURE 'fiZ 999'
         READ
      ENDI
            DETERMINE WAIVER / 207-B COHPLIflNCE
      IF  (MSTAT1HC="F"  .OR, MSTAT1CO="F") .AND,  (I1STAT2HC="F"  .OR. MSTAT2CO="F")
         STORE 1 TO MWAI
      ENDIF

-------
      IF (RSTAT1HC="F" ,OR, «STAT1CO="F")  .AND.  «YEAR>83 .AND.  fflILES<24
         STORE 1 TO H207
      ENDIF
      P 14,15 SAY HEXE PICTURE "«"
      6 14,38 SAY WAI PICTURE "«"
      8 14,67 SAY H207 PICTURE "«"

****»***« GET INSPECTOR/REINSPECTQR DATA
      5 18,16 GET HSTATION PICTURE '999999'
      READ
      STORE SUKTR(WSTATION,1,3) TO AREA
      IF AREA <> "115" .AND. AREA <> "096" .AND. AREA <> "296" .AND,  AREA <> "092" .AND. AREA <> "050"
         ?? CHR(7)
         0 19,0 CLEAR
         0 20,22 SAY "THIS VEHICLE IS HOT PART OF THIS DATA BASE."
         9 21,30 SAY "GO OH TO THE NEXT FORH."
         WAIT
         CLEAR
         LOOP
      ENDIF
      B 16,39 GET HINSPECT PICTURE '8Z 999999999'
      READ

*****#** GET INSPECTION DATE
      DO WHILE FLAG1=1
         0 24,12 SAY "To enter dates after March 31,1986 press the [F103  Key."
         9 18,61 GET HDATE1 PICTURE '99'
         READ
         IF HDATE1>"00" .AND. HDATE1<"32"
            STORE 0 TO FLAG1
         ENDIF
         IF HDATE1="99"
            0 18,57 SAY "
            STORE DATEO TO HDATEA
            I? 18,58 GET MDATEA
            READ
            STORE DTOC(HDATEA) TO MDATE1
            STORE 0 TO FLAG1
         ENDIF
         0 24,0 CLEAR
      ENDDO
      IF HSTAT1HC <> "P" .OR. RSTAT1CO <> "P"
         0 20,39 GET RREIN PICTURE 'BZ 999999999'
         READ

»»«»»»«»»»# GET REINSPECTION DATE
         DO WHILE FLAG2=1
            IF LEN(flDATEl)<3
               8 24,12 SAY "To enter dates after March 31,1966 press  the  [F103 key,"
               9 20,61 GET HDATE2 PICTURE '99'
               READ
               IF HDATE2>"00" .AND. HDATE2<"32"
                  IF HDATE2>=nDATEl
                     STORE 0 TO FLAG2
                  ENDIF
                  P 24,0 CLEAR
                  LOOP
               ENDIF
            ENDIF
            IF HDATE2="99" .OR. LEN(t1DATEl)>2

-------
               STORE 0 TO FLAG2
               8 20,57 SAY "
               STORE DATEO TO HDATEA
               8 20,58 GET HDATEA
               READ
               STORE DTOC(HDATEA) TO HDATE2
            ENDIF
         ENDDO
      ENDIF
      8 22,28 GET HDECAL PICTURE '8!  A9999999'
      READ
      IF SUBSTR(HDECAL,1,1) <> "E"
         ?? CHR<7)
         G» 19,0 CLEAR
         e 20,22 SAY "THIS VEHICLE IS NOT PART OF  THIS  DATA BASE,"
         8 21,30 SAY "GO ON TO THE NEXT FORM."
         WAIT
         CLEAR
         LOOP
      ENDIF
      IF LEMHDATE1X3
         IF LEN(HDATE1)=1
            STORE "0"+HDATE1 TO NDATE1
         ENDIF
         STORE NtHH+'T-tlfflATEl+'T+HYR TO  HDATE1
      ENDIF
      IF LEN(FiDATE2)<3
         IF LEN(MDATE2)=1
            STORE "0"+HDATE2 TO PIDATE2
         ENDIF
         STORE fBWTH+17"+HDATE2+'7"-iflYR TO  HDATE2
      ENDIF
      STORE " " TO SAVE

*»»»»»»»* ASK IF DATA ARE CORRECT
      DO WHILE SAVE <> "Y" .AND. SAVE <> "N"
         5 24,0 CLEAR
         ?? CHR<7)
         e 24,23 SAY "Are the above data correct  (Y/N)? "
         @ 24,57 GET SAVE PICTURE '!'
         READ
      ENDDO
      IF SAVE="N"
         LOOP
      ENDIF

«HHHHH» STORE DATA TO MAIN DATA BASE
      SELECT A
      APPEND BLANK
      REPLACE YEAR UITH MYEAR,HAKE WITH WME,ODOMETER  WITH miLES,VIN WITH MVIN,BODY WITH HBODY
      REPLACE HC FIRST WITH «HC1,CO FIRST UITH MC01,STATUS1HC  WITH HSTAT1HC,STATUS1CO WITH NSTAT1CO
      REPLACE HC RE WITH HHCRE,CO RE WITH «CORE,STATUS2HC  WITH HSTAT2HC,STATUS2CO WITH HSTAT2CO
      REPLACE EXilF'T WITH HEXE,WAIVED WITH  flWAI,C  207B  WITH M207,CODES WITH «CODES,COST WITH HCOST
      REPLACE STATION 1 WITH HSTATION,INSPECT 1 WITH HINSPECT,DATE_1 WITH CTOD(HDATEl)
      IF HSTAT1HC <> "F" ,OR, HSTAT1CO  <) "P""
         REPLACE REINSPECT WITH PREIN,RE DATE WITH CTOD(«DATE2)
      ENDIF
      REPLACE DECAL WITH HDECAL
      STORE 1 TO LOW
      IF HWAI=1

-------
***** ENTER LOU EMISSION TUNE-UP FORM DATA
          SELECT D
          CLEAR

***** INITIALIZE VARIABLES
           DO WHILE LOW=1
               STORE "           " TO HMECH
               STORE  "  " TO H2NDATE
               STORE 0 TO MATHC
               STORE 0,00 TO HATCO
               STORE "      " TO HCONT

***** DISPLAY SCREEN
               8 1,4 SAY "VIN :"
               8 1,11 SAY HVIN
               & 1,33 SAY "Hake j"
               8 1,41 SAY HMAKE PICTURE "AAAA"
               0 1,56 SAY "Year :"
               8 1,63 SAY HYEAR PICTURE "99"
               9 3,22 SAY "Mechanic No, :"
               S 5,23 SAY "Station No, :"
               » 7,30 SAY "Date: "
               ? 9,10 SAY "Before Tune-up                         After Tune-up"
               5 11,12 SAY "HC :"
               B 11,51 SAY "HC :"
               9 12,12 SAY "CO :"
               8 12,51 SAY "CO :"
               ? 14,7 SAY "Adjustments :"
               8 15,14 SAY "Cost :"
               8 17,25 SAY "Control No, :"

***** ENTER DATA
               e 3,38 GET fflECH PICTURE "999X99X9999"
               (« 5,38 GET HSTATION PICTURE "999999"
               READ
               DO WHILE FLAG3=1
                  IF LEN(NDATE2)<3
                     P 24,12 SAY "To enter dates after  March  31,1966  press the  [F10]  Key,
                     ? 7,40 GET M2NDATE PICTURE '99'
                     READ
                     IF M2NDATE>"00" ,AND, M2NDATE<"32"
                        IF M2NDATE)=MDATE2
                           STORE 0 TO FLAG3
                        ENDIF
                        (? 24,0 CLEAR
                        LOOP
                     ENDIF
                  ENDIF
                  IF PI2NDATE="99"  ,OR, LEN(MDATE2)>2
                     STORE 0 TO FLAG3
                     @ 7,37 SAY "
                     STORE DATEO TO MDATEA
                     8 7,38 GET MDATEA
                     READ
                     STORE DTOC(MDATEA) TO M2NDATE
                  ENDIF
               ENDDO
               I? 11,18 GET MHCRE PICTURE "9999"
               READ
               IF MHCRE>2000

-------
                  STORE 2000 TO HHCRE
                  8 11,18 SAY HHCRE PICTURE "9999"
               ENDIF
               9 12,18 GET RCORE PICTURE "9,99"
               e 11,57 GET HAM: PICTURE "9999"
               READ
               IF MATHO2000
                  STORE 2000 TO HATHC
                  8 11,57 SAY MATHC PICTURE "9999"
               ENDIF
               6 12,57 GET RATCO PICTURE "»,«•»"
               6 14,22 GET (CODES PICTURE '5! A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9'
               I? 15,22 GET RCOST PICTURE '8Z 999'
               8 17,40 GET HCONT PICTURE "999999"
               READ

»*** NKE SURE DATA ARE CORRECT
              STORE " " TO SAVE
              DO WHILE SAVE=" "
                 8 24,0 CLEAR
                 ??CHR(7)
                 8 24,23 SAY "Are the above data correct (Y/N)? "
                 9 24,57 GET SAVE PICTURE '!'
                 READ
                 IF SAVE 0 "Y" ,AND. SAVE <> "N"
                    STORE " " TO SAVE
                 ENDIF
              ENDDO
              IF SAVE="N"
                 LOOP
              ELSE
                  STORE 0 TO LOU
              ENDIF
          ENDDO

»*** STORE DATA IN DATA BASE
          STORE HHNTH+'V'+ffiNDATE+'V+HYR TO H2NDATE
          STORE CTOD(112NDATE) TO HDATE2N
          SELECT D
          APPEND BLANK
          REPLACE VIN UITH HVIN,HAKE MITH !WlKE,YEAR WITH HYEAR,HECH WITH IflECH,STATION UITH HSTATION,DATE WITH HDATE2N
          REPLACE PREHC WITH HHCRE,PRECO WITH HCORE,ATHC WITH IWTHC, ATCO WITH HATCO
          REPLACE AIX.IUST WITH HCODES,COST WITH HCOST,CONTROL WITH HCONT
      ENDIF
      STORE COUNT+1 TO COUNT
   ENDDO

******** VARY FREQUENCY OF DATA REENTRY FROM 19 TO 21
      STORE X+l TO X
      IFX>3
         STORE 1 TO X
      ENDIF

****** STORE DATA TO DUPLICATE DATA BASE FOR ERROR CHECKING BY REENTRY
   SELECT B
   APPEND BLANK
   REPLACE YEAR WITH PIYEAR,fWKE WITH lfflAKE,ODOt1ETER WITH HMILES,VIN WITH HVIN,BODY WITH HBODY
   REPLACE HC FIRST WITH mCl,CO FIRST WITH HCQ1 ,STATUS1HC WITH KSTAT1HC,STATUS1CO WITH HSTAT1CO
   REPLACE HC'RE WITH «HCRE,CO RE UITH «CORE,STATUS2HC WITH RSTAT2HC,STATUS2CO WITH HSTAT2CO
   REPLACE EXEMPT WITH HEXE,UAIVED WITH HWAI,C 207B WITH M207,CODES WITH flCQDES,CQST WITH P1COST

-------
   REPLACE STATION 1  WITH HSTATION,INSPECT 1 WITH HINSPECT,DATE 1 WITH CTOD(MDATEl)
   IF HSTAT1HC <>  "P" ,OR, MSTAT1CO <> "P"
      REPLACE REINSPECT WITH HREIN,RE DATE WITH CTOD(HDATE2)
   ENDIF
   REPLACE DECAL WITH HDECAL

**«**«»#** REENTER DATA INTO REENTER DATA BASE — SEE NOTES FROH INITIAL DATA ENTRY
   SELECT C
   CLEAR

*******#*# NOTIFY  KEYPUNCH OPERATOR TO REENTER THE LAST FORM
   ??CHR(7)
   I? 12,5 SAY "THIS IS A TEST,  THIS IS ONLY A TEST!   THIS PROGRAM IN CONJUNCTION WITH"
   8 14,5 SAY "THE EPA IS CONDUCTING A TEST TO DETERMINE THE ACCURACY OF THIS SYSTEM/1
   0 16,6 SAY "PLEASE ENTER THE DATA FROM THE PREVIOUS FORM AGAIN,  THANK YOU,"
   8 22,1 SAY ""
   WAIT

   STORE " M TO SAVE
   DO WHILE SAVE=" "
WHHHHHHW INITIALIZE VARIABLES
   CLEAR
   STORE 0 TO MYEAR
   STORE "    " TO HMAKE
   STORE 0 TO MMILES
   STORE "                 " TO MVIN
   STORE 0 TO MBODY
   STORE " " TO MFUEL
   STORE 0 TO MHC1
   STORE 0,00 TO HC01
   STORE "P" TO RSTAT1HC
   STORE "P" TO MSTAT1CO
   STORE 0 TO MHCRE
   STORE 0,00 TO HCORE
   STORE " " TO MSTAT2HC
   STORE " " TO MSTAT2CO
   STORE 0 TO MEXE
   STORE 0 TO MAI
   STORE 0 TO M207
   STORE "                                   " TO MCODES
   STORE 0 TO MCOST
   STORE "      "  TO HSTATION
   STORE 0 TO MINSPECT
   STORE "  " TO MDATE1
   STORE 0 TO HREIN
   STORE "  " TO MDATE2
   STORE "        " TO MDECAL
   STORE 1 TO FLAG1
   STORE 1 TO FLAG2
   STORE 1 TO FLAGS

*#*****### DRAW SCREEN
   B 1,11 SAY "YEAR:"
   8 1,31 SAY "MAKE:"
   & 1,50 SAY "ODOMETER:"
   8 3,12 SAY "VIN:"
   I? 5,5 SAY "BODY STYLE:"
   8 5,41 SAY "FUEL:"
   0 8,14 SAY "FIRST INSPECTION                    REINSPECTION"
   @ 10,16 SAY "HC:"

-------
   8 10,51 SAY "HC:"
   9 11,16 SAY "CO:"
   P 11,51 SAY "CO:"
   9 12,4 SAY "STATUS (HC/CO):"
   9 12,39 SAY "STATUS (HC/CO):"
   9 14,7 SAY "EXEMPT:"
   9 14,29 SAY "WAIVED:"
   9 14,49 SAY "207-B COMPLIANCE:"
   9 16,8 SAY "CODES:"
   8 16,60 SAY "COST:"
   9 18,2 SAY "STATION No,:"
   9 18,27 SAY "INSPECTOR:"
   9 18,52 SAY "DATE: "+SUBSTR(HHNTH,1,2)+V  /"+SUBSTR(HYR,1,2)
   9 20,25 SAY "REINSPECTOR:"
   9 20,52 SAY "DATE: "+SUBSTR2
      ?? CHR(7)
      6 6,0 CLEAR
      B 8,22 SAY "THIS VEHICLE IS NOT PART OF THIS DATA BASE,"
      9 9,30 SAY "GO ON TO THE NEXT FORfl."
      WAIT
      CLEAR
   ENDIF
   9 5,48 GET tIFUEL PICTURE '9\ A'
   READ
   IFflFUEL O "G"
      ?? CHR(7)
      9 6,0 CLEAR
      9 8,22 SAY "THIS VEHICLE IS NOT PART OF THIS DATA BASE,"
      9 9,30 SAY "GO ON TO THE NEXT FORM,"
      WAIT
      CLEAR
      LOOP
   ENDIF
   IF HYEAR>85 ,OR, HYEAR<71 ,OR, BBODY>2
      STORE 1 TO HEXE
   ENDIF
   9 10,21 GET HHC1 PICTURE 'BZ 9999'
   READ
   IF HHCD2000
       STORE 2000 TO MHC1
   ENDIF
   9 11,21 GET HC01 PICTURE 'K 9,99'
   READ
   DO CASE
      CASE HYEAR>80
          IF P1HC1>220

-------
         STORE "F" TO HSTAT1HC
      ENDIF
      IF HCOi>l,2
         STORE "F" TO HSTAT1CO
      ENDIF
   CASE NYEAR=80
      IF HHCD300
         STORE "F" TO HSTAT1HC
      ENDIF
      IF MC01>3,0
         STORE "F" TO RSTAT1CO
      ENDIF
   CASE MYEAR>74
      IF HHCDMO
         STORE "F" TO HSTAT1HC
      ENDIF
      IF HCOm.O
         STORE "F" TO HSTAT1CO
      ENDIF
   CASE HYEAR>71
      IF «HC1>700
         STORE "F" TO PISTAT1HC
      ENDIF
      IF ttC01>7.0
         STORE "F" TO HSTAT1CQ
      ENDIF
ENDCASE
(? 12,21 SAY RSTAT1HC
8 12,22 SAY V"
6 12,23 SAY MSTAT1CO
IF I-STATIHC <> "P" ,OR, fKTATICO <>  "P"
   STORE "P" TO HSTAT2HC
   STORE "P" TO HSTAT2CO
   6 10,W GET RHCRE PICTURE '8Z 9999'
   READ
   IF MHCRE>2000
       STORE 2000 TO WXE
   ENDIF
   9 11,56 GET MCORE PICTURE 'IZ 9.99'
   READ
   DO CASE
      CASE HYEAR>80
         IF HHCRE>220
            STORE "F" TO MSTAT2HC
         ENDIF
         IF PCORE)1,2
            STORE "F" TO HSTAT2CO
         ENDIF
      CASE RYEAR=80
         IF HHCRE>300
            STORE "F" TO HSTAT2HC
         ENDIF
         IF MCORE>3,0
            STORE "F" TO HSTAT2CO
         ENDIF
      CASE HYEAR>74
         IF HHCRE>600
            STORE "F" TO HSTAT2HC
         ENDIF
         IF HCORE>6,0

-------
               STORE "F" TO HSTAT2CO
            ENDIF
         CASE HYEAR>71
            IF lt€RE>700
               STORE "F" TO HSTAT2HC
            ENDIF
            IF RCQRE>7,0
               STORE "F" TO HSTAT2CO
            ENDIF
      ENDCASE
      8 12,56 SAY HSTAT2HC
      8 12,57 SAY "/"
      8 12,56 SAY RSTAT2CO
      9 16,16 GET HCODES PICTURE '9!  A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9'
      9 16,67 GET HCOST PICTURE '5Z 999'
   ENDIF
   IF "00" ,AND, HDATE1<"3211
         STORE 0 TO FLAG1
      ENDIF
      IF MDATE1="99"
         0 18,57 SAY "
         STORE DATEO TO HDATEA
         8 18,58 GET HDATEA
         READ
         STORE DTOC(HDATEA) TO HDATE1
         STORE 0 TO FLAG1
      ENDIF
      8 24,0 CLEAR
   ENDDO
   IF RSTAT1HC <> "P" .OR, MSTAT1CO <>  "P"
      (? 20,39 GET MREIN PICTURE 'BZ 999999999'
      READ

»»«»«»»«**« GET REINSPECTION DATE
      DO WHILE FLAG2=1
         IF LEN(RDATE1)<3
            8 24,12 SAY "To enter dates after Harch 31,1986 press the [F10]  key,
            8 20,61 GET HDATE2 PICTURE  '99'
            READ
            IF nDATE2>"00" ,AND, «DATE2<"32"
               IF HDATE2>=HDATE1
                  STORE 0 TO FLAG2
               ENDIF

-------
               e 24,0 CLEAR
               LOOP
            EHDIF
         ENDIF
         IF HDATE2="99" ,OR, LEN(NDATE1)>2
            STORE 0 TO FLAC2
            0 20,57 SAY "
            STORE DATEO TO HDATEA
            0 20,58 GET HDATEA
            READ
            STORE DTOCdlDATEA) TO RDATE2
         ENDIF
      ENDDO
   ENDIF
   5 22,28 GET riDECAL PICTURE '«! A9999999'
   READ
   IF LEN(HDATE1)=1
      STORE "0"-rtlDATEl TO HDATE1
   ENDIF
   IF LEN(HDATE2>=1
      STORE 110"+HDATE2 TO HDATE2
   ENDIF
   STORE HMNTH+V-'+HDATEl+'V''-^ TO HDATE1
   STORE MHNTH+"/"+l1DATE2+l7"+l1YR TO HDATE2
   DO WHILE SAVE=" "
      6 24,0 CLEAR
      ?? CHR(7)
      B 24,23 SAY "Are the above data correct (Y/N)? "
      0 24,57 GET SAVE PICTURE '!'
      READ
      IF SAVE O "Y" .AND, SAVE <> "N"
         STORE " " TO SAVE
      ENDIF
   ENDDO
   IF SAVE="N"
      STORE " " TO SAVE
   ENDIF
   ENDDO

**»»**»*** STORE DATA TO DATA BASE
   SELECT C
   APPEND BLANK
   REPLACE YEAR WITH HYEAR,HAKE WITH flHAKE,ODO«ETER WITH HMILES,VIN UITH HVIN,BODY UITH MBQDY
   REPLACE HC FIRST UITH flHCl,CO FIRST WITH HC01,STATUS1HC WITH HSTAT1HC,STATUS1CO WITH HSTAT1CO
   REPLACE HC RE UITH flHCRE,CO RE UITH HCORE,STATUS2HC UITH PISTAT2HC,STATUS2CO UITH HSTAT2CO
   REPLACE EXEMPT UITH HEXE,UAIVED WITH HUAI,C 207B UITH M207,CODES UITH «CODES,COST UITH HCOST
   REPLACE STATION 1 UITH HSTATION,INSPECT 1 UITH HINSPECT,DATE 1 UITH CTOD(HDATEl)
   IF HSTAT1HC <> "P" .OR, I-ETAT1CO <> "P"~
      REPLACE REINSPECT UITH HREIN,RE DATE UITH CTOD(HDATE2)
   ENDIF
   REPLACE DECAL UITH MDECAL

»*«*»»«***RESET ERROR CHECKING COUNTER
   STORE 1 TO COUNT

«*****»# RETURN TO HAIN DATA BASE TO CONTINUE DATA ENTRY
 ENDDO
*EOF

-------
*» CORRECT.PRG
**«*# DISPLAYS ALL VALUES OF HAKE, STATION AND YEAR
*#*** GIVES USERS EXAMPLE OF COMMAND TO CORRECT ERRORS

«* SET UP COMPUTER
CLEAR ALL
SET BELL OFF
SET CONFIRM OFF
SET DELETED ON
SET ECHO OFF
SET ESCAPE ON
SET EXACT ON
SET INTENSITY ON
SET SAFETY OFF
SET TALK OFF
SET UNIQUE ON
CLEA
SELE A
USE MISSOURI

CLEA
SET COLO TO W*+,B
8 10,20 SAY "PLEASE WAIT WHILE I INDEX THE DATA BASE,"
SET COLO TO W
IF ,HOT, FILE<"INAKE,NDX")
   INDE ON HAKE TO MAKE
ELSE
   SET INDE TO IHAKE
   REIN
ENDI
SET INDE TO IHAKE
SET DEVI TO PRIN

8 2,15 SAY "INSTRUCTIONS FOR MAKING CORRECTIONS TO THE DATA BASE"
8 5,12 SAY "This program provides users with a list of all the vehi"
8 5,67 SAY "cle wakes"
8 6,7 SAY "in the Missouri data base, including nisspellings.  Use"
8 6,62 SAY "rs can then"
8 7,7 SAY "use the dBASE III 'Replace' command to correct the niss"
87,62 SAY "pel led"
8 8,7 SAY "vehicle makes,  Examples of how to use the 'replace' co"
8 8,62 SAY "fflmand are"
8 9,7 SAY "given below:"
8 12,11 SAY "1, To correct one misspelling at a time use the command"
8 12,67 SAY "-"
8 14,12 SAY "REPLACE ALL MAKE WITH '(correct spelling)' FOR HAKE ="
8 15,15 SAY "'(incorrect spelling)"1
8 17,12 SAY "Note: You Bust use the quotation Barks; however the '('"
8 17,68 SAY "and"
8 16,18 SAY "the ')' nust NOT be used,"
8 20,12 SAY "EXAMPLE: REPLACE ALL MAKE WITH 'FORD' FOR MAKE --  'FODR'"
8 23,11 SAY "2, To correct several nisspellings of the saae sake at"
8 23,66 SAY "the sarae"
8 24,14 SAY "time use the command -"
8 26,12 SAY "REPLACE ALL MAKE WITH '(correct spelling)' FOR MAKE =  '"
8 26,67 SAY "(first"
8 27,16 SAY "incorrect spelling)' ,AND, MAKE = '(second incorrect"
8 28,16 SAY "spelling)'  .AND, MAKE =  ,,,,"
0 31,13 SAY "EXAMPLE: REPLACE ALL MAKE WITH 'FORD' FOR MAKE =  'FODR'"
8 31,69 SAY ".AND,"

-------
0 32,17 SAY "HAKE = 'FROD'  ,AND, HAKE = 'FOSD'"
8 35,7 SAY "These commands mist be issued from the dBASE III dot  (,"
(J 35,62 SAY ") prompt,"
8 36,7 SAY "First exit this progras.  Then to avoid confusion,  and"
8 36,62 SAY "prepare"
8 37,7 SAY "dBASE III enter the following conmands:"
8 39,25 SAY ".CLEAR ALL"
8 40,25 SAY ",USE MISSOURI"
8 42,7 SAY "You are now ready to sake the appropriate corrections t"
9 42,62 SAY "o the data"
8 43,7 SAY "base.  Other corrections and changes can be Bade with d"
8 43,62 SAY "BASE III"
8 44,7 SAY "conBiands, e.g. EDIT and BROWSE,  Users should refer to"
8 44,62 SAY "the dBASE"
8 45,7 SAY "III manual for a full discussion of  these commands."
STOR 70 TO LINE
DOWHIL .NOT. EOFO
   IF LINE>60
      EJEC
      8 PROW),15 SAY "LISTING OF ALL THE HAKES  IN THE MISSOURI DATA  BASE"
      § PROWO+2,21 SAY "Note: Most of the Bakes listed appear"
      8 PROU()+1,24 SAY "in the data base raore than once."
      8 PROUO+2,1 SAY " "
      STOR 12 TO LINE
   ENDI
   STOR 0 TO X
   IF RECNOOH
      SKIP
   ENDI
   8 PRO«()+l,X*12+8 SAY MAKE
   DO WHIL X<5
      SKIP
      IF EOFO
         STOR 6 TO X
         LOOP
      ENDI
      STOR X+l TO X
      8 PROH(),X*12+8 SAY MAKE
   ENDD
   STOR LINE+1 TO LINE
ENDD
SET DEVI TO SCREEN
EJEC
#*# EOF

-------
*#»* SUHflftRY2,PRG

»**«*** SET IF COMPUTER
CLEAR ALL
SET BELL OFF
SET CONFIRfl ON
SET DELETED ON
SET ECHO OFF
SET ESCAPE ON
SET FUNCTION 10 TO 'QUIT;'
SET INTENSITY ON
SET SAFETY OFF
SET TALK OFF
SET FUNCTION 10 TO 'W

****» ALLOW USERS TO SELECT INSPECTION STATION
SELE A
USE MISSOURI
GOBQTT
STOR RECNQO TO NUN
GO TOP
CLEA
IF .HOT, FILEC'INSPECT.NDX")
»  !QX &DATAB INSPECT 1 INSPECT
ENDI

#«***** PREPARE DATA BASE
SELEC
USE STATIONS
ZAP
SELE A
CLEA
SET COLO TO HH,B
? 10,20 SAY "PLEASE WAIT WHILE I INDEX THE DATA BASE,1
SET COLO TO U
IF ,NOT, FILEC'ISTATION.NDX")
   INDE ON STATION 1 TO ISTATION
ELSE
   SET INDE TO ISTATION
   REIN
ENDI

SET INDE TO ISTATION
STOR 0 TO COUNT
GO TOP
CLEA
**** MAIN PROGRAM

**** CALCULATE TOTALS BY HAKE

STOR 71 TO MEYEAR
STOR 98 TO HSYEAR
STOR 0 TO TOTAL!
STOR 0 TO PASS1
STOR 0 TO HVAL1
STOR 0 TO HSQ1
STOR 0 TO HHAX1
STOR 2000 TO HHIH1
STOR 0,00 TO CVAL1
STOR 0,00 TO CSQ1

-------
STOR 0,00 TO CHAX1
STOR 9.99 TO CUM
STOR 0 TO HFAIL1
STOR 0 TO CFAIL1
STOR 0 TO BFAIL1
STOR 0 TO HRFAIL1
STOR 0 TO CRFAIL1
STOR 0 TO BRFAIL1
STOR 0 TO HEXMPT1
STOR 0 TO HWAVED1
STOR 0 TO MCMPLIl
STOR 0 TO HRVAL1
STOR 0 TO HRSQ1
STOR 0 TO HRHAX1
STOR 2000 TO HRHIN1
STOR 0,00 TO CRVAL1
STOR 0,00 TO CRSQ1
STOR 0.00 TO CRHAX1
STOR 9,99 TO CRMIN1
STOR 0 TO REINS!
STOR 0 TO TOTAL2
STOR 0 TO PASS2
STOR 0 TO HVAL2
STOR 0 TO HSQ2
STOR 0 TO HPIAX2
STOR 2000 TO HHIN2
STOR 0,00 TO CVAL2
STOR 0.00 TO CSQ2
STOR 0.00 TO CflAX2
STOR 9,99 TO CP1IN2
STOR 0 TO HFAIL2
STOR 0 TO CFAIL2
STOR 0 TO BFAIL2
STOR 0 TO HRFAIL2
STOR 0 TO CRFAIL2
STOR 0 TO BRFAIL2
STOR 0 TO HEXI1PT2
STOR 0 TO PIWAVED2
STOR 0 TO MCHPLI2
STOR 0 TO HRVAL2
STOR 0 TO HRSQ2
STOR 0 TO HRHAX2
STOR 2000 TO HRHIN2
STOR 0,00 TO CRVAL2
STOR 0,00 TO CRSQ2
STOR 0,00 TO CRHAX2
STOR 9.99 TO CRMIN2
STOR 0 TO REINS2
STOR 0 TO TOTAL3
STOR 0 TO PASS3
STOR 0 TO HVAL3
STOR 0 TO HSG3
STOR 0 TO HHAX3
STOR 2000 TO HPIIN3
STOR 0.00 TO CVAL3
STOR 0.00 TO CSQ3
STOR 0.00 TO CRAX3
STOR 9.99 TO CMIH3
STOR 0 TO HFAIL3
STOR 0 TO CFAIL3

-------
STOR 0 TO BFAIL3
STOR 0 TO IRFAIL3
STOR 0 TO CRFAIL3
STOR 0 TO BRFAIL3
STOR 0 TO HEXNPT3
STOR 0 TO HWAVED3
STOR 0 TO WCHPLI3
STOR 0 TO HRVAL3
STOROTOHRSQ3
STOR 0 TO HRMAX3
STOR 2000 TO HRNIN3
STOR 0,00 TO CRVAL3
STOR 0,00 TO CRSQ3
STOR 0.00 TO CRHAX3
STOR 9,99 TO CRRIN3
STOR 0 TO REINS3
STOR 0 TO TOTAL4
STOR 0 TO PASS4
STOR 0 TO HVAL4
STOR 0 TO HSQ4
STOR 0 TO HMAX4
STOR 2000 TO HHIN4
STOR 0,00 TO CVAL4
STOR 0.00 TO CSQ4
STOR 0,00 TO CRAX4
STOR 9,99 TO CHIN4
STOR 0 TO HFAIL4
STOR 0 TO CFAIL4
STOR 0 TO BFAIL4
STOR 0 TO HRFAIL4
STOR 0 TO CRFAIL4
STOR 0 TO BRFAIL4
STOR 0 TO HEXMPT4
STOR 0 TO WWAVED4
STOR 0 TO RCHPLI4
STOR 0 TO HRVAL4
STOR 0 TO HRSQ4
STOR 0 TO HRHAX4
STOR 2000 TO HRHIN4
STOR 0,00 TO CROAL4
STOR 0,00 TO CRSQ4
STOR 0,00 TO CRftAX4
STOR 9,99 TO CRHIN4
STOR 0 TO REINS4
STOR 0 TO ZTOTAL
STOR 0 TO ZREINS
STOR 0 TO ZFAIL
STOR 0 TO ZRFAIL
9 5,10 SAY "Processing record          of
P 5,40 SAY NUH
??  ","
DO  \A\ll  ,NQT, EOFO
      STOR COUNT+1 TO COUNT
      I?  5,28 SAY COUNT PICT  '9999999'
      IF YEARMEYEAR
         STOR YEAR TO HEYEAR
      ENDI
      IF YEAR(MSYEAR
         STOR YEAR TO ffiYEAR
      ENDI

-------
DO CASE
   CASE YEAR<75
     STOR TOTAL1+1 TO TOTAL1
     IF EXEMPT'!
        STOR HEXHPT1+1 TO HEXHPT1
     ELSE
        STOR HC FIRST+HVAL1 TO HVAL1
        STOR HC FIRST2tHSQl TO HSQ1
        STOR CO'FIRST+CVALI TO CVALI
        STOR CO FIRST2+CSQ1 TO CSQ1
        IF HC FIRSKHMINl
           STOR HC.FIRST TO HHIN1
        ENDI
        IF HC FIRST>HHAX1
           STOR HC FIRST TO HNAX1
        ENDI
        IF CO FIRST0 ,OR, CO RE>0
           STOR HRVAL1+HC RE TO HFWAL1
           STOR HC REA2+HRSQ1 TO HRSQ1
           STOR CRVAL1+CO.RE TO CRVAL1
           STOR CO REA2+CRS01 TO CRSQ1
           STOR REINS1+1 TO REIHS1
           IF STATUS2HC="F" .AND, STATUS2CQ="P"
              STOR HRFAIL1+1 TO HRFAIL1
           ENDI
           IF STATUS2CO="F" .AND, STATUS2HC="P"
              STOR CRFAIL1+1 TO CRFAIL1
           ENDI
           IF STATUS2HC="F" .AND, STATUS2CO="F"
              STOR BRFAIL1+1 TO
           ENDI
           IF HC RECRRAX1
              STOR CO RE TO CRHAX1
           ENDI
        ENDI

-------
     IF UAIUED=1
        STOR IWAVEDl+l TO MUAVED1
     ENDI
     IF C 207B=1
        STOR HdlPLIl+1 TO MCHPLI1
     ENDI
  ENDI
CASE YEAR>74 .AND. YEAR<60
   STOR TOTAL2+1 TO TOTAL2
   IF EXEMPTS
      STOR HEXHPT2+1 TO HEXHPT2
   ELSE
      STOR HC FIRST+HVAL2 TO HVAL2
      STOR HC~FIRSTA2+HSQ2 TO HSQ2
      STOR CO FIRST+CVAL2 TO CVAL2
      STOR CO FIRSTA2+CSQ2 TO CSQ2
      IF HC FIRSTHflAX2
         STOR HC FIRST TO HMAX2
      ENDI
      IF CO FIRSTCHAX2
         STOR CO FIRST TO CHAX2
      ENDI
      DO CASE
         CASE STATUS1HC="F" .AND, STATUS1CO="P"
            STOR HFAIL2+1 TO HFAIL2
         CASE STATUS1CO="F" ,AND, STATUS1HC="P"
            STOR CFAIL2+1 TO CFAIL2
         CASE STATUSlttC="F" .AND, STATUS1CO="F"
            STOR BFAIL2+1 TO BFAIL2
         CASE STATUS1HC="P" ,AND, STATUS1CO="P"
            STOR PASS2+1 TO PASS2
      ENDC
      IF HC RE>0 ,OR. CO_RE>0
         STOR HRVAL2+HC RE TO HRVAL2
         STOR HC RE"2+HRSQ2 TO HRSQ2
         STOR CRVAL2+CO RE TO CRVAL2
         STOR CO_RE*2+CRSQ2 TO CRSQ2
         STOR REINS2+1 TO REINS2
         IF STATUS2HC="F" .AND. STATOS2CO="P"
            STOR HRFAIL2+1 TO HRFAIL2
         ENDI
         IF STATUS2CO="F" .AND. STATUS2HC="P"
            STOR CRFAIL2+1 TO CRFAIL2
         ENDI
         IF STATUS2HC="F" .AND. STATUS2CO="F"
            STOR BRFAIL2+1 TO BRFAIL2
         ENDI
         IF HC REHRRAX2
            STOR HC RE TO HRNAX2
         ENDI
         IF CO RE
-------
            STOR CO RE TO CRHIN2
         ENDI
         IF CO RE>CRflAX2
            STOR CO RE TO CRNAX2
         ENDI
      ENDI
      IF HAIVED--1
         STOR HHAVED2+1 TO HUAVED2
      ENDI
      IF C 207B=1
         STOR HOPLI2+1 TO MCI1PLI2
      ENDI
   ENDI
CASE YEAR=fiO
   STOR TOTAL3+1 TO TOTAL3
   IF EXEMPTS
      STOR IOPT3+1 TO HEXHPT3
   ELSE
      STOR HC FIRST+HVAL3 TO HVAL3
      STOR HC FIRSTA2+HSQ3 TO HSG3
      STOR CO FIRST+CVAL3 TO CVAL3
      STOR CO~FIRSTA2+CSQ3 TO CSQ3
      IF HC FIRSKHHIN3
         STOR HC FIRST TO HMIN3
      ENDI
      IF HC FIRST>HHAX3
         STOR HC FIRST TO HFIAX3
      ENDI
      IF CO FIRSTCHAX3
         STOR CO FIRST TO CHAX3
      ENDI
      DO CASE
         CASE STATUS1HC=11F" ,AHD. STATUS1CO="P"
            STOR HFAIL3+1 TO HFAIL3
         CASE STATUS1CO="F" ,AND, STATUS1HC="P"
            STOR CFAIL3+1 TO CFAIL3
         CASE STATUS1HC="F" ,AND, STATUS1CO="F"
            STOR BFAIL3+1 TO BFAIL3
         CASE STATUS1HC="P" .AND. STATI^iCO="P"
            STOR PASS3+1 TO PASS3
      ENDC
      IF HC_RE>0 .OR. CO REX)
         STOR HRVAL3+HC RE TO HRWL3
         STOR HC RE*2+HRSQ3 TO HRSQ3
         STOR CRVAL3+CO RE TO CRVAL3
         STOR CO REA2+CRSQ3 TO CRSQ3
         STOR REINS3+1 TO REINS3
         IF STATUS2HC="F" .AND. STATUS2CO="P"
            STOR HRFAIL3+1 TO HRFAIL3
         ENDI
         IF STATUS2CO="F" .AND. STATUS2HC="P"
            STOR CRFAIL3+1 TO CRFAIL3
         ENDI
         IF STATUS2HC="F" .AND. STATUS2CO="F"
            STOR BRFAIL3+1 TO BRFAIL3
         ENDI
         IF HC RE
-------
             STOR HC RE TO HRHIN3
          ENDI
          IF HC RE>HRHAX3
             STOR HC RE TO HRHAX3
          ENDI
          IF CO RECRHAX3
             STOR CO RE TO CRJ1AX3
          ENDI
       ENDI
       IF WAIVED=1
          STOR HUAVED3+1 TO HWAVED3
       ENDI
       IF C 207B=1
          STOR HCHPLI3+1 TO HCHPLI3
       ENDI
    ENDI
CASE YEAR>80
   STOR TOTAL4+1 TO TOTAL4
   IF EXEMPTS
      STOR PEXPPT4+1 TO HEXHPT4
   ELSE
      STOR HC FIRST+HVAL4 TO HVAL4
      STOR HC~FIRSTA2+HSQ4 TO HSQ4
      STOR CO FIRST+CVAL4 TO CVAL4
      STOR CO~FIRSTA2+CSQ4 TO CSQ4
      IF HC FIRSTHHAX4
         STOR HC FIRST TO HHAX4
      ENDI
      IF CO FIRSTCHAX4
         STOR CO FIRST TO CHAX4
      ENDI
      DO CASE
         CASE STATUS1HC="F" ,AND, STATUS1CO="P"
            STOR HFAIL4+1 TO HFAIL4
         CASE STATUS1CO="F" .AND, STATUS1HC="P"
            STOR CFAIL4+1 TO CFAIL4
         CASE STATUS1HC="F" ,AND, STATUS1CO="F"
            STOR BFAIL4+1 TO BFAIL4
         CASE STATUS1HC="P" .AND. STATUS1CO="P"
            STOR PASS4+1 TO PASS4
      ENDC
      IF HC REX) .OR. CO RE>0
         STOR HRVAL4+HC.RE TO HRVAL4
         STOR HC_RE*2+HRSQ4 TO KRSQ4
         STOR CRVAL4+CO RE TO CRVAL4
         STOR CO REA2+CRSQ4 TO CRSQ4
         STOR REINS4+1 TO REINS4
         IF STATUS2HC="F" .AND, STATUS2CO="P"
            STOR HRFAIL4+1 TO HRFAIL4
         ENDI
         IF STATUS2CO="F" .AND. STATUS2HC="P"

-------
                    STOR CRFAIL4+1 TO CRFAIL4
                 ENDI
                 IF STATUS2HC="F" .AND.  STATUS2CO="F"
                    STOR BRFAIL4+1 TO BRFAIL4
                 mi
                 IF HC REHRHAX4
                    STOR HC RE TO HRHAX4
                 ENDI
                 IF CO RECRPIAX4
                    STOR CO RE TO CRWAX4
                 ENDI
              ENDI
              IF WAIVED=1
                 STOR HWAVED4+1 TO IWAVED4
              ENDI
              IF C 207B=1
                 STOR HCHPLI4+1 TO HCRPLI4
              ENDI
           ENDI
      ENDC
*****CALCULATE HAKE TOTALS
      STOR ZTOTAL+1 TO ZTOTAL
      IF STATUS1HC="F" .OR. STATUS1CO="F"
         STOR ZFAIL+1 TO ZFAIL
      ENDI
      IF HC REX) .OR, CO RE>0
          STOR ZREINS+1 TO ZREINS
      ENDI
      IF STATUS2HC="F" .OR. STATUS2CO="F"
          STOR ZRFAIL+i TO ZRFAIL
      ENDI
IHHHHHW GO TO NEXT RECORD
      SKIP
ENDD
CLEA
STOR HFAIL1+HFAIL2+HFAIL3+HFAIL4 TO HFAILT
STOR CFAIL1+CFAIL2+CFAIL3+CFAIL4 TO CFAILT
STOR BFAIL1+BFAIL2+BFAIL3+BFAIL4 TO BFAILT
STOR REINS1+REINS2+REINS3+REINS4 TO REINST
5 10/24 SAY "Hake sure your printer is ready,"
UAIT "                        Press"any key to continue,"
CLEA
STOR 1 TO PAGE
SET COLO TO W*+,B
B 10,3* SAY "PRINTING"
SET COLO TO U
SET DEVI TO PRIN
0 1,26 SAY "FAILURE RATE SURWARY REPORT"
0 3,6 SAY DATEO
6 3,64 SAY "Page"
8 3,69 SAY PAGE PICT '99'
(5 5,6 SAY "This report summarizes data for vehicle mode) years 19"
8 5,60 SAY MSYEAR PICT '99'
0 5,63 SAY "through 19"

-------
9 5,73 SAY MEYEAR PICT  '99'
8 5,75 SAY "."
STOR "There were "+STR(HFAILT+BFAILT+CFAILT-REINST)+" vehicle(5) that failed" TO HI
9 6,40-LEN(NI)/2 SAY HI
9 7,7 SAY "at least one of the initial inspections but were not reinspected."
9 9,28 SAY "***** General Sumrary *#***"
STOR "====="===============================================rr=====i=rSS=======" JO TOP
STOR "	" TO BOT
8 10,1 SAY ":==:==="+TOP
9 11,3 SAY "Description"
e 11,20 SAY "Total"
9 11,30 SAY "1971 - 1974"
9 11,43 SAY "1975 - 1979"
9 11,40 SAY "1980"
9 11,71 SAY "1981 +"
9 12,17 SAY "No, Percent  No, Percent  No, Percent  No, Percent  No, Percent"
9 13,1 SAY "	"+BOT
0 14,1 SAY "Emission Tests"
STOR TOTAL1+TOTAL2+TOTAL3+TOTAL4 TO TOTALT
STOR HEXIfTl+nEXirr2+l1EXffi>T3+HEXI1lPT4 TO HEWTT
STOR TOTALT-HEXHPTT TO TESTT
STOR TOTALl-HEXPffTi TO TEST1
STOR TOTAL2-HEXI1PT2 TO TEST2
STOR TOTAL3-HEXHPT3 TO TESTS
STOR TOTAL4-HEXHFT4 TO TEST4
9 14,17 SAY TOTALT PICT '9999'
6 14,30 SAY TOTAL1 PICT '9999'
8 14,43 SAY TOTAL2 PICT '9999'
9 14,56 SAY TOTALS PICT '9999'
8 14,69 SAY TOTAL4 PICT '9999'
9 16,1 SAY "Passing Vehicles"
STOR PASSUPASS2+PASS3+PASS4 TO PASST
9 16,17 SAY PASST PICT  '9999'
IF TESTT=0
   9 16,24 SAY "0,00"
ELSE
   9 16,22 SAY PASST/TESTT*100 PICT '999,99'
ENDI
9 16,30 SAY PASS1 PICT  '9999'
IF TEST1=0
   9 16,37 SAY "0.00"
ELSE
   9 16,35 SAY PASS1/TEST1*100 PICT '999,99'
ENDI
9 16,43 SAY PASS2 PICT  '9999'
IF TEST2=0
   9 16,50 SAY "0,00"
ELSE
   9 16,48 SAY PASS2/TEST2*100 PICT '999,99'
ENDI
9 16,56 SAY PASS3 PICT  '9999'
IF TEST3--0
   9 16,63 SAY "0,00"
ELSE
   9 16,61 SAY PASS3/TEST3*100 PICT '999,99'
ENDI
9 16,69 SAY PASS4 PICT  '9999'
IF TEST4=0
   9 16,76 SAY "0,00"
ELSE

-------
   0 16,74 SAY PASS4/TEST4*100 PICT '999,99'
ENDI
8 18,1 SAY "Initial Inspection"
STOR HFAIL1+HFAIL2+HFAIL3+HFAIL4 TO HFAILT
I 19,4 SAY "Failed HC"
0 19,17 SAY HFAILT PICT '9999'
IF TESTT=0
   0 19,24 SAY "0,00"
ELSE
   0 19,22 SAY HFAILT/TESTMOO PICT '999,99'
ENDI
0 19,30 SAY HFAIL1 PICT '9999'
IF TEST1=0
   0 19,37 SAY "0,00"
ELSE
   0 19,35 SAY HFAIL1/TESTUHOO PICT '999,99'
ENDI
0 19,43 SAY HFAIL2 PICT '9999'
IF TEST2=0
   0 19,50 SAY "0,00"
ELSE
   8 19,48 SAY HFAIL2/TEST2*100 PICT '999,99'
ENDI
8 19,56 SAY HFAIL3 PICT '9999'
IF TEST3=0
   8 19,63 SAY "0.00"
ELSE
   I? 19,61 SAY HFAIL3/TEST3*100 PICT '999,99'
ENDI
I? 19,69 SAY HFAIL4 PICT '9999'
IF TEST4=0
   B 19,76 SAY "0,00"
ELSE
8 19,74 SAY HFAIL4/TEST4*100 PICT '999,99'
ENDI
6 20,4 SAY "Failed CO"
STOR CFAIL1+CFAIL2+CFAIL3+CFAIL4 TO CFAILT
e 20,17 SAY CFAILT PICT '9999'
IF TESTT=0
   6 20,24 SAY "0,00"
ELSE
6 20,22 SAY CFAILT/TESTT«100 PICT '999,99'
ENDI
0 20,30 SAY CFAIL1 PICT '9999'
IF TEST1=0
   B 20,37 SAY "0,00"
ELSE
0 20,35 SAY CFAIL1/TEST1*100 PICT '999,99'
ENDI
0 20,43 SAY CFAIL2 PICT '9999'
IF TEST2=0
   0 20,50 SAY "0,00"
ELSE
0 20,48 SAY CFAIL2/TEST2*100 PICT '999,99'
ENDI
0 20,56 SAY CFAIL3 PICT '9999'
IF TEST3=0
   8 20,63 SAY "0,00"
ELSE
0 20,61 SAY CFAIL3/TEST3*100 PICT '999,99'

-------
ENDI
§ 20,69 SAY CFAIL4 PICT '9999'
IF TEST4=0
   I? 20,76 SAY "0,00"
ELSE
8 20,74 SAY CFAIL4/TEST4«100 PICT '999,99'
8 21,4 SAY "Failed Both"
STOR BFAILUBFAIL2+BFAIL3+BFAIL4 TO BFAILT
(« 21,17 SAY BFAILT PICT '9999'
IF TESTT=0
   9 21,24 SAY "0,00"
ELSE
6 21,22 SAY BFAILT/TESTT*100 PICT '999,99'
ENDI
0 21,30 SAY BFAIL1 PICT '9999'
IF TEST1=0
   P 21,37 SAY "0.00"
ELSE
(? 21,35 SAY BFAIL1/TESTHUOO PICT '999,99'
ENDI
(? 21,43 SAY BFAIL2 PICT '9999'
IF TEST2=0
   P 21,50 SAY "0,00"
ELSE
(? 21,48 SAY BFAIL2/TEST2*100 PICT '999,99'
ENDI
9 21,56 SAY BFAIL3 PICT '9999'
IF TEST3=0
   I? 21,63 SAY "0,00"
ELSE
6 21,61 SAY BFAIL3/TEST3*100 PICT '999,99'
ENDI
8 21,69 SAY BFAIL4 PICT '9999'
IF TEST4=0    •
   8 21,76 SAY "0,00"
ELSE
G 21,74 SAY BFAIL4/TEST4*100 PICT '999,99'
ENDI
822,4 SAY "Overall"
STOR HFAILT+CFAILT+BFAILT TO OFAILT
STOR HFAIL1+CFAIL1+BFAIL1 TO OFAIL1
STOR HFAIL2+CFAIL2+BFAIL2 TO OFAIL2
STOR HFAIL3+CFAIL3+BFAIL3 TO OFAIL3
STOR HFAIL4+CFAIL4+BFAIL4 TO OFAIL4
(? 22,17 SAY OFAILT PICT '9999'
IF TESTT=0
   9 22,24 SAY "0.00"
ELSE
9 22,22 SAY OFAILT/TESTT*100 PICT '999.99'
ENDI
9 22,30 SAY OFAIL1 PICT '9999'
IF TEST1=0
   (5 22,37 SAY "0.00"
ELSE
9 22,35 SAY OFAIL1/TEST1*100 PICT '999,99'
ENDI
6 22,43 SAY OFAIL2 PICT '9999'
IF TEST2=0
   9 22,50 SAY "0,00"

-------
ELSE
0 22,48 SAY OFAIL2/TEST2*100 PICT '999,99'
ENDI
I? 22,56 SAY OFAIL3 PICT '9999'
IF TEST3=0
   0 22,63 SAY "0,00"
ELSE
0 22,61 SAY OFAIL3/TEST3*100 PICT '999,99'
ENDI
0 22,69 SAY OFAIL4 PICT '9999'
IF TEST4=0
   I? 22,76 SAY "0,00"
ELSE
6 22,74 SAY OFAIL4/TEST4*100 PICT '999,99'
ENDI
STOR WFAIL1+HRFAIL2+HRFAIL3+HRFAIL4 TO HRFAILT
STOR REINS1+REINS2+REINS3+REINS4 TO REINST
0 24,1 SAY "Reinspections"
9 25,4 SAY "Failed HC"
0 25,17 SAY HRFAILT PICT '9999'
IF REINST=0
   0 25,24 SAY "0,00"
ELSE
0 25,22 SAY HRFAILT/REINST*100 PICT '999,99'
EHDI
0 25,30 SAY HRFAIL1 PICT '9999'
IF REINS1=0
   0 25,37 SAY "0,00"
ELSE
0 25,35 SAY HRFAIL1/REINS1*100 PICT '999,99'
ENDI
0 25,43 SAY HRFAIL2 PICT '9999'
IF REINS2=0
   0 25,50 SAY "0,00"
ELSE
0 25,48 SAY tf*FAIL2/REINS2*100 PICT '999,99'
ENDI
0 25,56 SAY HRFAIL3 PICT '9999'
IF REINS3=0
   0 25,63 SAY "0.00"
ELSE
0 25,61 SAY HRFAIL3/REINS3*100 PICT '999,99'
ENDI
0 25,69 SAY HRFAIL4 PICT '9999'
IF REINS4=0
   0 25,76 SAY "0,00"
ELSE
0 25,74 SAY HRFAIL4/REINS4*100 PICT '999,99'
ENDI
0 26,4 SAY "Failed CO"
STOR CRFAILUCRFAIL2+CRFAIL3+CRFAIL4 TO CRFAILT
0 26,17 SAY CRFAILT PICT '9999'
IF REINST=0
   0 26,24 SAY "0,00"
ELSE
0 26,22 SAY CRFAILT/REINST*100 PICT '999,99'
ENDI
0 26,30 SAY CRFAIL1 PICT '9999'
IF REINS1=0
   0 26,37 SAY "0,00"

-------
ELSE
0 26,35 SAY CRFAIL1/REIHS1*100 PICT '999,99'
ENDI
e 26,43 SAY CRFAIL2 PICT '9999'
IF REINS2=0
   B 26,50 SAY "0,00"
ELSE
@ 26,48 SAY CRFAIL2/REINS2*100 PICT '999,99'
ENDI
8 26,56 SAY CRFAIL3 PICT '9999'
IF REINS3=0
   8 26,63 SAY "0,00"
ELSE
8 26,61 SAY CRFAIL3/REINS3*100 PICT '999,99'
ENDI
(» 26,69 SAY CRFAIL4 PICT '9999'
IF REINS4=0
   8 26,76 SAY "0,00"
ELSE
(? 26,74 SAY CRFAIL4/REINS4*100 PICT '999,99'
ENDI
8 27,4 SAY "Failed Both"
STOR BRFAILUBRFAIL2+BRFAIL3+BRFAIL4 TO BRFAILT
(5 27,17 SAY BRFAILT PICT '9999'
IF REINST=0
   5 27,24 SAY "0,00"
ELSE
8 27,22 SAY BRFAILT/TESTT*100 PICT '999,99'
ENDI
(5 27,30 SAY BRFAIL1 PICT '9999'
IF REINS1=0
   I? 27,37 SAY "0,00"
ELSE
8 27,35 SAY BRFAILl/TESTHHOO PICT '999,99'
ENDI
(? 27,43 SAY BRFAIL2 PICT '9999'
IF REINS2=0
   0 27,50 SAY "0,00"
ELSE
8 27,48 SAY BRFAIL2/TEST2*100 PICT '999,99'
ENDI
(? 27,56 SAY BRFAIL3 PICT '9999'
IF REINS3=0
   8 27,63 SAY "0,00"
ELSE
(! 27,61 SAY BRFAIL3/TEST3*100 PICT '999,99'
ENDI
6 27,69 SAY BRFAIL4 PICT '9999'
IF REINS4=0
   8 27,76 SAY "0,00"
ELSE
6 27,74 SAY BRFAIL4/TEST4«100 PICT '999,99'
ENDI
0 28,4 SAY "Overall"
STOR HRFAILT+CRFAILT+BRFAILT TO ORFAILT
STOR HRFAIL1+CRFAIL1+BRFAIL1 TO ORFAIL1
STOR HRFAIL2+CRFAIL2+BRFAIL2 TO ORFAIL2
STOR HRFAIL3+CRFAIL3+BRFAIL3 TO ORFAIL3
STOR HRFAIL4+CRFAIL4+BRFAIL4 TO ORFAIL4
(5 28,17 SAY ORFAILT PICT  '9999'

-------
IF REINST=0
   0 28,24 SAY "0,00"
ELSE
8 28,22 SAY ORFAILT/REINST»100 PICT '999,99'
ENDI
0 26,30 SAY ORFAIL1 PICT '9999'
IF REINS1=0
   0 28,37 SAY "0,00"
ELSE
9 28,35 SAY ORFAIL1/REINS1*100 PICT '999,99'
ENDI
0 28,43 SAY ORFAIL2 PICT '9999'
IF REINS2=0
   § 28,50 SAY "0,00"
ELSE
0 28,48 SAY ORFAIL2/REINS2*100 PICT '999,99'
ENDI
0 28,56 SAY ORFAIL3 PICT '9999'
IF REINS3=0
   0 28,63 SAY "0,00"
ELSE
0 28,61 SAY ORFAIL3/REINS3*100 PICT '999,99'
ENDI
0 28,69 SAY ORFAIL4 PICT '9999'
IF REINS4=0
   9 28,76 SAY "0,00"
ELSE
0 28,74 SAY ORFAIL4/REINS4»1QO PICT '999,99'
ENDI
0 30,1 SAY "Exempt Vehicles"
STOR HEX«Fri+l1EXI1F112+l1EX11PT3+l1EXW5T4 TO HEXMPTT
0 30,17 SAY HEXHPTT PICT '9999'
IF TOTALT=0
   0 30,24 SAY "0,00"
ELSE
0 30,22 SAY HEXIflTT/TOTALT*iOO PICT '999,99'
ENDI
0 30,30 SAY HEXHPT1 PICT '9999'
IF TOTALING
   9 30,37 SAY "0,00"
ELSE
0 30,35 SAY HEXRPT1/TOTALMOO PICT '999,99'
ENDI
0 30,43 SAY HEXHPT2 PICT '9999'
IF TOTAL2=0
   0 30,50 SAY "0,00"
ELSE
0 30,48 SAY HEXHPT2/TOTAL2«100 PICT '999,99'
ENDI
0 30,56 SAY PIEXHPT3 PICT '9999'
IF TOTAL3=0
   0 30,63 SAY "0,00"
ELSE
0 30,61 SAY HEXHPT3/TOTAL3#100 PICT '999,99'
ENDI
0 30,69 SAY MEXHPT4 PICT '9999'
IF TOTAL4=0
   0 30,76 SAY "0,00"
ELSE
0 30,74 SAY reHPT4/TOTAL4*100 PICT '999,99'

-------
ENDI
8 31,1 SAY "Uaived Vehicles"
STOR «yAVEDUttyAVED2^WAVED3+ttUAUED4 TO HHAVEDT
6 31,17 SAY HHAVEDT PICT '9999'
IF TOTALT=0
   9 31,24 SAY "0,00"
ELSE
9 31,22 SAY HHAVEDT/TOTALT*100 PICT '999,99'
ENDI
8 31,30 SAY CWAVED1 PICT '9999'
IF TOTAL1=0
   8 31,37 SAY "0,00"
ELSE
8 31,35 SAY tWAVEDl/TOTALl*100 PICT '999,99'
ENDI
8 31,43 SAY imO2 PICT '9999'
IF TOTAL2=0
   8 31,50 SAY "0,00"
ELSE
8 31,48 SAY HWAVED2/TOTAL2*100 PICT '999,99'
ENDI
8 31,56 SAY HWAVED3 PICT '9999'
IF TOTAL3=0
   8 31,63 SAY "0,00"
ELSE
8 31,61 SAY HWAVED3/TOTAL3*100 PICT '999,99'
ENDI
8 31,69 SAY HUAVED4 PICT '9999'
IF TOTAL4=0
   9 31,76 SAY "0,00"
ELSE
8 31,74 SAY I-WAVED4/TOTAL4*100 PICT '999,99'
ENDI
8 32,1 SAY "Coaply w/207-B"
STOR IWLIUI1CflPLI2+l1CI1FlI3^l'IPLI4 TO HCHPLIT
8 32,17 SAY HCHPLIT PICT '9999'
IF TOTALT=0
   9 32,24 SAY "0,00"
ELSE
8 32,22 SAY HCMPLIT/TOTALT*100 PICT '999,99'
ENDI
8 32,30 SAY ICHPLI1 PICT '9999'
IF TOTALl'O
   9 32,37 SAY "0.00"
ELSE
8 32,35 SAY PD1PLI1/TOTALHHOO PICT '999,99'
ENDI
8 32,43 SAY HCMPLI2 PICT '9999'
IF TOTAL2=0
   8 32,50 SAY "0.00"
ELSE
8 32,48 SAY «CMPLI2/TOTAL2*100 PICT '999,99'
ENDI
8 32,56 SAY MCMPLI3 PICT '9999'
IF TOTAL3=0
   8 32,63 SAY "0,00"
ELSE
8 32,61 SAY IWLI3/TOTAL3*100 PICT '999,99'
ENDI
8 32,69 SAY HCHPLI4 PICT '9999'

-------
IF TOTAL4=0
   8 32,76 SAY "0,00"
ELSE
(? 32,74 SAY HC«PLI4/TOTAL4*100 PICT '999,99'
ENDI
STOR PAGE+1 TO PAGE
8 34,1 SAY "Initial Inspection"
****#*»«****« INITIAL INSPECTION HC
5 36,4 SAY "HC Reading"
STOR HVALUHVAL2+HVAL3+HVAL4 TO HVALT
STOR 2000 TO HMINT
IF WINKHMINT
   STOR HUM TO HUM
ENDI
IF HHIN2HI1AXT
   STOR HMAX2 TO HMAXT
ENDI
IF HMAX3)HMAXT
   STOR HMAX3 TO HMAXT
ENDI
IF HHAX4>HMAXT
   STOR HMAX4 TO HMAXT
ENDI
IF HMINT=2000
   STOR 0,00 TO HMINT
ENDI
IF HMM=200Q
   STOR 0,00 TO HUM
ENDI
IF HHIN2=2000
   STOR 0,00 TO HMIN2
ENDI
IF HMIN3=2000
   STOR 0,00 TO HMIN3
ENDI
IF HMIN4=2000
   STOR 0,00 TO HMIN4
ENDI
STOR 9,99 TO CMINT
IF CniNKCMINT
   STOR CP1IN1 TO CMINT
ENDI
IF CMIN2
-------
ENDI
IF CHIN4CKAXT
   STOR 01AX2 TO CHAXT
ENDI
IF CHAX3>CHAXT
   STOR CHAX3 TO CRAXT
ENDI
IF CmX4>CPiAXT
   STOR CHAX4 TO CflAXT
ENDI
6 37,8 SAY "Mean"
IF TOTALT'O
   5 37,24 SAY "0"
ELSE
8 37,21 SAY HVALT/TOTALT PICT '9999'
ENDI
IF TOTAL1=0
   6 37,37 SAY "0"
ELSE
8 37,34 SAY WAL1/TOTAL1 PICT '9999'
ENDI
IF TOTAL2=0
   6 37,24 SAY "0"
ELSE
9 37,47 SAY HVAL2/TOTAL2 PICT '9999'
ENDI
IF TOTAL3=0
   6 37,63 SAY "0"
ELSE
6 37,60 SAY WAL3/TOTAL3 PICT '9999'
ENDI
IF TOTAL4=0
   8 37,76 SAY "0"
ELSE
9 37,73 SAY HVAL4/TOTAL4 PICT '9999'
ENDI
8 38,8 SAY "Hin"
8 38,21 SAY HHINT PICT  '9999'

-------
0 38,34 SAY HUM PICT '9999'
6 38,47 SAY HMIN2 PICT '9999'
0 38,60 SAY HHIN3 PICT '9999'
8 38,73 SAY HHIN4 PICT '9999'
0 39,8 SAY "Rax"
8 39,21 SAY WAXT PICT '9999'
Cl 39,34 SAY HHAX1 PICT '9999'
8 39,47 SAY HHAX2 PICT '9999'
0 39,60 SAY HHAX3 PICT '9999'
8 39,73 SAY HHAX4 PICT '9999'
STOR HSQ1+HSQ2+HSQ3+HSQ4 TO HSQT
STOR HVAL1+HVAL2+WAL3+HVAL4 TO HVALT
IF TOTALT<2
   STOR 0 TO HSTDT
ELSE
   STOR ((TOTALT*HSQT-HVALTA2)/(TOTALT#(TOTALT-1)))A0,5 TO HSTDT
ENDI
IF TOTALK2
   STOR 0 TO HSTD1
ELSE
   STOR ((TOTAL1«HSQ1-HVAL1A2)/(TOTAL1»(TOTAL1-1)))A0,5 TO HSTD1
EHDI
IF TOTAL2<2
   STOR 0 TO HSTD2
ELSE
   STOR ((TOTAL2«HSQ2-HVAL2A2)/(TOTAL2«(TOTAL2-1)))A0.5 TO HSTD2
ENDI
IF TOTAL3<2
   SIOR 0 TO HSTD3
ELSE
   STOR ((TOTAL3*HSQ3-HVAL3A2)/(TOTAL3«(TOTAL3-1)))A0.5 TO HSTD3
ENDI
IF TOTAL4(2
   STOR 0 TO HSTD4
ELSE
   STOR ((TOTAL4«HSQ4-HVAL4A2)/(TOTAL4*(TOTAL4-1)))A0,5 TO HSTD4
ENDI
0 40,8 SAY "Std, Dev,"
(? 40,21 SAY HSTDT PICT '9979'
0 40,34 SAY HSTD1 PICT '9999'
8 40,47 SAY HSTD2 PICT '9999'
0 40,60 SAY HSTD3 PICT '9999'
0 40,73 SAY HSTD4 PICT '9999'
«*»*«***#**#*** IHITIAL INSPECTION CO
6 42,4 SAY "CO Reading"
STOR CVAL1+CVAL2+CVAL3+CVAL4 TO CVALT
8 43,8 SAY "Mean"
IF TOTALT=0
   0 43,21 SAY "0,00"
ELSE
@ 43,21 SAY CVALT/TOTALT PICT '9,99'
ENDI
IF TOTAL1=0
   6 43,34 SAY "0,00"
ELSE
0 43,34 SAY CVAL1/TOTAL1 PICT '9.99'
ENDI
IF TOTAL2=0
   6 43,47 SAY "0,00"
ELSE

-------
8 43,47 SAY CVAL2/TOTAL2 PICT '9.99'
ENDI
IF TOTAL3=0
   8 43,60 SAY "0,00"
ELSE
8 43,60 SAY CVAL3/TOTAL3 PICT '9,99'
ENDI
IF TOTAL4=0
   8 43,73 SAY "0.00"
ELSE
§ 43,73 SAY CVAL4/TOTAL4 PICT '9,99'
ENDI
0 44,8 SAY "Ilin"
8 44,21 SAY CHINT PICT '9,99'
0 44,34 SAY CUM PICT '9,99'
8 44,47 SAY CHIH2 PICT '9,99'
8 44,60 SAY CHIN3 PICT '9,99'
8 44,73 SAY CHIN4 PICT '9,99'
8 45,8 SAY "Max"
8 45,21 SAY CHAXT PICT '9,99'
8 45,34 SAY CHAX1 PICT '9,99'
8 45,47 SAY CMAX2 PICT '9,99'
0 45,60 SAY CRAX3 PICT '9,99'
8 45,73 SAY CHAX4 PICT '9,99'
STQR CSQ1+CSQ2+CSQ3+CSQ4 TO CSQT
STOR CVAL1+CVAL2+CVAL3+CVAL4 TO CVALT
IF TOTALT<2
   STOR 0,00 TO CSTDT
ELSE
STOR ((TOTALT«CSQT-CVALTA2)/(TOTALT*(TOTALT-1)))A0,5 TO CSTDT
ENDI
IF TOTALK2
   STOR 0,00 TO CSTD1
ELSE
STOR ((TOTALl«CSQl-CVALr2)/(TOTALl*(TOTALl-l)))A0,5 TO CSTD1
ENDI
IF TOTAL2<2
   STOR 0,00 TO CSTD2
ELSE
STOR ((TOTAL2*CSQ2-CVAL2A2)/(TOTAL2«(TOTAL2-1)))A0,5 TO CSTD2
ENDI
IF TOTAL3<2
   STOR 0,00 TO CSTD3
ELSE
STOR ((TOTAL3»CSQ3-CVAL3A2)/
-------
STOR HWAL1+HRVAL2+HRVAL3+HRVAL4 TO HRVALT
STOR 2000 TO HRHINT
IF HRHINKHRHINT
   STOR HRHIN1 TO HRHINT
ENDI
IF HRHIN2HRHAXT
   STOR HRHAX2 TO HRHAXT
ENDI
IF HRHAX3>HRHAXT
   STOR HRMAX3 TO HRHAXT
ENDI
IF HRHAX4>HRHAXT
   STOR HRHAX4 TO HRHAXT
ENDI
STOR 9,99 TO CRHINT
IF CRHINKCRHINT
   STOR CRHINT TO CRHINT
ENDI
IF CRHIN2
-------
EHDI
IF CRHIN2=9»99
   STOR 0,00 TO CRHIN2
ENDI
IF CRHIN3=9,99
   STOR 0,00 TO CRHIN3
ENDI
IF CRNIN4=9,99
   STOR 0,00 TO CRHIN4
EHDI
STOR 0,00 TO CRHAXT
IF CRHAXDCRHAXT
   STOR CRRAXi TO CRHAXT
ENDI
IF CRHAX2>CRHAXT
   STOR CRHAX2 TO CRHAXT
ENDI
IF CRHAX3>CRHAXT
   STOR CRHAX3 TO CRHAXT
ENDI
IF CRHAX4>CRHAXT
   STOR CRHAX4 TO CRHAXT
ENDI
(? 51,8 SAY "Hean"
IF REINST=0
   B 51,24 SAY "0"
ELSE
(? 51,21 SAY HRVALT/REINST PICT '9999'
ENDI
IF REINS1=0
   8 51,37 SAY "0"
ELSE
9 51,34 SAY HRVAL1/REINS1 PICT '9999'
ENDI
IF REINS2=0
   8 51,50 SAY "0"
ELSE

-------
0 53,73 SAY HRHAX4 PICT '9999'
STOR Hi^l+HRS(S+HI*Stl3+HRSQ4 TO HRSQT
STOR rtWALl+HWAL2+HRVAL3+«WAL4 TO HRVALT
IF REINST<2
   STOR 0 TO HRSTDT
ELSE
STOR ((REINST«W?SQT-rtWALTA2)/(REINST*
-------
ELSE
8 57,73 SAY CRVAL4/REINS4 PICT '9,99'
ENDI
0 58,8 SAY "flip"
8 58,21 SAY CRMINT PICT '9,99'
@ 58,34 SAY CRRIN1 PICT '9,99'
8 58,47 SAY CRHIN2 PICT '9,99'
8 58,60 SAY CRPIIN3 PICT '9,99'
8 58,73 SAY CRJ1IN4 PICT '9.99'
8 59,8 SAY "Max"
8 59,21 SAY CRHAXT PICT '9,99'
8 59,34 SAY CRMAX1 PICT '9,99'
8 59,47 SAY CRHAX2 PICT '9,99'
8 59,60 SAY CRMAX3 PICT '9,99'
8 59,73 SAY CRHAX4 PICT '9,99'
STOR CRSQ1+CRSQ2+CRSQ3+CRSQ4 TO CRSBT
STOR CR^1+CI»WI2+CRVAL3+CRVAL4 TO CRVALT
IF REINST<2
   STOR 0,00 TO CRSTDT
ELSE
STOR ((REINST«CRSQT-CRVALTA2)/(REINST*(REINST-1)))A0,5 TO CRSTDT
ENDI
IF REINSK2
   STOR 0,00 TO CRSTD1
ELSE
STOR ((REINS1*CRSQ1-CRVAL1A2)/(REINS1*(REINS1-1)))*0,5 TO CRSTD1
ENDI
IF REINS2<2
   STOR 0,00 TO CRSTD2
ELSE
STOR ((REINS2*CRSQ2-CRVAL2A2)/(REINS2«(REINS2-1)))A0,5 TO CRSTD2
ENDI
IF REINS3(2
   STOR 0,00 TO CRSTD3
ELSE
STOR ((REINS3«CRSQ3-CRVAL3A2)/(REINS3«(REINS3-1)))A0,5 TO CRSTD3
ENDI
IF REINS4<2
   STOR 0,00 TO CRSTD4
ELSE
STOR ((REINS4*CRSQ4-CRVAL4A2)/(REINS4«(REINS4-1)))A0,5 TO CRSTD4
ENDI
0 60,8 SAY "Std, Dev,"
9 60,20 SAY CRSTDT PICT '99,99'
8 60,33 SAY CRSTD1 PICT '99,99'
8 60,46 SAY CRSTD2 PICT '99,99'

-------
STOR 0 TOSUHSQ
DO UHIL .NOT. EOFO
   STOR STATION 1 TO HSTAT
   ? HSTAT
   STOR "S"+HSTAT TO ZSTAT
   STOR 0 TO REINS
   STOR 0 TO TOTAL
   STOR 0 TO PASS
   STOR 0 TO FAIL
   STOR 0 TO RFAIL
   SELE A
   DO WHIL STATION 1=HSTAT
      IF EXEMPTS "
*******  STOR HEXERPT+l TO HEXEHFT
      ELSE
         STOR TOTAL+1 TO TOTAL
         IF STATUS1HC="F" ,OR, STATUSIOK'F"
            STOR FAIL+1 TO FAIL
         ELSE
            STOR PASS+1 TO PASS
         ENDI

         IF HC RE>0 ,OR, CO RE)0
            IF~STATUS2HO"F" .OR. STATUS2CO="F"
               STOR RFAIL+1 TO RFAIL
            ENDI
            STOR REINS+1 TO REINS
         ENDI
         STOR TTOTAL+1 TO TTOTAL
         IF STATUS1HC="F" .OR, STATUS10KF"
            STOR TFAIL+1 TO TFAIL
         ENDI
      ENDI
      SKIP
      IF EOFO
         STOR "XXX" TO STATION 1
      ENDI
   ENDD
   SELE C
   APPE BLAN
   REPL STATION WITH RSTAT
   SAVE TO iZSTAT
   SELE A
   STOR FAIL/TOTAL+SUR TO SUH
   STOR (FAIL/TOTAL)'2+SUMSQ TO SUflSQ
ENDD
STOR ((TTOTAL«SW1SQ-SUI1A2)/(TTOTAL«(TTOTAL-1)))A0.5 TO STDDEV
STOR TFAIL/TTOTAL TO AVG
STOR (TFAIL/TOTAL)»100+200«STDDEV TO UPLIH
STOR (TFAIL/TOTAL)«100-200»STDDEV TO LOLIH
******* CALCULATE FINAL TOTALS - ADD STATION TOTALS
SELE C
GO TOP
CLEA
(? 10,24 SAY "Make sure your printer is ready,"
WAIT "                        Press any key to continue,"
CLEA
SET COLO TO U*+,B
6 10,36 SAY "PRINTING-
SET COLO TO It

-------
SET DEVI TO PRIN
STOR PAGE+1 TO PAGE
STOR 13 TO LINES
DO UHIL ,NQT, EOFO
   IF LINES=13
      8 PROMO,20 SAY "FAILURE RATE REPORT BY INSPECTION STATION"
      9 PROW)+2,6 SAY "The average failure rate is "
      8 PROW),34 SAY TFAIL/nOTAL*100 PICT '99,99'
      8 PROW),39 SAY "X, the standard deviation is"
      8 PROW),68 SAY STDDEV*100 PICT '999,99'
      8 PROW),74 SAY ","
      8 PROW)+2,6 SAY "This report summarizes data for vehicle aodel years 19"
      8 PROW),60 SAY HSYEAR PICT '99'
      8 PROW),63 SAY "through 19"
      8 PROW),73 SAY NEYEAR PICT '99'
      0 PROW),75 SAY ","
      8 PROW)+2,6 SAY DATEO
      8 PROH(),66 SAY "Page"
      ? PROU(),71 SAY PAGE PICT '««'
      0 PROWO+1,4 SAY TOP
      8 PROWO+1,26 SAY "Initial  Inspections"
      8 PROW),57 SAY "Reinspections"
      8 PROUO+1,5 SAY "Insp, Station"
      8 PRQW),23 SAY "Tests  Failures  Percent"
      8 PROW),52 SAY "Tests  Failures  Percent"
      8 PROWO+1,4 SAY EOT
   ENDI
   STOR "S"+STATIQN TO ZSTAT
   REST FROM KSTAT ADDITIVE
   8 PROWO+1,9 SAY SUBSTR(ZSTAT,2,LEN(ZSTAT)-1) PICT '999999'
   IF (FAIL/TOTAL30
      8 PROW(),16SAY "*"
   ENDI
   8 PROW),23 SAY TOTAL PICT '99999'
   9 PROW),32 SAY FAIL PICT '99999'
   8 PROW),41 SAY FAIL/TOTAL*100 PICT '999,9'
   8 PROW),52 SAY REINS PICT '99999'
   8 PROW),61 SAY RFAIL PICT '99999'
   IF REINS=0
      8 PROW0,72 SAY "0,0"
   ELSE
      8 PROW),70 SAY RFAIL/REINS*100 PICT '999,9'
   ENDI
   DELE
   STOR LINES+1 TO LINES
   SKIP
   IFLINES=55  ,OR, EOFO
      8 PROW)+1,4 SAY EOT
      EJEC
      STOR 13 TO LINES
      STOR PAGE+1 TO PAGE
   ENDI
ENDD

PACK
SET DEVI TO SCRE
EJEC
CLEA
RETU
*** EOF

-------
»*** SUMMARY3.PRG

******* SET UP COMPUTER
CLEAR ALL
SET BELL OFF
SET CONFIRM ON
SET DELETED ON
SET ECHO OFF
SET ESCAPE ON
»#*SET EXACT ON
SET FUNCTION 10 TO 'QUIT;'
SET INTENSITY ON
SET SAFETY OFF
SET TALK OFF
SET UNIQUE ON
SET FUNCTION 10 TO '99'

***** ALLOW USERS TO SELECT MODEL YEARS
CLEA
STOR 0 TO ZHSYEAR
STOR 0 TO ZMEYEAR
STOR 0 TO FLAG
8 4,22 SAY "Please select the model year or range"
8 5,21 SAY "of model years that you wish to analyze,"
(? 7,12 SAY "Enter only the last two (2) digits; e,g, enter '66'  for"
§ 7,68 SAY "1986"
(? 11,28 SAY "Starting year:"
8 13,28 SAY "Ending year:"
(? 16,16 SAY "To select only one year, enter it in the starting year;"
8 17,25 SAY "leave the ending year blank,"
DO HHIL FLAG=0
   6 11,44 GET ZMSYEAR PICT '*»'
   I? 13,44 GET ZMEYEAR PICT '«•'
   READ
   IF ZHSYEAR<71 ,OR. ZHSYEAR>86 ,OR, (ZHEYEAROO .AND, ZMEYEAR<71) ,OR,  ZMEYEAR>86  ,OR.  (ZNEYEAR(=ZHSYEAR .AND. ZHEYEAROO)
      ?? CHR(7)
   ELSE
      STOR 1 TO FLAG
   ENDI
ENDD

IF .HOT. FILE("IMAKE,NDX")
*   !QX MISSOURI MAKE IHAKE
ENDI
IF .NOT, FILEC'ISTATION.NDX")
 *  !QX MISSOURI STATION 1 ISTATION
ENDI

******* PREPARE DATA BASE
SELE C
USE STATIONS
ZAP
SELE B
USE MAKES
ZAP
SELE A
USE MISSOURI


CLEA

-------
SET COLO TO W«+,B
8 10,20 SAY "PLEASE WAIT WILE  I INDEX THE DATA BASE,"
SET COLO TO H
IF ,NDT. FILEC'IHAKE.NDX")
   INDE ON HAKE TO MAKE
ELSE
   SET INDE TO IHAKE
   REIN
ENDI
IF ,NOT, FILEC'ISTATION.NDX")
   INDE ON STATION 1 TO ISTATION
ELSE
   SET INDE TO ISTATION
   REIN
ENDI

SET INDE TO IHAKE

**** ELIMINATE RECORDS NOT  IN SELECTED RANGE OF YEARS
IF ZHEYEAR>0
   SET FILT TO YEAR>=ZHSYEAR ,AND. YEAR<=ZHEYEAR
ELSE
   SET FILT TO YEAR=ZHSYEAR
ENDI
GO TOP
CLEA
«*** HAIN PROGRAM

»*** CALCULATE TOTALS BY HAKE
DO UHIL .NOT, EOFO
   STOR HAKE TO HHAKE
   SELEB
   APPE BLAN
   REPL HAKE WITH HHAKE
   SELE A
   ? HHAKE
   STOR 0 TO TOTAL
   STOR 0 TO PASS
   STOR 0 TO HFAIL
   STOR 0 TO CFAIL
   STOR 0 TO BFAIL
   STOR 0 TO HRFAIL
   STOR 0 TO CRFAIL
   STOR 0 TO BRFAIL
   STOR 0 TO HEXEFIPT
   STOR 0 TO HWAIVED
   STOR 0 TO MCOMPLI
   STOR 0 TO HFVAL
   STOR 0 TO CFVAL
   STOR 0 TO tf
-------
STOROTOCT7
STOR 0 TOCHO
STOR 0 TO CHI
STOROTOCM2
STOR 0 TO CH3
STOR 0 TO CtM
STOR 0 TO 015
STOR 0 TO CM
STOR 0 TO CH7
STOROTOCH8
STOR 0 TO CH9
STOR 0 TO CNO
STOROTOCN1
STOR 0 TO CN2
STORO TOCSTCNT
STOR 0 TO REINS
DO UHIL HAKE=»IAKE
   STOR TOTAL+1 TO TOTAL
   IF EXfflPM
      STOR HEXEHPT+1 TO HEXEHPT
   ELSE
      DO CASE
         CASE STATUS1WXT" .AND,  STATUSIOK'P"
            STOR HFAIL+1 TO HFAIL
            STOR HFVAL+HCJIRST TO HFVAL
            STOR CFVAL+CO'FIRST TO CFVAL
         CASE STATUSIOK'F" ,AND.  STATUS1HC="P"
            STOR CFAIL+1 TO CFAIL
            STOR HFVAL+HC FIRST TO HFVAL
            STOR CFVAL+CO FIRST TO CFVAL
         CASE STATUS1HC="F" ,AND,  STATUS1CO="F"
            STOR BFAIL+1 TO BFAIL
            STOR HFVAL+HC FIRST TO HFVAL
            STOR CFVAL+CO FIRST TO CFVAL
         CASE STATUS1HC="P" ,AND,  STATUS1CO="P"
            STOR PASS+1 TO PASS
      ENDC
      IF STATUS1HC="F" ,OR, STATlfilCO="F"
      IF HC RE>0 .OR. CO REX)
         STOT; HRFVAL+HC RE TO HRFVAL
         STOR CRFVAL+CO RE TO CRFVAL
         IF STATUS2HC="F" ,AND, STATUS2CO="P"
            STOR HRFAIL+1 TO HRFAIL
         ENDI
         IF STATlfi2CO="F" .AND. STATUSZHX'r
            STOR CRFAIL+1 TO CRFAIL
         ENDI
         IF STATl«2HC="F" .AND, STATIB2CO="F"
            STOR BRFAIL+1 TO BRFAIL
         ENDI
         STOR REINS+1 TO REINS
      ELSE
         STOR HRFVAL+HCJIRST TO HRFVAL
         STOR CRFVAL+CO FIRST TO CRFVAL
      ENDI
      ENDI
      IF WAIVED=1
         STOR HWAIVED+1 TO MUAIVED
      ENDI
      IF C 207B=1

-------
      STOR HCOflPLI+1 TO HCOHPLI
   ENDI
   IFCOSDO
      STOR REPCOST+COST TO REPCOST
      STOR CSTCNT+1 TO CSTCNT
   ENDI
   STOR LEN(TRIWCODES)) TO LENGTH
   STOR 1 TO X
   DO UHIL X
-------
      IF  EOFO
         STOR "XXXX" TO MAKE
      EHDI
   ENDD
   SAVE ALL EXCE FLAG,X,LENGTH,HCODE,ZBEYEAR,ZP1SYEAR TO WfflAKE
ENDD

*«##*#* CALCULATE FINAL TOTALS - ADD HAKE TOTALS
STOR 0 TO ZTOTAL
STOR 0 TO ZPASS
STOR 0 TO ZHFAIL
STOR 0 TO ZCFAIL
STOR 0 TO ZBFAIL
STOR 0 TO ZHRFAIL
STOR 0 TO ZCRFAIL
STOR 0 TO ZBRFAIL
STOR 0 TO ZHEXEMPT
STOR 0 TO ZI1UAIUED
STOR 0 TO ZnCOflPLI
STOR 0 TO ZHFVAL
STOR 0 TO ZCFVAL
STOR 0 TO ZHRFVAL
STOR 0 TO ZCRFVAL
STOR 0 TO ZREPCOST
STOR 0 TO ZCE1
STOR 0 TO ZCTO
STOR 0 TO ZCT1
STOR 0 TO ZCT2
STOR 0 TO ZCT3
STOR 0 TO ZCT4
STOR 0 TO ZCT5
STOR 0 TO ZCT6
STOR 0 TO ZCT7
STOR 0 TO ZCHQ
STOR 0 TO ZCIIl
STOR 0 TO ZCH2
STOR 0 TO ZCR3
STOR 0 TO ZCH4
STOR 0 TO ZCH5
STOR 0 TO ZCM6
STOR 0 TO ZCH7
STOR 0 TO ZCMfi
STOR 0 TO ZCR9
STOR 0 TO ZCNO
STOR 0 TO ZCN1
STOR 0 TO ZCN2
STOR 0 TO ZCSTCNT
STOR 0 TO ZREINS
STOR 0 TO ZFAIL
STOR 0 TO ZRFAIL
SELEB
GO TOP
CLEA
(5 10,24 SAY "flake sure your printer is ready."
WAIT "                       Press any key to continue."
CLEA
SET COLO TO y*+,B
B 10,36 SAY "PRINTING"
SET COLO TO W

-------
SET DEVI  TO PRIN
STOR 1 TO ZPACE
STOR 11 TO ZLINES
STOR "================================================::=======================" TO ZTOP
STOR "	" TO ZBOT
DO WHIL ,NOT, EOFO
   IF ZLINES=11
      9 PROW),23 SAY "FAILURE RATE REPORT BY VEHICLE HAKE"
      IF  ZHEYEARX)
         8 PROMO+2,6 SAY "This report suwarizes data for vehicle nodel years 19"
         8 PROMO,60 SAY ZHSYEAR PICT '99*
         8 PROMO ,63 SAY "through 19"
         6 PROMO,73 SAY ZHEYEAR PICT '99'
         8 PROMO ,75 SAY "."
      ELSE
         8 PROHO+2,12 SAY "This report surnames data for vehicle node)  year 19"
         8 PROMO,65 SAY ZHSYEAR PICT '99'
         8 PROMO,67 SAY V
      ENDI
      8 PROMO+2,6 SAY DATEO
      8 PROMO ,66 SAY "Page"
      8 PROMO,71 SAY ZPAGE PICT '»»'
      8 PROHO+1,4 SAY ZTOP
      8 PROMO+1,26 SAY "Initial Inspections"
      8 PROMO,57 SAY "Reinspections"
      6 PROMO+1,5 SAY "vehicle Hake"
      8 PROW),23 SAY "Tests  Failures  Percent"
      8 PROMO,52 SAY "Tests  Failures  Percent"
      8 PROMO+1,4 SAY ZBQT
   ENDI
   STOR HAKE TO ZHAKE
   REST FROM SZMAKE ADDITIVE
   STOR ZTOTAL+TOTAL TO ZTOTAL
   STOR ZPASS+PASS TO ZF'ASS
   STOR ZHFAIL+HFAIL TO ZHFAIL
   STOR ZCFAIL+CFAIL TO ZCFAIL
   STOR ZBFAIL+BFAIL TO ZBFAIL
   STOR HFAIL+CFAIL+BFAIL TO FAIL
   STOR ZFAIL+FAIL TO ZFAIL
   STOR ZHRFAIL+HRFAIL TO ZHRFAIL
   STOR ZCRFAIL+CRFAIL TO ZCRFAIL
   STOR ZBRFAIL+BRFAIL TO ZBRFAIL
   STOR HRFAIL+CRFAIL+BRFAIL TO RFAIL
   STOR ZRFAIL+RFAIL TO ZRFAIL
   STOR ZREINS+REINS TO ZREINS
   STOR ZP1EXERPT+HEXEI1PT TO ZHEXEflPT
   STOR ZHUAIVED+HMAIVED TO ZHUAIVED
   STOR ZMCOHPLI+MCOMPLI TO ZHCOHPLI
   STOR ZHFVAL+HFVAL TO ZHFVAL
   STOR ZCFVAL+CFVAL TO ZCFVAL
   STOR ZHRFVAL+HRFVAL TO ZHRFVAL
   STOR ZCRFVAL+CRFVAL TO ZCRFVAL
   STOR ZREPCOST+REPCOST TO ZREPCOST
   STOR ZCE1+CE1 TO ZCE1
   STOR ZCTO+CTO TO ZCTO
   STOR ZCT1+CT1 TO ZCT1
   STOR ZCT2+CT2 TO ZCT2
   STOR ZCT3+CT3 TO ZCT3
   STOR ZCT4+CT4 TO ZCT4
   STOR ZCT5+CT5 TO ZCT5

-------
   STOR ZCT6+CT6 TO ZCT6
   STOR ZCT7+CT7 TO ZCT7
   STOR ZCRO+CHO TO ZCHO
   STOR ZCW+Cfll TO ZCH1
   STOR ZCM2+CH2 TO ZCM2
   STOR ZCfl3+CH3 TO ZCH3
   STOR ZCM4+CH4 TO ZCM4
   STOR ZCH5+CH5 TO ZCP15
   STOR ZCM6+CH6 TO ZCH6
   STOR ZCH7+CH7 TO ZCH7
   STOR ZCH8+CPI8 TO zcna
   STOR ZCM9+CI19 TO ZCH9
   STOR ZCNO+CNO TO ZCNO
   STOR ZCN1+CN1 TO ZCN1
   STOR ZCN2+CN2 TO ZCN2
   STOR ZCSTCNT+CSTCNT TO ZCSTCNT
   8 PROHO+1,9 SAY ZHAKE PICT 'AAAA'
   I? PROWO,23 SAY TOTAL PICT '99999'
   t PROUO/32 SAY FAIL PICT '999991
   I? PROMO,41 SAY FAIL/TOTAL*100 PICT '999,9'
   8 PROU(),52 SAY REINS PICT '99999'
   8 PROMO,61 SAY RFAIL PICT '99999'
   IF REINS=0
      1» PROMO,72  SAY "0,0"
   ELSE
      5 PROMO,70  SAY RFAIL/REINS*100 PICT '999,9'
   ENDI
   RELE ALL EXCEPT Z*
   STOR ZLINES+1 TO ZLINES
   SKIP
   IF ZLINES=55 ,OR, EOFO
      ? PROHO+1,4 SAY ZBQT
      EJEC
      STOR 11 TO ZLINES
      STOR ZPAGE+1 TO ZPAGE
   ENDI
ENDD
PACK
6 1,26 SAY "FAILURE RATE SUH1ARY REFDRT"
8 3,8 SAY DATEO
I 3,64 SAY "Page"
8 3,69 SAY PAGE PICT '99'
IF ZHEYEAR>0
   8 5,6 SAY "This report suiaisarizes data for vehicle code) years 19"
   8 5,60 SAY ZftSYEAR PICT '99'
   6 5,63 SAY "through 19"
   8 5,73 SAY ZHEYEAR PICT '99'
   B 5,75 SAY ","
ELSE
   8 5,12 SAY "This report sunraarizes data for  vehicle node) year 19"
   8 5,65 SAY ZHSYEAR PICT '99'
   I? 5,67 SAY ","
ENDI
(? 12,28 SAY "»*#** Genera) Summary ««***"
8 14,17 SAY "Description                        Number         Perce"
8 14,72 SAY "nt"
8 15,7 SAY "	        	"
8 15,66 SAY "	"
8 16,8 SAY "Emission Tests"
8 16,53 SAY ZTOTAL PICT '99999'

-------
8 9,17 SAY "Average Initial Inspection HC Reading:"
STOR ZHFVAL/ZFAIL TO ZHAVG
8 9,56 SAY ZHAVC PICT '9999'
9 10,17 SAY "Average Initial Inspection CO Reading:"
STOR ZCFVAL/ZFAIL TO ZCAVG
0 10,55 SAY ZCAVG PICT '99,99'
8 12,17 SAY "Average Reinspection HC Reading:"
STOR ZHRFVAL/ZFAIL TO ZHRAUG
8 12,56 SAY ZHRAVG PICT '9999'
0 13,17 SAY "Average Reinspection CO Reading:"
STOR ZCRFVAL/ZFAIL TO ZCRAVG
0 13,55 SAY ZCRAVG PICT '99,99'
8 15,17 SAY "Percent HC Reduction:"
8 15,57 SAY (ZHAVG-ZHRAYG)/ZHAVG«100 PICT '999.9 '
8 16,17 SAY "Percent CO Reduction:"
0 16,57 SAY (ZCAVG-ZCRAVG)/ZCAVG«100 PICT '999,9 '
8 17,17 SAY "Average Repair Cost:"
0 17,56 SAY "$"
8 17,58 SAY ZREPCOST/ZCSTCNT PICT '999'
0 19,12 SAY "NOTE - For vehicles that failed the initial inspection"
8 20,12 SAY "but were not reinspected, the first inspection readings"
0 21,12 SAY "were used to calculate reinspection averages,"
8 24,28 SAY "Failure Code Distribution"
0 26,12 SAY "Code         Description               Nunber      Perc"
8 26,67 SAY "ent"
027,12 SAY."—-         	              	"
8 27,67 SAY "—"
0 29,15 SAY "Exhaust  System"
8 31,13 SAY "El          Exhaust leak"
0 31,51 SAY ZCE1 PICT '99999'
8 31,64 SAY ZCE1/ZREINS*100 PICT '99,9'
8 33,15 SAY "Taaipering"
8 35,13 SAY "TO          Not specified"
0 35,51 SAY ZCTO PICT '99999'
0 35,64 SAY ZCTO/ZREINS*100 PICT '99,9'
8 36,13 SAY "Tl          Catalytic converter"
8 36,51 SAY ZCT1 PICT '99999'
0 36,64 SAY ZCT1/ZREINS*100 PICT '99,9'
0 37,13 SAY "T2          PCV valve"
0 37,51 SAY ZCT2 PICT '99999"
8 37,64 SAY ZCT2/ZREINS*100 PICT '99,9'
0 38,13 SAY "T3          EGR valve"
8 38,51 SAY ZCT3 PICT '99999'
0 38,64 SAY ZCT3/ZREINS*100 PICT '99,9'
8 39,13 SAY "T4          Air pump"
0 39,51 SAY ZCT4 PICT '99999'
8 39,64 SAY ZCT4/ZREINS»100 PICT '99,9'
0 40,13 SAY "T5          Carbon canister"
8 40,51 SAY ZCT5 PICT '99999'
0 40,64 SAY ZCT5/ZREINS«100 PICT '99,9'
8 41,13 SAY "T6          Fuel  inlet restrictor"
0 41,51 SAY ZCT6 PICT '99999'
8 41,64 SAY ZCT6/ZREINS»100 PICT '99,9'
0 42,13 SAY "T7          Other"
8 42,51 SAY ZCT7 PICT '99999'
0 42,64 SAY ZCT7/ZREINS*100 PICT '99,9'
8 44,15 SAY "Inspection/Maintenance"
0 46,13 SAY "HO          Not specified"
8 46,51 SAY ZCHO PICT '99999'
0 46,64 SAY ZCHO/ZREINS*100 PICT '99,9'

-------
0 17,8 SAY "Passing Vehicles"
6 17,53 SAY ZPASS PICT '99999'
0 17,68 SAY ZPASS/(ZTOTAL-ZHEXEPIPT)*100 PICT '999,9'
9 18,8 SAY "Failed Initial Inspection for HC"
0 18,53 SAY ZHFAIL PICT '99999'
8 18,68 SAY ZHFAIL/(ZTOTAL-ZHEXEMPT)*100 PICT '999,9'
0 19,8 SAY "Failed Initial Inspection for CO"
0 19,53 SAY ZCFAIL PICT '99999'
0 19,68 SAY ZCFAIL/(ZTOTAL-ZHEXEf!PT)*100 PICT '999,9'
0 20,8 SAY "Failed Both Initial Inspections"
0 20,53 SAY ZBFAIL PICT '99999'
8 20,68 SAY ZBFAILAZTOTAL-ZnEXEfPTMOO PICT '999,9'
0 21,8 SAY "Overall Failure Rate"
8 21,53 SAY ZFAIL PICT '99999'
0 21,68 SAY ZFAIL/(ZTOTAL-ZHEXBfT)*100 PICT '999,9'
0 22,8 SAY "Failed Reinspection for HC"
0 22,53 SAY ZHRFAIL PICT  '99999'
0 22,68 SAY ZHRFAIL/ZREINS*100 PICT '999,9'
0 23,8 SAY "Failed Reinspection for CO"
0 23,53 SAY ZCRFAIL PICT  '99999'
0 23,68 SAY ZCRFAIL/ZREIHS*100 PICT '999,9'
0 24,8 SAY "Failed Both Reinspections"
0 24,53 SAY ZBRFAIL PICT  '99999'
8 24,68 SAY ZBRFAIL/ZREINS*100 PICT '999.9'
0 25,8 SAY "Overall Reinspection Failure Rate"
8 25,53 SAY ZRFAIL PICT '99999'
0 25,68 SAY ZRFAIL/ZREINS*100 PICT '999,9'
§ 27,8 SAY "Exempt vehicles"
0 27,53 SAY ZHEXEMPT PICT '99999'
0 27,67 SAY ZHEXEi1PT/ZTOTAL#100 PICT  '99,99'
0 28,8 SAY "Waived Vehicles"
0 28,53 SAY ZHWAIVED PICT '99999'
0 28,67 SAY ZfiWAIvED/(ZTOTAL-ZHEXEI1PT)*100 PICT '99,99'
8 29,8 SAY "Vehicles Complying with Sect, 207-B"
0 29,53 SAY ZHCOPIPLI PICT '99999'
0 29,67 SAY Z«COMPLI/(ZTOTAL-ZflEXB1tPT)»100 PICT '99,99'
STOR "There were "+STR(ZHFAIL+ZBFAIL+ZCFAIL-ZREINS)+" vehicle(s) that failed" TO NI
8 33,40-LEN(NI)/2 SAY NI
0 34,7 SAY "at least one  of the initial inspections but »ere not reinspected,"
STOR ZPAGE+1 TO ZPAGE
EJEC
0 1,28 SAY "FAILURE RATE  SUHHARY REPORT"
0 2,8 SAY DATEO
0 2,64 SAY "Page"
0 2,69 SAY ZPAGE PICT '99'
IF ZHEYEAR>0
   0 4,6 SAY "This report sunrciarizes data for vehicle roodel years 19"
   0 4,60 SAY ZftSYEAR PICT '99'
   0 4,63 SAY "through 19"
   0 4,73 SAY ZMEYEAR PICT '99'
   0 4,75 SAY ","
ELSE
   8 4,12 SAY "This report suBuiarizes data for vehicle mode) year 19"
   8 4,65 SAY ZI1SYEAR PICT '99'
   0 4,67 SAY ","
ENDI
STOR "There mere "+STR(ZREINS)+" reinspected vehicles in the data base," TO R
STOR LEN(R) TO Y
0 6,40-Y/2 SAY R
0 8,24 SAY "***** Failed  Vehicle Suiwary *****"

-------
8 47,13 SAY "HI          Air filter elenent"
8 47,51 SAY ZCH1 PICT '99999'
8 47,64 SAY ZCH1/ZREINS*100 PICT '99,9'
8 46,13 SAY "HZ          TAC"
8 46,51 SAY ZCH2 PICT '99999'
8 46,64 SAY ZCH2/ZREINS«100 PICT '99,9'
8 49,13 SAY "US          Idle speed"
8 49,51 SAY ZCH3 PICT '99999'
8 49,64 SAY ZCH3/ZREINS*100 PICT '99,9'
8 50,13 SAY "M4          Air/fuel  suture"
8 50,51 SAY ZCH4 PICT '99999'
8 50,64 SAY ZCH4/ZREINS*100 PICT '99,9'
8 51,13 SAY "US          DmeU"
8 51,51 SAY ZCH5 PICT '99999'
8 51,64 SAY ZCH5/ZREINS*100 PICT '99,9'
8 52,13 SAY "H6          Timing"
8 52,51 SAY ZCH6 PICT '99999'
8 52,64 SAY ZCH6/ZREINS*100 PICT '99.9'
8 53,13 SAY "H7          Spark plugs"
8 53,51 SAY ZCH7 PICT '99999'
8 53,64 SAY ZCH7/ZREINS*100 PICT '99,9'
8 54,13 SAY "flfl          Spark plug wires"
8 54,51 SAY ZCH6 PICT '99999'
8 54,64 SAY ZCH8/ZREINS*100 PICT '99,9'
8 55,13 SAY "Pt9          Vacuua hose"
8 55,51 SAY ZCH9 PICT '99999'
8 55,64 SAY ZC«9/ZREINS*100 PICT '99,9'
8 56,13 SAY "NO          Electronic controls"
8 56,51 SAY ZCNO PICT '99999'
8 56,64 SAY ZCNO/ZREINS*100 PICT '99,9'
8 57,13 SAY "Hi          LOB emission tune-up"
(5 57,51 SAY ZCN1 PICT '99999'
8 57,64 SAY ZCN1/ZREINS*100 PICT '99,9'
8 56,13 SAY "N2          Other"
8 58,51 SAY ZCN2 PICT '99999'
8 56,64 SAY ZCN2/ZREINS*100 PICT '99,9'
SET DEVI TO SCRE
EJEC
CLEA

SELE A
GO TOP-
SET INDE TO ISTATION
«H» CALCULATE TOTALS BY STATION
DO UHIL ,NOT, EOFO
   STOR STATION.l TO HSTAT
   SELE C
   APPE BLAN
   REPL STATION HITH MSTAT
   ?«STAT
   STOR 0 TO TOTAL
   STOR 0 TO PASS
   STOR 0 TO HFAIL
   STOR 0 TO CFAIL
   STOR 0 TO BFAIL
   STOR 0 TO HRFAIL
   STOR 0 TO CRFAIL
   STOR 0 TO BRFAIL
   STOR 0 TO fffiXEMPT
   STOR 0 TO HUAIVED

-------
STOR 0 TO HCOHPLI
STOR OTO HFVAL
STOROTOCFVAL
STOR 0 TO HRFVAL
STOR 0 TO CRFVAL
STOR 0 TO REPCQST
STOR 0 TO CE1
STOROTO CTO
STOR 0 TO CT1
STOR 0 TOCT2
STOROTOCT3
STOR 0 TO CT4
STOROTO CT5
STOR 0 TO CT6
STOR OTO CT7
STOR 0 TO CP10
STOR 0 TO CR1
STOR 0 TO CH2
STOR 0 TO CH3
STOR 0 TO CH4
STOR OTO CR5
STOR 0 TO CH6
STOR 0 TO CM7
STOR 0 TO CH8
STOR 0 TO 019
STORO TOCNO
STOR 0 TO CN1
STORO TO CN2
STOR 0 TO CSTCNT
STOR 0 TO REINS
SELE A
DO UHIL STATION 1=HSTAT
   STOR TOTAL+1 TO TOTAL
   IF EXEMPTS
      STOR HEXEPFT+1 TO MEXE11PT
   ELSE
      DO CASE
         CASE STATUS1HC="F" ,AND, STATUSiCO="P"
            STOR HFAIL+1 TO HFAIL
            STOR HFVAL+HC FIRST TO HFVAL
         CASE STATUSlCQs'T11 ,AND, STATUS1HC="F"
            STOR CFAIL+1 TO CFAIL
            STOR CFVAL+CO_FIRST TO CFVAL
         CASE STATUS1HC="F" ,AND, STATUS1CO="F"
            STOR BFAIL+1 TO BFAIL
            STOR HFVAL+HC FIRST TO HFVAL
            STOR CFVAL+CO FIRST TO CFVAL
         CASE STATUS1HC="P" ,AND, STATUS1CO="P"
            STOR PASS+1 TO PASS
      ENDC

      IF HC RE>0 ,OR, CO RE>0
         STOR HRFVAL+HC RE TO HRFVAL
         STOR CRFVAL+CO RE TO CRFVAL
         IF STATUS2HC="F" ,AND, STATUS2CO="P"
            STOR HRFAIL+1 TO HRFAIL
         ENDI
         IF STATUS2CO="F" ,AND, STATUS2HC="P"
            STOR CRFAIL+1 TO CRFAIL
         ENDI

-------
   IF STATUS2HC="F" ,AND, STATUS2CO="F"
      STOR BRFAIL+1 TO BRFAIL
   EKDI
   STOR REINS+1 TO REINS
ELSE
   STOR HRFVAL+HC FIRST TO HRFVAL
   STOR CRFVAL+CO FIRST TO CRFVAL
ENDI
IF WAWED=1
   STOR MWAIVED+1 TO WAIVED
ENDI
IF C 207B=1
   STOR HCOMPLI+1 TO HCOHPLI
ENDI
IF COST>0
   STOR REPCOST+COST TO REPCOST
   STOR CSTCNT+1 TO CSTCNT
ENDI
STOR LEN(TRIH
-------
                 STOR CH9+1 TO Cfl9
               CASE «CODE="NO"
                 STORCNO+1 TOCNO
               CASE HCODE="N1"
                 STOR CN1+1 TO CN1
               CASE HCODE="N2"
                 STOR CN2+1 TO CN2
            ENDC
            STOR X+2  TO X
         ENDD
      EKDI
      SKIP
      IF EOFO
         STOR "000000" TO STATION 1
      ENDI
   ENDD
   STOR BSTAT TO HSTAT1
   IF SUBSTR0
         P PROW0+2,6 SAY "This report sunaiarizes data for vehicle aode) years 19"
         e pRoyo,*o  SAY ZHSYEAR PICT '9?'
         0 PROMO,63  SAY "through 19"
         6 PROHO,73  SAY ZHEYEAR PICT '99'
         P PROMO,75  SAY V
      ELSE
         5 PROMO+2,12 SAY "This report summarizes data for vehicle nodel year 19"
         5 PROHO,65  SAY ZHSYEAR PICT '99'
         PPROWO,67  SAY ","
      ENDI
      0 PROUO+2,6  SAY DATEO
      5 PROWO,66 SAY "Page"
      0 PROMO ,71 SAY ZPAGE  PICT '»»'
      @ PROMO+1,4  SAY ZTOP
      e PROUO+1,26 SAY "Initial Inspections"
      5 PROMO,57 SAY "Reinspections"

-------
      e PROWO+1,5 SAY "Insp, Station"
      8 PRQtl(),23 SAY "Tests  Failures  Percent"
      8 PRQW(>,52 SAY "Tests  Failures  Percent"
      8 PROHO+1,4 SAY ZBOT
   ENDI
   STOR "S"+STATION TO ZSTAT
   REST FROH iZSTAT ADDITIVE
   8 PROUO+1,9 SAY SUBSTR(ZSTAT,2,LEN(ZSTAT)-1) PICT '999999'
   9 PROU(),23 SAY TOTAL  PICT  '99999'
   STOR HFAIL+CFAIL+BFAIL TO FAIL
   8 PROWO,32 SAY FAIL PICT '99999'
   I? PROW(),41 SAY FAIL/TOTALK100 PICT  '999,9'
   8 PROW(),52 SAY REINS  PICT  '99999'
   STOR HRFAIL+CRFAIL+BRFAIL TO RFAIL
   8 PROW(),61 SAY RFAIL  PICT  '99999'
   IF REINS=0
      9 PROW(),72 SAY "0,0"
   ELSE
      § PROW),70 SAY RFAIL/REINSK100 PICT  '999,9'
   ENDI
   DELE
   STOR ZLINES+1 TO ZLINES
   SKIP
   IF ZLINES>55 ,OR, EOFO
      8 PROWO+1,4 SAY ZBOT
      EJEC
      STOR 11 TO ZLINES
      STOR ZPAGE+1 TO ZPAGE
   ENDI
ENDD
PACK
SET DEVI TO SCRE
EJEC
CLEA
RETU
««* EOF

-------
**** SUHMARY4,PRG
******* SET IF COMPUTER
CLEAR ALL
SET BELL OFF
SET CONFIRM ON
SET DELETED ON
SET ECHO OFF
SET ESCAPE ON
SET FUNCTION 10 TO 'QUIT;'
SET INTENSITY ON
SET SAFETY OFF
SET TALK OFF
SET UNIQUE ON
SET FUNCTION 10 TO '99'

******* PREPARE DATA BASE
SELEC
USE STATIONS
ZAP
SELE B
USE YEARS
ZAP'
SELE A
USE MISSOURI
      ALLOW USERS TO SELECT MODEL YEARS
CLEA
STOR "    " TO ZMODEL
STOR 0 TO FLAG
8 4,27 SAY "Please select the mode) that"
8 5,27 SAY "you dish to analyze:"
DO WHIL FLAG=0
   8 5,51 GET ZHODEL PICT '(?! AAAA'
   READ
   LOCA FOR HAKE=ZMODEL
   IF EOFO
      ?? CHR(7)
      8 10,33 SAY ZMODEL+" NOT FOUND"
      WAIT "                                PRESS ANY KEY TO CONTINUE"
      8 9,0 CLEA
   ELSE
      STOR 1 TO FLAG
   ENDI
ENDD

IF ,NOT, FILE(IYEAR.NDX)
   «!QX MISSOURI YEAR IYEAR
ENDI
IF ,NOT, FILE(ISTATION.NDX)
   *!QX MISSOURI STATION_1 ISTATION
ENDI

CLEA
SET COLO TO W*+,B
0 10,20 SAY "PLEASE WAIT WHILE I INDEX THE DATA BASE,"
SET COLO TO W

IF ,NOT, FILE(IYEAR)
   INDE ON YEAR TO IYEAR

-------
ELSE
   SET INDE TO IYEAR
   REIN
ENDI
IF ,NQT, FILE(ISTATION.NDX)
    INDE ON STATION 1 TO ISTATION
ELSE
   SET INDE TO ISTATION
   REIN
ENDI
SET INDE TO IYEAR

«*** ELIMINATE RECORDS NOT OF SELECTED MAKE
SET FILT TO HAKE=ZflQDEL
GO TOP
CLEA
**** HAIN PROCRAfl

**«* CALCULATE TOTALS BY YEAR
DOUHIL .NOT,  EOFO
   STOR YEAR TO HYEAR
   SELEB
   APPEBLAN
   REPL YEAR WITH flYEAR
   SELE A
   ? NYEAR
   STOR 0 TO TOTAL
   STOR 0 TO PASS
   STOR 0 TO HFAIL
   STOR 0 TO CFAIL
   STOR 0 TO BFAIL
   STOR 0 TO HRFAIL
   STOR 0 TO CRFAIL
   STOR 0 TO BRFAIL
   STOR 0 TO MEXEHPT
   STOR 0 TO HWAIVED
   STOR 0 TO HCOMPLI
   STOR 0 TO HFVAL
   STOR 0 TO CFVAL
   STOR 0 TO HRFVAL
   STOR 0 TO CRFVAL
   STOR 0 TO REPCOST
   STOR 0 TO CE1
   STOR 0 TO CTO
   STOROTOCTi
   STOR OTOCT2
   STOROTOCT3
   STOROTOCT4
   STOft 0 TO CT5
   STOROTOCT6
   STORO TO CT7
   STOROTOCI10
   STOR 0 TO Oil
   STOR 0 TOCH2
   STORO TOCR3
   STOR 0 TO CN4
   STORO TO CH5
   STOR 0 TO CH6
   STOR 0 TO CH7
   STOR 0 TO CR8

-------
STOR 0 TO CFI9
STOROTOCNO
STOR 0 TO CW
STOR OTOCN2
STOR 0 TO CSTCNT
STOR 0 TO REINS
DO WHIL YEAR=HYEAR
   IFEXBFM
      STOR MEXEHPT+1 TO NEXEHFT
   ELSE
      DO CASE
         CASE STATUS1HC="F" .MO).  STATUS1CO="P"
            STOR HFAIU1 TO HFAIL
            STOR HFVAL+HC FIRST TO HFVAL
            STOR CFVAL+CO FIRST TO CFVAL
         CASE STATUS1CO="F" ,AND,  STATUSIWX'P"
            STOR CFAIL+1 TO CFAIL
            STOR HFVAL+HC FIRST TO HFVAL
            STOR CFVAL+CO FIRST TO CFVAL
         CASE STATUS1HC="F" .AND,  STATUS1CQ="F"
            STOR BFAIL+1 TO BFAIL
            STOR HFVAL+HC.FIRST TO HFVAL
            STOR CFVAL+CO FIRST TO CFVAL
         CASE STATUS1HC="P" ,AND,  STATUS1CO="P"
            STOR PASS+1 TO PASS
      ENDC
      IF STATUS1HC="F" ,OR, STAT1^1CO=UF"
      IF HC RE>0 .OR. CO RE>0
         STOR HRFVAL+HC RE TO HRFVAL
         STOR CRFVAL+CO RE TO CRFVAL
         IF STATUS2HC="F" ,AMD. STATIS2CO="P"
            STOR HRFAIL+1 TO HRFAIL
         ENDI
         IF STATUS2CO="F" ,AND, STATUS2HC="P"
            STOR CRFAIL+1 TO CRFAIL
         ENDI
         IF STATUS2HC="F" ,AND, STATUS2CO="F"
            STOR BRFAIL+1 TO BRFAIL
         ENDI
         STOR REINS+1 TO REINS
      ELSE
         STOR HRFVAL+HC FIRST TO HRFVAL
         STOR CRFVAL+of FIRST TO CRFVAL
      ENDI
      ENDI
      IF WAIVED=1
         STOR HUAIVED+1 TO (WAIVED
      ENDI
      IF C 207B=1
         STOR MCQHPLI+1 TO MCOHPLI
      ENDI
      IF CQST>0
         STOR REPCOST+COST TO REPCOST
         STOR CSTCNT+1 TO CSTCNT
      ENDI
      STOR LEN(TRIIKCODES)) TO LENGTH
      STOR 1 TOX
      DO UHIL X
-------
               CASE HCODE="E1"
                  STOR CE1+1 TO CE1
               CASE «CODE="TO"
                  STOR CTO+1 TO CTO
               CASE HCODE="T1"
                  STOR CT1+1 TO CT1
               CASE MCQDE="T2"
                  STOR CT2+1 TO CT2
               CASE HCODE="T3"
                  STORCT3+1 TOCT3
               CASE HCODE="T4"
                  STOR CT4+1 TO CT4
               CASE RCODE="T5"
                  STORCT5+1 TOCT5
               CASE nCODE="T6"
                  STOR CTA+1 TO CT6
               CASE I1CODE="T7"
                  STOR CT7+1 TO CT7
               CASE HCODE="nO"
                  STOR CHO+1 TO CHO
               CASE HCODE="l1i"
                  STOR CH1+1 TO CHI
               CASE HCODE="H2"
                  STOR CH2+1 TO CH2
               CASE RCODE="fl3"
                  STOR CPI3+1 TO Cfl3
               CASE HCODE="M"
                  STOR CH4+1 TO CPM
               CASE HCODE="H5"
                  STOR CM5+1 TO CH5
               CASE HCODE="H6"
                  STOR CH&tl TO CH4
               CASE HCODE="H7"
                  STOR CH7+1 TO CP17
               CASE ncoDE="ne."
                  STOR CNB+1 TO Cflfi
               CASE HCODE='W"
                  BTOR CH9+1 TO CH9
               CASE fCODE="NO"
                  STOR CNO+1 TO CHO
               CASE ICODE="N1"
                  STOR CNi+1 TO CN1
               CASE PICODE="N2"
                  STOR CN2+1 TO CN2
            ENDC
            STOR X+2 TO X
         EHDD
      ENDI
      STOR TOTAL+1 TO TOTAL
      SKIP
      IF EOFO
         STOR 99 TO YEAR
      ENDI
   ENDD
   STOR STR(flYEAR) TO HYEAR
   STOR "Y19"+SUBSTR(l1YEAR,LEN(flYEAR)-l,2) TO FILE
   SAVE ALL EXCE FLAG,X,LENGTH,HCODE TO WILE
ENDD

##***** CALCULATE FINAL TOTALS - ADD YEAR TOTALS

-------
STOR 0 TO ZHAXDATE
STOR 99 TO ZHINDATE
STOR 0 TO ZTOTAL
STOR 0 TO ZPASS
STOR 0 TO ZHFAIL
STOR 0 TO ZCFAIL
STOR 0 TO ZBFAIL
STOR 0 TO ZHffAIL
STOR 0 TO ZCRFAIL
STOR 0 TO ZBRFAIL
STOR 0 TO ZHEXEMPT
STOR 0 TO ZfWAIVED
STOR 0 TO ZltCOMPLI
STOR 0 TO ZHFVAL
STOR 0 TO ZCFVAL
STOR 0 TO ZHRFVAL
STOR 0 TO ZCRFVAL
STOR 0 TO ZREPCOST
STOR 0 TO ZCE1
STOR 0 TO ZCTO
STOR 0 TO ZCT1
STOR 0 TO ZCT2
STOR 0 TO ZCT3
STOR 0 TO ZCT4
STOR 0 TO ZCT5
STOR 0 TO ZCT6
STOR 0 TO ZCT7
STOR 0 TO ZCHO
STOR 0 TO ZCP11
STOR 0 TO ZCH2
STOR 0 TO ZCH3
STOR 0 TO ZCIM
STOR 0 TO ZCH5
STOR 0 TO ZCH6
STOR 0 TO Z017
STOR 0 TO ZCH8
STOR 0 TO ZCH9
STOR 0 TO ZCNO
STOR 0 TO ZCN1
STOR 0 TO ZCN2
STOR 0 TO ZCSTCNT
STOR 0 TO ZREINS
STOR 0 TO ZFAIL
STOR 0 TO ZRFAIL
SELE B
GOBOH
STOR YEAR TO ZHAXDATE
GO TOP
STOR YEAR TO ZJ1INDATE
CLEA
P 10/24 SAY "Make sure your printer is ready,"
WAIT "                      Press any key to continue.
CLEA
SET COLO TO H*+,B
G 10,36 SAY "PRINTING"
SET COLO TO U

SET mi TO PRIN
STOR 1 TO ZPAGE
STOR 11 TO ZLINES

-------
STOR  =================:===========:========z=====S====ss==5==:======sss======-  TQ
STOR "	" TO ZBOT
DO WHIL ,NOT, EOFO
   IF ZLINES=11
      8 PROW),23 SAY "FAILURE RATE REPORT BY VEHICLE HAKE"
      8 PROW)+2,5 SAY "This report suwrarizes "+ZHQDEL+"'s for vehicle model years 19"
      8 PROW),41 SAY ZMINDATE PICT '99'
      9 PROW),64 SAY "through 19"
      I? PROW),74 SAY ZflAXDATE PICT '99'
      8 PROW),76 SAY V
      8 PROW)+2,6 SAY DATEO
      8 PROW),66 SAY "Page"
      8 PROMO,71 SAY ZPAGE PICT  '»«'
      8 PROHO+1,4 SAY ZTOP
      8 PROW)+1,26 SAY "Initial  Inspections"
      8 PROW),57 SAY "Reinspections"
      8 PROW)+1,6 SAY "Model Year"
      8 PROW),23 SAY "Tests  Failures  Percent"
      8 PROW),52 SAY "Tests  Failures  Percent"
      8 PROW)+1,4 SAY ZBQT
   ENDI
   STOR STR(YEAR) TO ZYEAR
   STOR "Y19"+TRIH(SUKTR(ZYEAR,LEN(ZYEAR)-1,2)) TO ZFILE
*  STOR	+"Y19"+TRI«(SUBSTR(ZYEAR,LEN(ZYEAR)-l,2))+",flEn"+	TO ZEFILE
   REST FROH iZFILE ADDITIVE
   STOR ZTOTAL+TOTAL TO ZTOTAL
   STOR ZPASS+PASS TO ZPASS
   STOR ZHFAIL+HFAIL TO ZHFAIL
   STOR ZCFAIL+CFAIL TO ZCFAIL
   STOR ZBFAIL+BFAIL TO ZBFAIL
   STOR HFAIL+CFAIL+BFAIL TO FAIL
   STOR ZFAIL+FAIL TO ZFAIL
   STOR ZHRFAIL+HffAIL TO ZHRFAIL
   STOR ZCRFAIL+CRFAIL TO ZCRFAIL
   STOR ZBRFAIL+BRFAIL TO ZBRFAIL
   STOR HRFAIL+CRFAIL+BRFAIL TO RFAIL
   STOR ZRFAIL+RFAIL TO ZRFAIL
   STOR ZREINS+REINS TO ZREINS
   STOR ZflEXEHPT+MEXEflFT TO ZHEXEHPT
   STOR ZMUAIVED+imiVED TO ZHWAIVED
   STOR ZMCOMPLI+MCOHPLI TO ZHCOHPLI
   STOR ZHFVAL+HFVAL TO ZHFVAL
   STOR ZCFVAL+CFVAL TO ZCFUAL
   STOR ZHRFVAL+HRFVAL TO ZHRFVAL
   STOR ZCRFVAL+CRFVAL TO ZCRFVAL
   STOR ZREPCOST+REPCOST TO ZREPCOST
   STOR ZCE1+CE1 TO ZCE1
   STOR ZCTO+CTO TO ZCTO
   STOR ZCT1+CT1 TO ZCT1
   STOR ZCT2+CT2 TO ZCT2
   STOR ZCT3+CT3 TO ZCT3
   STOR ZCT4+CT4 TO ZCT4
   STOR ZCT5+CT5 TO ZCT5
   STOR ZCT6+CT6 TO ZCT6
   STOR ZCT7+CT7 TO ZCT7
   STOR ZCI10+CMO TO ZCHO
   STOR zcm+cm TO ZCMI
   STOR ZCM2+CM2 TO ZCM2
   STOR ZCI13+Cfl3 TO ZCH3
   STOR ZCft4+Cfl4 TO ZCIM

-------
   STOR ZCH5+015 TO ZCPI5
   STOR ZCH6+CH6 TO ZCH6
   STOR ZCM7+CM7 TO ZCM7
   STOR ZCH8+CH8 TO ZCRfl
   STOR ZCM9+CM9 TO ZCH9
   STOR ZCNO+CNO TO ZCNO
   STOR ZCN1+CN1 TO ZCN1
   STOR ZCN2+CN2 TO ZCN2
   STOR ZCSTCNT+CSTCNT TO ZCSTCNT
   I? PROWO+1,9 SAY SUBSTR(ZFILE,LEN(ZFILE)-3,4) PICT '9999'
   8 PROW<),23 SAY TOTAL PICT '99999'
   0 PROW(),32 SAY FAIL PICT '99999'
   9 PROW(),41 SAY FAIL/TOTAL*100 PICT '999,9'
   I? PROW),52 SAY REINS PICT '99999'
   8 PROH(),61 SAY RFAIL PICT '99999'
   IF REINS=0
      9 PRQH<),72 SAY "0,0"
   ELSE
      9 PROMO,70 SAY RFAIL/REINS«100 PICT '999,9'
   ENDI
   RELE ALL EXCEPT Z*
   STOR ZLINES+1 TO ZLINES
   SKIP
   IF ZLINES=55 ,OR, EOFO
      9 PRQUO+1,4 SAY ZBOT
      EJEC
      STOR 11 TO ZLINES
      STOR ZPAGE+1 TO ZPAGE
   ENDI
*  ERASE iZEFILE
ENDD
PACK
9 1,28 SAY "FAILlflE RATE SIW1ARY REPORT"
8 3,6 SAY DATEO
0 3,64 SAY "Page"
9 3,69 SAY ZPAGE PICT '99'
6 6,23 SAY "FAILURE RATE REPORT BY VEHICLE MAKE"
8 fl,5 SAY "This report summarizes "+ZflODEL+'"s for vehicle node)  years 19"

-------
8 20,68 SAY ZBFAIL/(ZTOIAL-ZHEXEl'Fr)*100 PICT '999,9'
0 21,8 SAY "Overall Failure Rate"
8 21,53 SAY ZFAIL PICT '99999'
8 21,68 SAY ZFAIL/(ZTQTAL-ZHEXEI1PT)*100 PICT '999,9'
0 22,8 SAY "Failed Reinspection for HC"
0 22,53 SAY ZHRFAIL PICT '99999'
9 22,68 SAY ZHRFAIL/ZREINS*100 PICT '999,9'
0 23,8 SAY "Failed Reinspection for CO"
0 23,53 SAY ZCRFAIL PICT '99999'
0 23,68 SAY ZCRFAIL/ZREINS*100 PICT '999,9'
6 24,8 SAY "Failed Both Reinspections"
0 24,53 SAY ZBRFAIL PICT '99999'
0 24,68 SAY ZBRFAIL/ZREINS*100 PICT '999,9'
0 25,8 SAY "Overall Reinspection Failure Rate"
0 25,53 SAY ZRFAIL PICT '99999'
0 25,68 SAY ZRFAIL/ZREINS*100 PICT '999,9'
0 27,8 SAY "Exenpt Vehicles"
0 27,53 SAY ZHEXEMPT PICT '99999'
0 27,67 SAY ZHEXEWPT/ZTOTAL*100 PICT '99,99'
0 28,8 SAY "Uaived vehicles"
0 28,53 SAY ZHHAIVED PICT '99999'
0 28,67 SAY ZHWAIVEMZTOTAL-ZHEXEIIPTMOO PICT '99,99'
0 29,8 SAY "vehicles Coupling with Sect, 207-B"
0 29,53 SAY ZNCOPIPLI PICT '99999'
8 29,67 SAY ZHCOHPLI/(ZTOTAL-ZHEXEriPT)*100 PICT '99,99'
STOR "There were "+STR(ZHFAIL+ZBFAIL+ZCFAIL-ZREINS>+" vehicle(s) that failed" TO HI
0 33,40-LEN(NI)/2 SAY NI
0 34,7 SAY "at least one of the initial inspections but sere not reinspected,"
STOR ZPAGE+1 TO ZPAGE
EJEC
0 1,28 SAY "FAILURE RATE SUHHARY REPORT"
0 2,8 SAY DATEO
0 2,64 SAY "Page"
0 2,69 SAY ZPAGE PICT '99'
0 4,5 SAY "This report suamarizes "tZMODEU''^ for vehicle aodel years 19"
0 4,61 SAY ZHINDATE PICT '99'
0 4,64 SAY "through 19"
0 4,74 SAY ZHAXDATE PICT '99'
0 4,76 SAY "."
STOR "There were "+STR(ZREINS)+" reinspected vehicles in the data base." TO R
STOR LEN(R) TO Y
0 6,40-Y/2 SAY R
0 8,24 SAY "***** Failed Vehicle Summary *#***"
0 9,17 SAY "Average Initial Inspection 1C Reading:"
STOR ZHFVAL/ZFAIL TO ZHAVG
0 9,56 SAY ZHAVG PICT '9999'
0 10,17 SAY "Average Initial Inspection CO Reading:"
STOR ZCFVAL/ZFAIL TO ZCAVG
0 10,55 SAY ZCAVG PICT '99,99'
0 12,17 SAY "Average Reinspection HC Reading:"
STOR ZHRFVAL/ZFAIL TO ZHRAVG
0 12,56 SAY ZHRAVG PICT '9999'
0 13,17 SAY "Average Reinspection CO Reading:"
STOR ZCRFVAL/ZFAIL TO ZCRAVG
0 13,55 SAY ZCRAVG PICT '99,99'
0 15,17 SAY "Percent HC Reduction:"
0 15,57 SAY 
-------
0 17,56 SAY "$"
0 17,5fl SAY ZREPCOST/ZCSTCNT PICT '999'
0 19,12 SAY "NOTE - For vehicles that failed the initial inspection"
9 20,12 SAY "but were not reinspected, the first inspection readings"
0 21,12 SAY "sere used to calculate reinspection averages."
8 24,2S SAY "Failure Code Distribution"
0 26,12 SAY "Code         Description               Nusber      Perc"
0 26,67 SAY "ent"
9 27,12 SAY "—-         	              	"
0 27,67 SAY "—"
0 29,15 SAY "Exhaust  System"
0 31,13 SAY "El          Exhaust leak"
0 31,51 SAY ZCE1 PICT '99999'
0 31,64 SAY ZCE1/ZREINS»100 PICT '99,9'
0 33,15 SAY "Tampering"
8 35,13 SAY "TO          Not specified"
0 35,51 SAY ZCTO PICT '99999'
5 35,64 SAY ZCTO/ZREINS*100 PICT '99,9'
0 36,13 SAY "Tl          Catalytic converter"
0 36,51 SAY ZCT1 PICT '99999'
0 36,64 SAY ZCT1/ZREINS*100 PICT '99,9'
0 37,13 SAY "T2          PCv valve"
0 37,51 SAY ZCT2 PICT '99999'
0 37,64 SAY ZCT2/ZREINS*100 PICT '99,9'
0 38,13 SAY "T3          ECR valve"
B 38,51 SAY ZCT3 PICT '99999'
0 38,64 SAY ZCT3/ZREINS*100 PICT '99,9'
0 39,13 SAY "T4          Air pump"
0 39,51 SAY ZCT4 PICT '99999'
0 39,64 SAY ZCT4/ZREINS*100 PICT '99,9'
0 40,13 SAY "T5          Carbon canister"
0 40,51 SAY ZCT5 PICT '99999'
0 40,64 SAY ZCT5/ZREINS*100 PICT '99,9'
0 41,13 SAY "T6          Fuel  inlet restrictor"
0 41,51 SAY ZCT6 PICT '99999'
0 41,64 SAY ZCT6/ZREINS*100 PICT '99.9'
0 42,13 SAY "T7          Other"
0 42,51 SAY ZCT7 PICT '99999'
0 42,64 SAY ZCT7/ZREINS*100 PICT '99,9'
0 44,15 SAY "Inspection/Maintenance"
0 46,13 SAY "HO          Not specified"
9 46,51 SAY ZCITO PICT '99999'
0 46,64 SAY ZCMO/ZREINS*100 PICT '99,9'
0 47,13 SAY "Ml          Air filter element"
0 47,51 SAY ZCM1 PICT '99999'
0 47,64 SAY ZCP11/ZREINS»100 PICT '99,9'
0 48,13 SAY "H2          TAC"
9 48,51 SAY ZCM2 PICT '99999'
0 48,64 SAY ZCH2/ZREINS*100 PICT '99,9'
8 49,13 SAY "N3          Idle  speed"
0 49,51 SAY ZCH3 PICT '99999'
e 49,64 SAY ZCH3/ZREINS*100 PICT '99.9'
0 50,13 SAY "H4          Air/fuel aixture"
0 50,51 SAY ZCH4 PICT '99999'
0 50,64 SAY ZCM4/ZREINS«100 PICT '99,9'
0 51,13 SAY "MS          Dwell"
0 51,51 SAY ZCM5 PICT '99999'
0 51,64 SAY ZCH5/ZREINS*100 PICT '99,9'
0 52,13 SAY "H6          Timing"
0 52,51 SAY ZCH6 PICT '99999'

-------
e 52,64 SAY ZCH6/ZREINS*100 PICT '99.9'
e 53,13 SAY "H7          Spark plugs"
0 53,51 SAY ZCH7 PICT '99999'
8 53,44 SAY ZCH7/ZREIHS*100 PICT '99,9'
8 54,13 SAY "H8          Spark plug wires"
8 54,51 SAY ZCW8 PICT '99999'
0 54,64 SAY ZCM8/ZREINS*100 PICT '99,9'
9 55,13 SAY "«9          Vacuum hose"
0 55,51 SAY ZCH9 PICT '99999'
e 55,64 SAY ZCH9/ZREINS*100 PICT '99,9'
8 56,13 SAY "NO          Electronic controls"
8 56,51 SAY ZCNO PICT '99999'
8 56,64 SAY ZCNO/ZREINS*100 PICT '99,9'
8 57,13 SAY "Nl          Lo« eaission tune-up"
(? 57,51 SAY ZCN1 PICT '99999'
6 57,64 SAY ZCN1/ZREINS*100 PICT '99,9'
8 58,13 SAY "N2          Other"
6 58,51 SAY ZCN2 PICT '99999'
0 56,64 SAY ZCN2/ZREINS*100 PICT '99,9'
SET DEVI TO SCRE
EJEC
CLEA

SELE A
CO TOP
SET INDE TO ISTATION
**#» CALCULATE TOTALS BY STATION
IX) UHIL .NOT, EOFO
   STOR STATION 1 TO HSTAT
   SELE C
   APPE BLAN
   REPL STATION WITH HSTAT
   ?I«TAT
   STOR 0 TO TOTAL
   STOR 0 TO PASS
   STOR 0 TO HFAIL
   STOR 0 TO CFAIL
   STOR 0 TO BFAIL
   STOR 0 TO HRFAIL
   STOR 0 TO CRFAIL
   STOR 0 TO BRFAIL
   STOR 0 TO HEXEHPT
   STOR 0 TO WAIVED
   STOR 0 TO HCOHPLI
   STOR 0 TO HFVAL
   STOR 0 TO CFVAL
   STOR 0 TO HRFVAL
   STOR 0 TO CRFVAL
   STOR 0 TO REPCOST
   STOR 0 TO CE1
   STOR 0 TO CTO
   STOR 0 TO CT1
   STOR 0 TO CT2
   STOR 0 TO CT3
   STOR 0 TO CT4
   STOR 0 TO CT5
   STORO TOCT6
   STOR 0 TO CT7
   STOR 0 TO CfK)
   STOR 0 TO Oil

-------
STOR 0 TO CH2
STOR 0 70013
STOR 0 TO CH4
STOR 0 TO 015
STOR 0 TO 016
STOROTOCH7
STOR 0 TO 018
STOR 0 TO CH9
STOR 0 TO CNO
STOR 0 TOCN1
STOR 0 TO CN2
STOR 0 TO CSTCNT
STOR 0 TO REINS
SELE A
DO WHIL STATION 1=HSTAT
   STOR TOTAL+1 TO TOTAL
   IF EXEMPT*!
      STOR HEXEPPT+l TO HEXEFPT
   ELSE
      DO CASE
         CASE STATUB1HOT1 ,AND. STATUS1CO="P"
            STOR HFAIL+1 TO HFAIL
            STOR HFVAL+HC FIRST TO HFVAL
         CASE STATUS1CQ="F" .AND, STATUS1HC="P"
            STOR CFAIL+1 TO CFAIL
            STOR CFVAL+CO FIRST TO CFVAL
         CASE STATUS1HC="F" ,AND, STATUS1CQ="F"
            STOR BFAIL+1 TO BFAIL
            STOR HFVAL+HC FIRST TO HFVAL
            STOR CFVAL+CO FIRST TO CFVAL
         CASE STATUS1HC="P" ,AND, STATUS1CO="P"
            STOR PASS+1 TO PASS
      ENDC

      IF HC RE>0  .OR. CO RE>0
         STOR HRFVAL+HC RE TO HRFVAL
         STOR CRFVAL+CO.RE TO CRFVAL
         IF STATUSMX'F" .AND. STATUS2CO="P"
            STOR WAIL+1 TO HRFAIL
         ENDI
         IF STATlfi2CO="F" .AND. STATUS2HC="P"
            STOR CRFAIL+1 TO CRFAIL
         ENDI
         IF STATUS2HC="F" .AND. STATUS2CO="F"
            STOR BRFAIL+1 TO BRFAIL
         ENDI
         STOR REINS+1 TO REINS
      ELSE
         STOR HRFVAL+HC FIRST TO HRFVAL
         STOR CRFVAL+CO FIRST TO CRFVAL
      ENDI
      IF MAIVED=1
         STOR PIUAIVED+1 TO BUAIVED
      ENDI
      IF C 207B=1
         STOR HCGNPLI+1 TO HCOHPLI
      ENDI
      IF COST>0
         STOR REPCOST+COST TO REPCOST
         STOR CSTCNT+1 TO CSTCNT

-------
      ENDI
      STOR LEN(TRIH TO LENGTH
      STOR 1 TO X
      DO UHIL X
-------
   IF SUBSTl«HSIATl,LEN(NSTATl)-5,l)s" "
      STOR "SO"+SUBSTR(HSTATl,LEN
-------
   STOR ZLINES+1  TO ZLINES
   SKIP
   IF ZLINES>55 ,OR. EOFO
      8 PROWO+1,4 SAY ZBOT
      EJEC
      STOR 11 TO  ZLINES
      STOR ZPAGE+1 TO ZPAGE
   ENDI
*  ERAS &ZEFILE
ENDD
PACK
SET DEVI TO SCRE
EJEC
CLEA
RETU
*** EOF

-------
**** SUMHARY5.PRG

****##* SET UP COMPUTER
CLEAR ALL
SET BELL OFF
SET CONFIRM ON
SET DELETED ON
SET ECHO OFF
SET ESCAPE ON
***SET EXACT ON
SET FUNCTION 10 TO '(WIT;'
SET INTENSITY ON
SET SAFETY OFF
SET TALK OFF
***SET UNIQUE ON
SET FUNCTION 10 TO '99'

***** ALLOW USERS TO SELECT INSPECTION STATION
SELE A
USE MISSOURI
CLEA
STOR "      " TO WSTATION
STOR 0 TO FLAG
8 4,27 SAY "Please select the station that"
0 5,27 SAY "you wish to analyze:"
DO WHIL FLAG=0
   e 5,51 GET HSTATION PICT '999999'
   READ
   LOCA FOR STATIQN_1=MSTATION
   IF EOFO
      ?? CHR(7)
      (? 10,33 SAY MSTATION+" NOT FOUND"
      WAIT "                                PRESS ANY KEY TO CONTINUE"
      B 9,0 CLEA
   ELSE
      STOR 1 TO FLAG
   ENDI
ENDD
STOR " " TO ANS
0 B,22 SAY "Would you like an ASCII copy of the"
8 9,22 SAY "data for station "+HSTATIQN+"?"
DO UHIL ANSO'T .AND. ANSO"N"
   STOR "N" TO ANS
   I? 9,46 GET ANS PICT '!'
   READ
ENDD
SET COLO TO W*+,B
fi 13,35 SAY "PROCESSING-
SET COLO TO U
STOR "S"+SUBSTR(HSTATION,LEN(HSTATION>-5,6> TO DATAB
COPY STRU TO &DATAB
CLOS DATA
SELE A
USE iDATAB
APPE FROM MISSOURI FOR STATION 1=MSTATION
IF .NOT, FILEC'IMKYR.NDX")
*  !QX iDATAB MAKE IMKYR
ENDI
IF .NOT, FILEC'INSPECT.NDX")
*  !QX &DATAB INSPECT 1 INSPECT

-------
ENDI

IF ANS="Y"
   COPY TO &DATAB DELIMITED
ENDI
***#*** PREPARE DATA BASE
SELE C
USE INSPECT
ZAP
SELE B
USE MAKE
ZAP
SELE A
CLEA
SET COLO TO W*+,B
8 10,20 SAY "PLEASE WAIT WHILE I INDEX THE DATA BASE,
SET COLO TO W
IF ,NOT, FILErMYR.NDX")
   INDE ON MAKE TO IHKYR
ELSE
   SET INDE TO IMKYR
   REIN
ENDI
IF ,NOT, FILEC'INSPECT.NDX")
   INDE ON INSPECT 1 TO INSPECT
ELSE
   SET INDE TO INSPECT
   REIN
ENDI

SET INDE TO IMKYR

GO TOP
CLEA
***# MAIN PROGRAM

**** CALCULATE TOTALS BY HAKE

STOR 71 TO NEYEAR
STOR 98 TO FISYEAR
STOR 0 TO CE1
STOR 0 TO CTO
STOR 0 TO CT1
STOR 0 TO CT2
STOR 0 TO CT3
STOR 0 TO CT4
STOR OTO CT5
STOR 0 TO CT6
STOR 0 TO CT7
STOR 0 TO 010
STOR 0 TO CHI
STOR 0 TO 012
STOR 0 TO CM3
STOR 0 TO CH4
STOR 0 TO CH5
STOR o TO cm
STOR 0 TO 017
STOR o TO cue
STOR 0 TO CH9
STOR 0 TO CNO

-------
STOR 0 TO CHI
STOR 0 TOCN2
STOR 0 TO TOTAL1
STOR 0 TO PASS1
STOR 0 TO HVAL1
STOR 0 TO HSQ1
STOR 0 TO WAXl
STOR 2000 TO HHIN1
STOR 0,00 TO tmi
STOR 0,00 TO CSQ1
STOR 0,00 TO CMAX1
STOR 9,99 TO CHIN1
STOR 0 TO HFAIL1
STOR 0 TO CFAIL1
STOR 0 TO BFAIL1
STOR 0 TO HRFAIL1
STOR 0 TO CRFAIL1
STOR 0 TO BRFAIL1
STOR 0 TO HEXHPT1
STOR 0 TO HWAVED1
STOR 0 TO fDIPLIl
STOR 0 TO HRVAL1
STOR 0 TO HRS01
STOR 0 TO HRttAXl
STOR 2000 TO HRMIN1
STOR 0,00 TO CRVAL1
STOR 0,00 TO CRSQ1
STOR 0,00 TO CRMAX1
STOR 9,99 TO CRHIN1
STOR 0 TO RPCST1
STOR 0 TO RPCSTSG1
STOR 999 TO RPCSTHIN1
STOR 0 TO RPCSTNAX1
STOR 0 TO CSTCNT1
STOR 0 TO REINS1
STOR 0 TO TOTAL2
STOR 0 TO PASS2
STOR 0 TO WAL2
STOR 0 TO HSG2
STOR 0 TO HHAX2
STOR 2000 TO HMIN2
STOR 0,00 TO CVAL2
STOR 0.00 TO CSQ2
STOR 0,00 TO CHAX2
STOR 9,99 TO CHIN2
STOR 0 TO HFAIL2
STOR 0 TO CFAIL2
STOR 0 TO BFAIL2
STOR 0 TO HRFAIL2
STOR 0 TO CRFAIL2
STOR 0 TO BRFAIL2
STOR 0 TO HEXHPT2
STOR 0 TO MUAVED2
STOR 0 TO HCHPLI2
STOR 0 TO HRVAL2
STOR 0 TO HRSQ2
STOR 0 TO HRHAX2
STOR 2000 TO HRHIN2
STOR 0.00 TO CRVAL2
STOR 0,00 TO CRSQ2

-------
STOR 0,00 TO CRI1AX2
STOR 9,99 TO CRWIN2
STOR 0 TO RPCST2
STOR 0 TO RPCSTSQ2
STOR 999 TO RPCSTHIN2
STOR 0 TO RPCSTHAX2
STOR 0 TO CSTCNT2
STOR 0 TO REINS2
STOR 0 TO TOTALS
STOR 0 TO PASS3
STOR 0 TO HVAL3
STOROTOHSQ3
STOR 0 TO HHAX3
STOR 2000 TO HHIN3
STOR 0,00 TO CVAL3
STOR 0,00 TO CSQ3
STOR 0,00 TO CWAX3
STOR 9,99 TO CPIIN3
STOR 0 TO HFAIL3
STOR 0 TO CFAIL3
STOR 0 TO BFAIL3
STOR 0 TO HRFAIL3
STOR 0 TO CRFAIL3
STOR 0 TO BRFAIL3
STOR 0 TO HEXHPT3
STOR 0 TO MHAVED3
STOR 0 TO HCHPLI3
STOR 0 TO HRVAL3
STOR 0 TO HRSQ3
STOR 0 TO HRHAX3
STOR 2000 TO HRHIN3
STOR 0,00 TO CRVAL3
STOR 0,00 TO CRSQ3
STOR 0,00 TO CRMAX3
STOR 9,99 TO CRMIN3
STOR 0 TO RPCST3
STOR 0 TO RPCSTSQ3
STOR 999 TO RPCSTHIK3
STOR 0 TO RPCSTI1AX3
STOR 0 TO CSTCNT3
STOR 0 TO REINS3
STOR 0 TO TOTAL4
STOR 0 TO PASS4
STOR 0 TO HVAL4
STOR 0 TO HSQ4
STOR 0 TO HI1AX4
STOR 2000 TO HHIH4
STOR 0,00 TO CVAL4
STOR 0,00 TO CSQ4
STOR 0,00 TO CHAX4
STOR 9,99 TO CHIN4
STOR 0 TO HFAIL4
STOR 0 TO CFAIL4
STOR 0 TO BFAIL4
STOR 0 TO HRFAIL4
STOR 0 TO CRFAIL4
STOR 0 TO BRFAIL4
STOR 0 TO HEXHPT4
STOR 0 TO HUAVED4
STOR 0 TO MCHPLI4

-------
STOR 0 TO HRVAL4
STOR 0 TO HRSQ4
STOR 0 TO HRHAX4
STOR 2000 TO HRHIN4
STOR 0,00 TO CRVAL4
STOR 0,00 TO CRSQ4
STOR 0,00 TO CRPIAX4
STOR 9,99 TO CRHIN4
STOR 0 TO RPCST4
STOR 0 TO RPCSTSQ4
STOR 999 TO RPCSTHIH4
STOR 0 TO RPCSTMAX4
STOR 0 TO CSTCNT4
STOR 0 TO REINS4
STOR HAKE TO MAKE
STOR 0,00 TO HRED1A
STOR 0,00 TO W$D1
STOR 0,00 TO HREDSQ1
STOR 100,00 TO HREDHIN1
STOR 0,00 TO HREDNAX1
STOR 0.00 TO HRED2A
STOR 0,00 TO HRED2
STOR 0,00 TO HREDSQ2
STOR 100,00 TO HREDMIN2
STOR 0,00 TO HREDPIAX2
STOR 0,00 TO HRED3A
STOR 0,00 TO WO3
STOR 0,00 TO HREDSQ3
STOR 100,00 TO HREDHIN3
STOR 0,00 TO HREDMAX3
STOR 0.00 TO HRED4A
STOR 0.00 TO HRED4
STOR 0,00 TO HREDSQ4
STOR 100.00 TO HREDHIN4
STOR 0.00 TO HREDPIAX4
STOR 0,00 TO CRED1A
STOR 0,00 TO CRED1
STOR 0,00 TO CREDSQ1
STOR 100,00 TO CREDNIN1
STOR 0,00 TO CREDHAX1
STOR 0,00 TO CRED2A
STOR 0,00 TO CRED2
STOR 0,00 TO CREDSQ2
STOR 100,00 TO CREDHIN2
STOR 0.00 TO CREDHAX2
STOR 0,00 TO CRED3A
STOR 0,00 TO CRED3
STOR 0,00 TO CREDSQ3
STOR 100,00 TO CREDNIN3
STOR 0,00 TO CREDHAX3
STOR 0,00 TO CRED4A
STOR 0,00 TO CRED4
STOR 0,00 TO CREDSQ4
STOR 100,00 TO CREDHIN4
STOR 0.00 TO CREDHAX4
STOR 0 TO ZTOTAL
STOR 0 TO ZREINS
STOR 0 TO ZFAIL
STOR 0 TO ZRFAIL

-------
DO WHIL ,NQT, EOFO
      IF YEAR>HEYEAR
         STOR YEAR TO HEYEAR
      ENDI
      IF YEARdlSYEAR
         STOR YEAR TO HSYEAR
      ENDI
      DO CASE
         CASE YEAR<75
           STOR TOTAL1+1 TO TOTAL1
           IF EXEMPTS
              STOR HEXflPTl+1 TO HEXfPTl
           ELSE
              STOR HC FIRST+HWL1 TO HVAL1
              STOR HC FIRSTA2+HSQ1 TO HSQi
              STOR CO FIRST+CVAL1 TO CVALi
              STOR CO FIRSTA2+CSG1 TO CSQ1
              IF HC FIRSTHHAX1
                 STOR HC FIRST TO HHAXi
              ENDI
              IF CO FIRSTCHAX1
                 STOR COJIRST TO CRAX1
              ENDI
              DO CASE
                 CASE STATUSIWX'F" ,AND, STATUS1CO="P"
                    STOR HFAIL1+1 TO HFAIL1
                 CASE STATUS1CO="F" ,AND, STATUS1HC="P"
                    STOR CFAIL1+1 TO CFAIL1
                 CASE STATUS1HC="F" ,AND, STATUS1CO="F"
                    STOR BFAILl+i TO BFAIL1
                 CASE STATUS1HC="P" .AND, STATUSICO^'P"
                    STOR PASS1+1 TO PASS1
              ENDC
              IF HC RE>0 ,OR, CO RE>0
                 STOR HRVAL1+HC RE TO HRVAL1
                 STOR HC REA2+HRSQ1 TO HRSQ1
                 STOR CRVAL1+CO.RE TO CRVAL1
                 STOR CO REA2+CRSQ1 TO CRSQ1
                 STOR REINS1+1 TO REINS1
                 IF STATUS2HC="F" ,AND. STATUS2CO=1>P"
                    STOR HRFAILU1 TO HRFAIL1
                 ENDI
                 IF STATUS2CO="F" ,AND, STATUS2HC="P"
                    STOR CRFAIL1+1 TO CRFAIL1
                 ENDI
                 IF STATUS2HC="F" ,AND, STATl£2CO="F"
                    STOR BRFAIL1+1 TO RRFAIL1
                 ENDI
                 IF HC REHRHAX1
                    STOR HC.RE TO HRHAX1
                 ENDI

-------
        IF CO REHREDHAX1
            STOR HRED1A TO HREDHAX1
        ENDI
        IF CO FIRSTOO
           STOR (CO  FIRST-CO RE)/CO FIRST*100 TO CRED1A
        ELSE
           STOR 0 TO CRED1A
        ENDI
        STOR CRED1A+CRED1  TO CRED1
        STOR CRED1AA2+CREDSQ1 TO CREDSQi
        IF CRED1ACREDHAX1
            STOR CRED1A TO CREDHAXi
        ENDI
     ENDI
     IF WAIVED=1
        STOR PIUAVEDl+1 TO MUAVED1
     ENDI
     IF C 207B=1
        STOR HOFLIl+1 TO HCHPLI1
     ENDI
     IF COST>0
        STOR RPCST1+COST  TO RPCST1
        STOR RPCSTSQ1+COSTA2 TO RPCSTSQ1
        STOR CSTCNTl+1 TO CSTCNT1
        IF COSTRPCSTHAX1
           STOR COST TO RPCSTNAX1
        ENDI
     ENDI
  ENDI
CASE YEAR>74  ,AND,  YEAR<80
   STOR TOTAL2+1 TO TOTAL2
   IF EXEMPTS
      STOR HEXHPT2+1 TO HEXP1FT2
   ELSE
      STOR HC FIRST+HVAL2 TO HVAL2
      STOR HC FIRSTA2+HSQ2 TO H5Q2
      STOR CO FIRSMM.2 TO CVAL2
      STOR CO FIRSTA2+CSQ2 TO CSQ2

-------
IF HC FIRSTHMAX2
   STOR HC FIRST TO HHAX2
ENDI
IF CO FIRST0 .OR. CO RE>0
   STOR HRVAL2+HC_RE TO HRVAL2
   STOR HC REA2+HRSQ2 TO HRSQ2
   STOR CRVAL2+CO RE TO CRVAL2
   STOR CO_REA2+CRSQ2 TO CRSQ2
   STOR REINS2+1 TO REINS2
   IF STATUS2HC="F" .AND. STATUS2CO="P"
      STOR HRFAIL2+1 TO HRFAIL2
   ENDI
   IF STAIUS2CO=T' .AND. STATUS2HC="P"
      STOR CRFAIL2+1 TO CRFAIL2
   ENDI
   IF STATUS2HC="F" .AND. STATUS2CO="F"
      STOR BRFAIL2+1 TO BRFAIL2
   ENDI
   IF HC REHRHAX2
      STOR HC RE TO HRHAX2
   ENDI
   IF CO RECRHAX2
      STOR CO RE TO CR11AX2
   ENDI
   IF HC FIRSTOO
      STOR (HC FIRST-HC RE)/HC FIRST»100 TO HRED2A
   ELSE
      STOR 0 TO HRED2A
   ENDI
   STOR HRED2A+HRED2 TO HRED2
   STOR HRED2AA2+HREDSQ2 TO HREDSQ2
   IF HRED2AHREDHAX2

-------
             STOR HRED2A TO HREDHAX2
         ENDI
         IF CO FIRSTOO
            STOR (CO FIRST-CO RE)/CO FIRST*100 TO CRED2A
         ELSE
            STOR 0 TO CRED2A
         ENDI
         STOR CRED2A+CRED2 TO CRED2
         STOR CRED2AA2+CREDSQ2 TO CREDSQ2
         IF CRED2A(CREDMIK2
             STOR CRED2A TO CREDMIN2
         ENDI
         IF CRED2A>CREDNAX2
             STOR CRED2A TO CREDHAX2
         ENDI
      ENDI
      IF UAIVED=1
         STOR HWAVED2+1 TO HUAVED2
      ENDI
      IF C 207B=1
         STOR HCHPLI2+1 TO HCHPLI2
      ENDI
     IF COST>0
        STOR RPCST2+COST TO RPCST2
        STOR RPCSTSQ2+COSTA2 TO RPCSTSQ2
        STOR CSTCNT2+1 TO CSTCNT2
        IF COSTRPCSTP!AX2
           STOR COST TO RPCSTRAX2
        ENDI
     ENDI
   ENDI
CASE YEAR=80
   STOR TOTAL3+1 TO TOTALS
   IF EXEHPM
      STOR MEXfPT3+l TO MEX11PT3
   ELSE
      STOR HC FIRST+HVAL3 TO HVAL3
      STOR HC FIRSTA2+HSQ3 TO HSQ3
      STOR CO FIRST+CVAL3 TO CVAL3
      STOR CO FIRSTA2+CSQ3 TO CSQ3
      IF HC FIRSTHRAX3
         STOR HC FIRST TO HHAX3
      ENDI
      IF CO FIRSTCHAX3
         STOR CO FIRST TO 01AX3
      ENDI
      DO CASE
         CASE STATUS1HC="F"  .AND. STATUS1CO="P"
            STOR HFAIL3+1 TO HFAIL3
         CASE STATUS1CO="F"  .AND. STATl^iHC="P11
            STOR CFAIL3+1 TO CFAIL3

-------
   CASE STATUS1HC="F" .AND, STATUS1CO="F"
      STOR BFAIL3+1 TO BFAIL3
   CASE STATUS1HC="P" ,AND, STATUS1CO="P"
      STOR PASS3+1 TO PASS3
ENDC
IF HC RE>0 ,OR, CO RE>0
   STOR HRVAL3+HC RE TO HRVAL3
   STOR HC RE*2+HRSQ3 TO HRSQ3
   STOR CRVAL3+CQ RE TO CRVAL3
   STOR CO REA2+CRSQ3 TO CRSQ3
   STOR REINS3+1 TO REINS3
   IF STATUS2HC="F" .AND, STATUS2CO="P"
      STOR HRFAIL3+1 TO HRFAIL3
   ENDI
   IF STATUS2CO="F" ,AND, STATUS2HC="P"
      STOR CRFAIL3+1 TO CRFAIL3
   ENDI
   IF STATUS2HC="F" ,AND, STATUSZCO^'F"
      STOR BRFAIL3+1 TO BRFAIL3
   ENDI
   IF HC REHRHAX3
      STOR HC RE TO HRHAX3
   ENDI
   IF CO RECRHAX3
      STOR CO RE TO CRHAX3
   ENDI
  IF HC FIRSTOO
     STO>! (HC FIRST-HC RE)/HC FIRST*100 TO HRED3A
  ELSE
     STOR 0 TO HRED3A
  ENDI
  STOR HRED3A+HRED3 TO HRED3
  STOR HRED3AA2+HREDSQ3 TO HREDSQ3
  IF HRED3AHREDRAX3
      STOR HRED3A TO HREDMAX3
  ENDI
  IF CO FIRSTOO
     STOR (CO FIRST-CO REJ/CO FIRSWOO TO CRED3A
  ELSE
     STOR 0 TO CRED3A
  ENDI
  STOR CRED3A+CRED3 TO CRED3
  STOR CRED3AA2+CREDSQ3 TO CREDSQ3
  IF CRED3ACREDHAX3
      STOR CRED3A TO CREDMAX3
  ENDI
ENDI
IF WAIVED=1 •

-------
          STOR WAYED3+1  TO HWAVED3
       ENDI
       IF C 207B=1
          STOR fWLIS+l  TO HCHPLI3
       ENDI
      IF COST>0
         STOR RPCST3+COST TO  RPCST3
         STOR RPCSTSQ3+COSTA2 TO RPCSTSQ3
         STOR CSTCNT3+1 TO CSTCNT3
         IF COSTH11AX4
         STOR HC FIRST TO HHAX4
      ENDI
      IF CO FIRSTCI1AX4
         STOR CO FIRST TO CHAX4
      ENDI
      DO CASE
         CASE STATUS1HC="F" ,AND, STATUS1CO="P11
            STOR HFAIL4+1 TO HFAIL4
         CASE STATUS1CO="F" ,AND, STATUS1HC="P"
            STOR CFAIL4+1 TO CFAIL4
         CASE STATUS1HC="F" ,AND, STATUS1CO="F"
            STOR BFAIL4+1 TO BFAIL4
         CASE STATIB1HC="P" ,AND, STATUS1CO="P"
            STOR PASS4+1 TO PASS4
      ENDC
      IF HC RE>0  ,OR, CO RE>0
         STOR HRVAL4+HC RE TO HRVAL4
         STOR HC REA2+KRSQ4 TO HRSG4
         STOR CRVAL4+CO RE TO CRVAL4
         STOR CO REA2+CRSQ4 TO CRSQ4
         STOR REINS4+1 TO REINS4
         IF STATUS2HC="F"  ,AND, STATLB2CO="P"
            STOR HRFAIL4+1 TO HRFAIL4
         ENDI
         IF STATUS2CO="F"  ,AND, STATLIS2HC="P"
            STOR CRFAIL4+1 TO CRFAIL4
         ENDI

-------
      IF STATUS2HC="F" .AND, STATUS2CO="F"
        STOR BRFAIL4+1 TO BRFAIL4
      ENDI
      IF HC RE(KRHIN4
        STOR HC RE TO HRMIN4
      ENDI
      IF HC RE>HRHAX4
        STOR HC RE TO HRHAX4
      ENDI
      IF CO RECRHAX4
        STOR CO RE TO CRHAX4
      ENDI
      IF HC FIRSTOO
        STOR (HC FIRST-HC RE)/HC FIRSTHOO TO HRED4A
      ELSE
        STOR 0 TO HRED4A
      ENDI
      STOR HRED4A+HRED4 TO HRED4
      STOR HRED4AA2+HREDSQ4 TO HREDSQ4
      IF HRED4AHREDMAX4
         STOR HRED4A TO HREDHAX4
      ENDI
      IF CO FIRSTOO
        STOR (CO FIRST-CO RE)/CO FIRST*100 TO CRED4A
      ELSE
        STOR 0 TO CRED4A
      ENDI
      STOR CRED4A+CRED4 TO CRED4
      STOR CRED4AA2+CREDSQ4 TO CREDSQ4
      IF CRED4A(CREDHIN4
         STOR CRED4A TO CREDHIN4
      ENDI
      IF CRED4A>CREDHAX4
         STOR CRED4A TO CRED«AX4
      ENDI
   ENDI
   IF HAIVED=1
      STOR HWAVED4+1 TO WAVED4
   ENDI
   IF C 207B=1
      STOR HCHPLI4+1 TO HOM.I4
   ENDI
   IFCOST>0
      STOR RPCST4+COST TO RPCST4
      STOR RPCSTSQ4+COSTA2 TO RPCSTSQ4
      STOR CSTCNT4+1 TO CSTCNT4
      IF COST(RPCSTflIN4
        STOR COST TO RPCSTHIN4
      ENDI
      IF COST>RFtSTflAX4
        STOR COST TO RPCSTHAX4
      ENDI
   ENDI
ENDI

-------
      ENDC
      STOR LEN(TRIPKCODES)) TO LENGTH
      STOR 1 TO X
      DO WHIL X63 SAY "through 19"
      Q PROW(),73 SAY HEYEAR PICT '99'
      8 PROW(),75 SAY "."
      I? PROUO+2,6 SAY DATEO
      6 PROH(),46 SAY "Page"
      C PROU(),71 SAY PAGE PICT '««'
      9 PROWO+1,4 SAY TOP

-------
      8 PROW)+1,26 SAY  "Initial Inspections"
      9 PROW),57  SAY  "Reinspections"
      8 PROWO+1,5 SAY "Vehicle Make"
      8 PROW),23  SAY  "Tests  Failures  Percent"
      § PROW),52  SAY  "Tests  Failures  Percent"
      6 PROW)+1,4 SAY BOT
   ENDI
   STOR HAKE TO  ZHAKE
   REST FROM iZMAKE ADDITIVE
   8 PROW)+1,9  SAY ZMAKE PICT  'AAAA'
   9 PROW),23 SAY ZTOTAL PICT  '99999'
   6 PROW),32 SAY ZFAIL PICT  '99999'
   0 PROW),41 SAY ZFAIL/ZTOTAL*100 PICT '999,9'
   0 PROW),52 SAY ZREINS PICT  '99999'
   0 PROW),61 SAY ZRFAIL PICT  '99999'
   IF ZREINS=0
      6 PROU(),72  SAY  "0,0"
   ELSE
      § PROW),70  SAY  ZRFAIL/ZREINS*100 PICT '999.9'
   ENDI
   RELE ALL LIKE Z*
   STOR LINES+1  TO LINES
   SKIP
   IFLINES=55 ,OR, EOFO
      0 PROW)+1,4 SAY BOT
      EJEC
      STOR 11 TO LINES
      STOR PAGE+1  TO PACE
   ENDI
ENDD
PACK
8 1,28 SAY "FAILURE RATE SUMMARY REPORT"
6 2,27 SAY "FOR  INSPECTION STATION"
ft 2,50 SAY HSTATION PICT '999999'
8 3,fl SAY DATEO
8 3,64 SAY "Page"
8 3,69 SAY PAGE  PICT  '99'
@ 5,6 SAY "This  report summarizes  data for vehicle model years 19"
8 5,60 SAY ItSYEAR  PICT '99'
8 5,63 SAY "through 19"
8 5,73 SAY PIEYEAR  PICT '99'
(? 5,75 SAY ","
8 8,28 SAY "*****  General Summary  *****"
(» 10,1 SAY "======="+TOP
8 11,3 SAY "Description"
0 11,20 SAY "Total"
@ 11,30 SAY "1971  - 1974"
0 11,43 SAY "1975  - 1979"
8 11,60 SAY "1980"
6 11,71 SAY "1981  +"
8 12,17 SAY "No, Percent  No, Percent  No, Percent  No, Percent  No, Percent"
0 13,1 SAY "	"+BOT
0 14,1 SAY "Emission Tests"
STOR TOTAL1+TOTAL2+TOTAL3+TOTAL4 TO TOTALT
STOR flEXf1PTl+flEXHPT2+l1EXRPT3+l1EXI1PT4 TO HEXNPTT
STOR TOTALT-HEXMFTT TO TESTT
STOR TOTAL1-HEXHPT1 TO TEST1
STOR TOTAL2-HEXHPT2 TO TEST2
STOR TOTAL3-HEXMPT3 TO TEST3
STOR TOTAL4-HEXHPT4 TO TEST4

-------
0 14,17 SAY TOTALT PICT '9999'
8 14,30 SAY TOTAL1 PICT '9999'
0 14,43 SAY TOTAL2 PICT '9999'
9 14,5* SAY TOTALS PICT '9999'
0 14,69 SAY TOTAL4 PICT '9999'
8 16,1 SAY "Passing Vehicles"
STOR PASS1+PASS2+PASS3+PASS4 TO PASST
0 16,17 SAY PASST PICT '9999'
IF TESTT=0
   8 16,24 SAY "0,00"
ESE
   0 16,22 SAY PASST/TESTT*100 PICT '999,99'
EHDI
6 16,30 SAY PASS1 PICT '9999'
IF TEST1=0
   0 16,37 SAY "0,00"
ELSE
   0 16,35 SAY PASS1/TEST1*100 PICT '999,99'
ENDI
0 16,43 SAY PASS2 PICT '9999'
IF TEST2=0
   I? 16,50 SAY "0,00"
ELSE
   0 16,4ft SAY PASS2/TEST2*100 PICT '999,99'
ENDI
0 16,56 SAY PASS3 PICT '9999'
IF TEST3=0
   0 16,63 SAY "0,00"
ELSE
   6 16,61 SAY PASS3/TEST3*100 PICT '999,99'
ENDI
0 16,69 SAY PASS4 PICT '9999'
IF TEST4=0
   0 16,76 SAY "0,00"
ELSE
   0 16,74 SAY PASS4/TEST4*100 PICT '999,99'
ENDI
0 16,1 SAY "Initial Inspection"
STOR HFAIL1+HFAIL2+HFAIL3+HFAIL4 TO HFAILT
0 19,4 SAY "Failed HC"
0 19,17 SAY HFAILT PICT '9999'
IFTESH=0
   8 19,24 SAY "0,00"
ELSE
   0 19,22 SAY HFAILT/TESTT»100 PICT '999,99'
ENDI
0 19,30 SAY HFAIL1 PICT '9999'
IF TEST1=0
   0 19,37 SAY "0,00"
ELSE
   0 19,35 SAY HFAIL1/TESTMOO PICT '999,99'
ENDI
0 19,43 SAY HFAIL2 PICT '9999'
IF TEST2=0
   0 19,50 SAY "0,00"
ELSE
   0 19,48 SAY HFAIL2/TEST2*100 PICT '999,99'
ENDI
0 19,56 SAY HFAIL3 PICT '9999'
IF TEST3=0

-------
   I! 19,63 SAY "0,00"
ELSE
   9 19,61 SAY HFAIL3/TEST3«100 PICT '999,99'
ENDI
9 19,69 SAY HFAIL4 PICT '9999'
IF TEST4=0
   9 19,76 SAY "0,00"
ELSE
8 19,74 SAY HFAIL4/TEST4*100 PICT '999,99'
ENDI
0 20,4 SAY "Failed CO"
STOR CFAIL1+CFAIL2+CFAIL3+CFAIL4 TO CFAILT
9 20,17 SAY CFAILT PICT '9999'
IF TESTT=0
   (« 20,24 SAY "0,00"
ELSE
9 20,22 SAY CFAILT/TESTWOO PICT '999,99'
ENDI
0 20,30 SAY CFAIL1 PICT '9999'
IF TEST1=0
   9 20,37 SAY "0,00"
ELSE
9 20,35 SAY CFAIL1/TEST1*100 PICT '999,99'
ENDI
9 20,43 SAY CFAIL2 PICT '9999'
IF TEST2=0
   9 20,50 SAY "0,00"
ELSE
0 20,48 SAY CFAIL2/TEST2*100 PICT '999,99'
ENDI
9 20,56 SAY CFAIL3 PICT '9999'
IF TEST3=0
   9 20,63 SAY "0,00"
ELSE
9 20,61 SAY CFAIL3/TEST3*100 PICT '999,99'
ENDI
e 20,69 SAY CFAIL4 PICT '9999'
IF TEST4=0
   I? 20,76 SAY "0,00"
ELSE
0 20,74 SAY CFAIL4/TEST4#100 PICT '999,99'
ENDI
0 21,4 SAY "Failed Both"
STOR BFAIL1+BFAIL2+BFAIL3+BFAIL4 TO BFAILT
5 21,17 SAY BFAILT PICT '9999'
IF TESTT=0
   P 21,24 SAY "0.00"
ELSE
? 21,22 SAY BFAILT/TESTWOO PICT '999,99'
ENDI
(? 21,30 SAY BFAIL1 PICT '9999'
IF TEST1=0
   9 21,37 SAY "0,00"
ELSE
ff 21,35 SAY BFAIL1/TEST1«100 PICT '999,99'
ENDI
8 21,43 SAY BFAIL2 PICT '9999'
IF TEST2=0
   5 21,50 SAY "0,00"
ELSE

-------
8 21,48 SAY BFAIL2/TEST2*100 PICT '999.99'
mi
8 21,56 SAY BFAIL3 PICT '9999'
IF TEST3=0
   9 21,63 SAY "0,00"
ELSE
8 21,61 SAY BFAIL3/TEST3*100 PICT '999,99'
ENDI
8 21,69 SAY BFAIL4 PICT '9999'
IF TEST4=0
   8 21,76 SAY "0.00"
ELSE
8 21,74 SAY BFAIL4/TEST4*100 PICT '999,99'
ENDI
8 22,4 SAY "Overall"
STOR HFAILT+CFAILT+BFAILT TO OFAILT
STOR HFAIL1+CFAIL1+BFAIL1 TO OFAIL1
STOR HFAIL2+CFAIL2+BFAIL2 TO OFAIL2
STOR HFAIL3+CFAIL3+BFAIL3 TO OFAIL3
STOR HFAIL4+CFAIL4+BFAIL4 TO OFAIL4
8 22,17 SAY OFAILT PICT '9999'
IF TESTT=0
   § 22,24 SAY "0,00"
ELSE
6 22,22 SAY OFAILT/TESmiOO PICT '999,99'
ENDI
0 22,30 SAY OFAIL1 PICT '9999'
IF TEST1=0
   8 22,37 SAY "0,00"
ELSE
8 22,35 SAY OFAIL1/TEST1*100 PICT '999.99'
ENDI
8 22,43 SAY OFAIL2 PICT '9999'
IF TEST2:0
   8 22,50 SAY "0,00"
ELSE
8 22,48 SAY OFAIL2/TEST2#100 PICT '999.99'
ENDI
8 22,56 SAY OFAIL3 PICT '9999'
IF TEST3=0
   8 22,63 SAY "0.00"
ELSE
8 22,61 SAY OFAIL3/TEST3»100 PICT '999,99'
ENDI
8 22,69 SAY OFAIL4 PICT '9999'
IF TEST4=0
   8 22,76 SAY "0,00"
ELSE
8 22,74 SAY OFAIL4/TEST4*100 PICT '999,99'
ENDI
STOR HRFAIL1+HRFAIL2+HRFAIL3+HRFAIL4 TO HRFAILT
STOR REINSUREINS2+REINS3+REINS4 TO REINST
8 24,1 SAY "Reinspections"
9 25,4 SAY "Failed HC"
8 25,17 SAY HRFAILT PICT  '9999'
IF REINST=0
   8 25,24 SAY "0,0011
ELSE
8 25,22 SAY HRFAILT/REINST*100 PICT '999,99'
ENDI

-------
0 25,30 SAY HRFAIL1 PICT '9999'
IF REINS1=0
   0 25,37 SAY "0.00"
ELSE
0 25,35 SAY HRFAIL1/REINSMOO PICT '999,99'
ENDI
0 25,43 SAY HRFAIL2 PICT '9999'
IF REINS2:0
   0 25,50 SAY "O.OO"
ELSE
0 25,46 SAY HRFAIL2/REINS2*100 PICT '999,99'
ENDI
0 25,56 SAY HRFAIL3 PICT '9999'
IF REINS3=0
   9 25,63 SAY "0,00"
ELSE
0 25,61 SAY HRFAIL3/REINS3»100 PICT '999,99'
ENDI
0 25,69 SAY HRFAIL4 PICT '9999'
IF REINS4=0
   8 25,76 SAY "0,00"
ELSE
0 25,74 SAY HRFAIL4/REINS4*100 PICT '999,99'
ENDI
0 26,4 SAY "Failed CO"
STOR CRFAIL1+CRFAIL2+CRFAIL3+CRFAIL4 TO CRFAILT
0 26,17 SAY CRFAILT PICT '9999'
IF REINST=0
   0 26,24 SAY "0,00"
ELSE
0 26,22 SAY CRFAILT/REINSTHOO PICT '999,99'
ENDI
0 26,30 SAY CRFAIL1 PICT '9999'
IF REINS1=0
   0 26,37 SAY "0,00"
ELSE
0 26,35 SAY CRFAIL1/REINS1»100 PICT '999,99'
ENDI
0 26,43 SAY CRFAIL2 PICT '9999'
IF REINS2=0
   0 26,50 SAY "0,00"
ELSE
0 26,48 SAY CRFAIL2/REINS2*100 PICT '999,99'
ENDI
0 26,56 SAY CRFAIL3 PICT '9999'
IF REINS3=0
   0 26,63 SAY "0.00"
ELSE
0 26,61 SAY CRFAIL3/REINS3*100 PICT '999,99'
ENDI
0 26,69 SAY CRFAIL4 PICT '9999'
IF REINS4=0
   0 26,76 SAY "0,00"
ELSE
0 26,74 SAY CRFAIL4/REINS4»100 PICT '999,99'
ENDI
0 27,4 SAY "Failed Both"
STOR BRFAIL1+BRFAIL2+BRFAIL3+BRFAIL4 TO BRFAILT
0 27,17 SAY BRFAILT PICT '9999'
IF REINST=0

-------
   8 27,24 SAY "0,00"
ELSE
8 27,22 SAY BRFAILT/TESTT*100 PICT '999,99'
ENDI
8 27,30 SAY BRFAIL1 PICT '9999'
IF REINS1=0
   8 27,37 SAY "0,00"
ELSE
8 27,35 SAY BRFAILi/TESTl*100 PICT '999,99'
ENDI
S 27,43 SAY BRFAIL2 PICT '9999'
IF REINS2=0
   8 27,50 SAY "0,00"
ELSE
9 27,48 SAY BRFAIL2/TEST2*100 PICT '999,99'
ENDI
6 27,56 SAY BRFAIL3 PICT '9999'
IF REINS3=0
   I? 27,63 SAY "0,00"
ELSE
0 27,61 SAY BRFAIL3/TEST3*100 PICT '999,99'
ENDI
8 27,69 SAY BRFAIL4 PICT '9999'
IF REINS4=0
   0 27,76 SAY "0,00"
ELSE
8 27,74 SAY BRFAIL4/TEST4*100 PICT '999,99'
ENDI
8 28,4 SAY "Overall"
STOR HffAILT+CRFAILT+BRFAILT TO ORFAILT
STOR HRFAIL1+CRFAIL1+BRFAIL1 TO ORFAIL1
STOR mFAIL2+CRFAIL2+BRFAIL2 TO ORFAIL2
STOR HRFAIL3+CRFAIL3+BRFAIL3 TO ORFAIL3
STOR HRFAIL4+CRFAIL4+BRFAIL4 TO ORFAIL4
§ 28,17 SAY ORFAILT PICT '9999'
IF REINST=0
   P 28,24 SAY "0.00"
ELSE
6 28,22 SAY ORFAILT/REINST#100 PICT '999,99'
ENDI
0 28,30 SAY ORFAIL1 PICT '9999'
IF REINS1=0
   B 28,37 SAY "0,00"
ELSE
8 28,35 SAY ORFAIL1/REINS1*100 PICT '999,99'
ENDI
8 28,43 SAY ORFAIL2 PICT '9999'
IF REINS2=0
   8 28,50 SAY "0,00"
ELSE
8 28,48 SAY QRFAIL2/REINS2*100 PICT '999,99'
ENDI
8 26,56 SAY ORFAIL3 PICT '9999'
IF REINS3=0
   8 28,63 SAY "0,00"
ELSE
8 26,61 SAY ORFAIL3/REINS3»100 PICT '999,99'
ENDI
8 28,69 SAY ORFAIL4 PICT '9999'
IF REINS4--0

-------
   9 28,76 SAY "0,00"
ELSE
0 28,74 SAY ORFAIL4/REINS4*100 PICT '999,99'
ENDI
0 30,1 SAY "Exenpt Vehicles"
STOR MEXHFTl+HEXI1l^+nEX11PT3+l1EXfIPT4 TO HEXHPTT
0 30,17 SAY HEXI1PTT PICT '9999'
IF TOTALT=0
   8 30,24 SAY "0,00"
ELSE
0 30,22 SAY HEXI1PTT/TOTALT*100 PICT '999,99'
ENDI
0 30,30 SAY HEXHPT1 PICT '9999'
IF TOTAL1=0
   I? 30,37 SAY "0,00"
ELSE
0 30,35 SAY HEXRPTl/TOTALHtlOO PICT '999,99'
ENDI
0 30,43 SAY MEXI1PT2 PICT '9999'
IF TOTAL2=0
   0 30,50 SAY "0,00"
ELSE
0 30,48 SAY HEXHPT2/TOTAL2«100 PICT '999,99'
ENDI
6 30,56 SAY HEX1PT3 PICT '9999'
IF TOTAL3=0
   0 30,63 SAY "0,00"
ELSE
0 30,61 SAY HEXFPT3/TOTAL3K100 PICT '999,99'
ENDI
0 30,69 SAY HEXTFM PICT '9999'
IF TOTAL4=0
   0 30,76 SAY "0,00"
ELSE
0 30,74 SAY ME>OTWTOTAL4»iOO PICT '999.99'
ENDI
0 31,1 SAY "Waived vehicles"
STOR PHJAvEDl+HUAvID2+HWAVED3+fIWAVED4 TO UMAVEDT
0 31,17 SAY PWAVEDT PICT '9999'
IF TOTALT=0
   0 31,24 SAY "0,00"
ELSE
0 31,22 SAY HUAVEDT/TQTALT*100 PICT '999,99'
ENDI
0 31,30 SAY RWAVED1 PICT '9999'
IF TOTALING
   0 31,37 SAY "0,00"
ELSE
0 31,35 SAY MWAvEDl/TOTALUHOO PICT '999,99'
ENDI
0 31,43 SAY PWAVED2 PICT '9999'
IF TOTAL2=0
   0 31,50 SAY "0,00"
ELSE
0 31,48 SAY HHAVED2/TOTAL2*100 PICT '999,99'
ENDI
0 31,56 SAY C1WAVED3 PICT '9999'
IF TOTAL3=0
   0 31,63 SAY "0.00"
ELSE

-------
0 31,61 SAY MWAVED3/TOTAL3K100 PICT '999,99'
ENDI
0 31,69 SAY CWAVED4 PICT '9999'
IF TOTAL4=0
   I? 31,76 SAY "0,00"
ELSE
0 31,74 SAY HHAVED4/TOTAL4*100 PICT '999,99'
ENDI
8 32,1 SAY "Comply D/207-B"
STOR HCHPLIl+nCnPLI2+HCHPLI3+HCnPLI4 TO IWLIT
0 32,17 SAY HCKPLIT PICT '9999'
IF TOTALT=0
   0 32,24 SAY "0,00"
ELSE
0 32,22 SAY HCHPLIT/TOTALWOO PICT '999,99'
ENDI
0 32,30 SAY HCHPLI1 PICT '9999'
IF TOTAL1=0
   0 32,37 SAY "0,00"
ELSE
I 32,35 SAY HCHPLI1/TOTAL1*100 PICT '999,99'
ENDI
0 32,43 SAY HCHPLI2 PICT '9999'
IF TOTAL2=0
   e 32,50 SAY "0,00"
ELSE
0 32,48 SAY HCHPLI2/TOTAL2K100 PICT '999,99'
ENDI
0 32,56 SAY fOPLIS PICT '9999'
IF TOTAL3=0
   0 32,63 SAY "0,00"
ELSE
0 32,61 SAY «d1PLI3/TOTAL3*100 PICT '999,99'
ENDI
0 32,69 SAY HWLI4 PICT '9999'
IF TOTAL4=0
   0 32,76 SAY "0.00"
ELSE
0 32,74 SAY HCHPLI4/TOTAL4*100 PICT '999,99'
ENDI
STOR "There sere "+STR(HFAILT+BFAILT+CFAILT-REINST)+" vehicle(s)  that failed"  TO NI
0 34,40-LEN
-------
HHAXT
   STOR HHAX2 TO HMAXT
ENDI
IF HHAX3>Ht1AXT
   STOR HHAX3 TO HNAXT
ENDI
IF HHAX4>HHAXT
   STOR HHAX4 TO HWAXT
ENDI
IF HMINT=2000
   STOR 0,00 TO HUM
ENDI
IF HMIN1=2000
   STOR 0,00 TO HUM
ENDI
IF HHIN2=2000
   STOR 0,00 TO HHIN2
ENDI
IF HWN3=2000
   STOR 0,00 TO HMIN3
ENDI
IF HHIN4=2000
   STOR 0,00 TO HNIN4
ENDI
STOR 9,99 TO CUM
IF CHINKCPIM
   STOR CUM TO CUM
ENDI
IF CMIN2
-------
   STOR CHIN2 TO CHINT
ENDI
IF CHIN3CMAXT
   STOR CHAX2 TO CflftXT
ENDI
IF CHAX3>ChAXT
   STOR CHAX3 TO CHAXT
ENDI
IF CHAX4>C«AXT
   STOR CHAX4 TO CfttXT
ENDI
8 14,8 SAY "Mean"
IF TOTALT=0
   8 14,24 SAY "0"
ELSE
6 14,21 SAY WALT/TOTALT PICT '9999'
ENDI
IF TOTAL1=0
   8 14,37 SAY "0"
ELSE
§ 14,34 SAY HVAL1/TOTAL1 PICT '9999'
ENDI
IF TOTAL2=0
   8 14,24 SAY "0"
ELSE
6 14,47 SAY HVAL2/TOTAL2 PICT '9999'
ENDI
IF TOTAL3=0
   5 14,63 SAY "0"
0  14,60 SAY HVAL3/TOTAL3 PICT '9999'
ENDI
IF TOTAL4=0
   9  14,76 SAY "0"
ELSE

-------
8 14,73 SAY HVAL4/TOTAL4 PICT '9999'
0 15,8 SAY "Hin"
9 15,21 SAY MINT PICT '9999'
8 15,34 SAY HNIN1 PICT '9999'
8 15,47 SAY HHIN2 PICT '9999'
0 15,60 SAY HflIN3 PICT '9999'
8 15,73 SAY H1IN4 PICT '9999'
8 16,8 SAY "Hax"
8 16,21 SAY HHAXT PICT '9999'
8 16,34 SAY HHAX1 PICT '9999'
8 16,47 SAY HHAX2 PICT '9999'
8 16,60 SAY HHAX3 PICT '9999'
8 16,73 SAY HHAX4 PICT '9999'
STOR HSQ1+HSQ2+HSQ3+HSQ4 TO HSQT
STOR HVAL1+HVAL2+HVAL3+HVAL4 TO WALT
IF TOTALT<2
   STOR 0 TO HSTDT
ELSE
   STOR «TOTALT«HSQT-HVALTA2)/(TOTALT*
-------
ENDI
IF TOTAL2=0
   8 20,47 SAY "0,00"
ELSE
§ 20,47 SAY CVAL2/TOTAL2 PICT '9,99'
ENDI
IF TOTAL3=0
   8 20,60 SAY "0,00"
ELSE
8 20,60 SAY CVAL3/TOTAL3 PICT '9,99'
ENDI
IF TOTAL4=0
   9 20,73 SAY "0,00"
ELSE
8 20,73 SAY CVAL4/TOTAL4 PICT '9,99'
ENDI
I? 21,8 SAY "din"
U 21,21 SAY CHINT PICT '9,99'
(? 21,34 SAY CMIN1 PICT '9,99'
8 21,47 SAY CHIN2 PICT '9,99'
I? 21,60 SAY CHIN3 PICT '9.99'
8 21,73 SAY CHIN4 PICT '9,99'
0 22,6 SAY "ftex"
8 22,21 SAY CHAXT PICT '9,99'
0 22,34 SAY CRAX1 PICT '9.99'
8 22,47 SAY CMAX2 PICT '9,99'
8 22,60 SAY CHAX3 PICT '9,99'
8 22,73 SAY CMAX4 PICT '9,99'
STOR CSQ1+CSQ2+CSQ3+CSQ4 TO CSQT
STOR CVAL1+CVAL2+CVAL3+CVAL4 TO CVALT
IF TOTALT<2
   STOR 0.00 TO CSTDT
ELSE
STOR ((TOTALT*CSQT-CVALTA2)/(TOTALT*(TOTALM)))A0.5 TO CSTDT
ENDI
IF TOTALK2
   STOR 0.00 TO CSTD1
ELSE
STOR ((TOTAL1*CSQ1-CVAL1A2)/(TOTAL1*(TOTAL1-1)))A0,5 TO CSTD1
ENDI
IF TOTAL2<2
   STOR 0,00 TO CSTD2
ELSE
STOR ((TOTAL2«CSQ2-CVAL2A2)/(TOTAL2*(TOTAL2-1)))A0.5 TO CSTD2
ENDI
IF TOTAL3<2
   STOR 0,00 TO CSTD3
ELSE
STOR ((TOTAL3«CSQ3-CVAL3A2)/(TOTAL3*(TOTAL3-1)))A0,5 TO CSTD3
ENDI
IF TOTAL4(2
   STOR 0,00 TO CSTD4
ELSE
STOR «TOTAL4»CSQ4-CVAL4A2)/(TOTAL4»(TOTAL4-1)))A0,5 TO CSTD4
ENDI
(? 23,fl SAY "Std, Dev,"
8 23,21 SAY CSTDT PICT '9,99'
@ 23,34 SAY CSTD1 PICT '9.99'
8 23,47 SAY CSTD2 PICT '9,99'
6 23,60 SAY CSTD3 PICT '9,99'

-------
e 23,73 SAY CSTD4 PICT '9,99'
9 75,1 SAY "Reinspection"
WHtltJHHHHHHHHHHHHHHHHt* REINSPECTION HC
8 27,4 SAY "HC Reading"
STOR HRVAL14fiWAL2+HRVAL3+HRVAL4 TO HRVALT
STOR 2000 TO HRflINT
IF HRHINKHRI1INT
   STOR HRfllNl TO HRHINT
ENDI
IF HaiIN2HRHAXT
   STOR HRMAX2 TO HRHAXT
ENDI
IF HRMAX3>HRHAXT
   STOR HRMAX3 TO HRfWXT
ENDI
IF HRMAX4)HRHAXT
   STOR HRMAX4 TO HRHAXT
ENDI
STOR 9,99 TO CRHINT
IF CRMINKCRHINT
   STOR CRHINT TO CRHINT
ENDI
IF CRHIN2
-------
   STOR 0,00 TO CRHINT
mi
IF CRHIN1=9,99
   STOR 0,00 TO CRHIN1
ENDI
IF CRHIN2=9,99
   STOR 0,00 TO CRHIN2
ENDI
IF CRHIN3=9,99
   STOR 0,00 TO CRHIN3
ENDI
IF CR«IN4=9,99
   STOR 0,00 TO CRMIN4
ENDI
STOR 0,00 TO CRHAXT
IF CRHAXDCRHAXT
   STOR CRHAX1 TO CRPWXT
ENDI
IF CRHAX2>CRHAXT
   STOR CRMAX2 TO CRMAXT
ENDI
IF CRHAX3>CRHAXT
   STOR CRHAX3 TO CRRAXT
ENDI
IF CRfWX4>CRflAXT
   STOR CRHAX4 TO CRHAXT
ENDI
0 28,8 SAY "Hean"
IF REINST=0
   P 28,24 SAY "0"
ELSE
6 28,21 SAY HRVALT/REINST PICT '9999'
ENDI
IF REINS1=0
   8 28,37 SAY "0"
ELSE
6 26,34 SAY HRVAL1/REINS1 PICT '9999'
ENDI
IF REINS2=0
   6 28,50 SAY "0"
ELSE
6 28,47 SAY HRVAL2/REINS2 PICT '9999'
ENDI
IF REINS3=0
   8 28,63 SAY "0"
ELSE
8 26,60 SAY HRVAL3/REINS3 PICT '9999'
ENDI
IF REINS4=0
   8 28,76 SAY "0"
ELSE
6 28,73 SAY HRVAL4/REINS4 PICT '9999'
ENDI
5 29,8 SAY "Hin"
9 29,21 SAY HRHINT PICT '9999'
6 29,34 SAY RRHIN1 PICT '9999'
9 29,47 SAY HRHIH2 PICT '9999'
6 29,60 SAY HRMIN3 PICT '9999'
8 29,73 SAY HRNIN4 PICT '9999'
0 30,8 SAY "(tax11

-------
e 30,21 SAY HRNAXT PICT '9999'
C 30,34 SAY HRttAXl PICT '9999'
9 30,47 SAY HRMAX2 PICT '9999'
C 30,60 SAY HRHAX3 PICT '9999'
8 30,73 SAY HRHAX4 PICT '9999'
STOR HRSQ1+HRSQ2+HRSQ3+HRSQ4 TO HRSQT
STOR WWAL1+HRVAL2+HRVAL3+HRVAL4 TO HRVALT
IF REINST<2
   STOR 0 TO HRSTDT
ELSE
STOR ((REINST«HRSQT-HRVALT*2)/(REINST*(REINST-1)))A0,5 TO HRSTDT
ENDI
IF REINSK2
   STOR 0 TO HRSTD1
ELSE
STOR ((REIHSl»HRSQl-HRVALlA2)/(REINSl#(REINSl-i)))A0,5 TO HRSTD1
ENDI
IF REINS2<2
   STOR 0 TO HRSTD2
ELSE
STOR ((REII«2«t«SQ2-HRVAL2A2)/(REIHS2*
-------
0 34,60 SAY CRVAL3/REINS3 PICT '9,99'
ENDI
IF REINS4=0
   8 34,73 SAY "0,00"
ELSE
0 34,73 SAY CRVAL4/REINS4 PICT '9,99'
ENDI
0 35,8 SAY "Hin"
8 35,21 SAY CRMINT PICT '9,99'
0 35,34 SAY GRHIN1 PICT '9,99'
8 35,47 SAY CRHIN2 PICT '9,99'
0 35,60 SAY CRHIN3 PICT '9,99'
8 35,73 SAY CRHIN4 PICT '9,99'
0 36,8 SAY "Max"
8 36,21 SAY CRMAXT PICT '9,99'
0 36,34 SAY CRMAX1 PICT '9,99'
8 36,47 SAY CRJ1AX2 PICT '9,99'
0 36,60 SAY CRHAX3 PICT '9,99'
8 36,73 SAY CRHAX4 PICT '9,99'
STOR CRSQ1+CRSQ2+CRSQ3+CRSQ4 TO CRSQT
STOR CRVAL1+CRVAL2+CRVAL3+CRVAL4 TO CRVALT
IF REIHST<2
   STOR 0,00 TO CRSTDT
ELSE
STOR ((REINST*CRSQT-CRVALTA2)/(REIHST*(REIHST-1)))*0,5 TO CRSTDT
ENDI
IF REINSK2
   STOR 0,00 TO CRSTD1
ELSE
STOR ((REINS1*CRSQ1-CRVAL1*2)/(REII«1«(REINS1-1)))A0,5 TO CRSTD1
ENDI
IF REINS2<2
   STOR 0,00 TO CRSTD2
ELSE
STOR ((REINS2«CRSQ2-CRVAL2A2)/(REIHS2*(REINS2-1)))A0.5 TO CRSTD2
ENDI
IF REIHS3<2
   STOR 0.00 TO CRSTD3
ELSE
STOR ((REINS3*CRSQ3-CRVAL3*2)/(REINS3«(REINS3-1»)A0,5 TO CRSTD3
ENDI
IF REINS4<2
   STOR 0,00 TO CRSTD4
ELSE
STOR ((REINS4*CRSQ4-CRVAL4A2)/(REINS4*(REINS4-1)))A0,5 TO CRSTD4
ENDI
0 37,8 SAY "Std, Dev,"
8 37,20 SAY CRSTDT PICT '99,99'
0 37,33 SAY CRSTD1 PICT '99,99'
8 37,46 SAY CRSTD2 PICT '99,99'
6 37,59 SAY CRSTD3 PICT '99,99'
8 37,72 SAY CRSTD4 PICT '99,99'
0 39,1 SAY "Failing Vehicles"
»#****#*»**»**#***#*#**»*## PERCENT  REDUCTION HC
0 41,4 SAY "HC Reduction^ T  .
STOR HRED1+HRED2+HRED3+HRED4  TO HREDT
STOR 100  TO HREDHINT
IF  HREDHINKHREDHINT
    STOR HKEDHIN1 TO HREDHINT
ENDI

-------
IF HREDNmHREDHINT
   STOR HREDHIN2 TO HREDHINT
EHDI
IF HREDfllKKHREDfllNT
   STOR HREDMIN3 TO HREDHINT
EHDI
IF HREDn^HREDMINT
   STOR HREDHIN4 TO HREDHINT
ENDI
IF HREDHINMOO
   STOR 0,00 TO HREDHINT
ENDI
IF HREDFIINMOO
   STOR 0,00 TO HREDMIN1
ENDI
IF HREDHIN2=100
   STOR 0,00 TO HREDMIN2
ENDI
IF tf$DHIN3=100
   STOR 0,00 TO HREDHIN3
ENDI
IF HRED«IN4=100
   STOR 0,00 TO HREDt1IN4
ENDI
STOR 0,00 TO HREDHAXT
IF NREDHAXDHREDHAXT
   STOR HREDHAX1 TO HREDHAXT
ENDI
IF H*EDIttX2>HRED11AXT
   STOR HREDHAX2 TO HREDHAXT
ENDI
IF HREDHAX3>HOIAXT
   STOR H^EDHAX3 TO HREWWXT
ENDI
IF HREDHAX4>HREDHAXT
   STOR HREDMAX4 TO HREDHAXT
ENDI
STOR 9,99 TO CREDHM
IF CREDHINKCREDHINT
   STOR CREDHIN1 TO CREDHM
ENDI
IF CREDHIN2CREDMAXT
   STOR CREDHAX2 TO CREDHAXT
ENDI
IF CREDIttX3>CREDI1AXT
   STOR CREDHAX3 TO CREDMAXT
ENDI

-------
IF CREDHAX4>CREDHAXT
   STOR CREDHAX4 TO CREDMAXT
ENDI
IF CREDHINT=100
   STOR 0,00 TO CREDHINT
ENDI
IF CREDHINMOO
   STOR 0,00 TO CREDMIN1
ENDI
IF CREWIIN2=1QO
   STOR 0,00 TO CREDNIN2
ENDI
IF CREDHIN3=100
   STOR 0,00 TO CREDHIN3
ENDI
IF CREDflIN4=100
   STOR 0,00 TO CREDHIN4
ENDI
9 42,8 SAY "Heart"
IF REINST=0
   9 42,22 SAY "0,00"
ELSE
9 42,19 SAY HREDT/REINST PICT '9999,99'
ENDI
IF REINS1=0
   9 42,35 SAY "0.00"
ELSE
§ 42,32 SAY WED1/REINS1 PICT '9999,99'
ENDI
IF REINS2=0
   9 42,46 SAY "0,00"
ELSE
(» 42,45 SAY HRED2/REINS2 PICT '9999,99'
ENDI
IF REINS3=0
   9 42,61 SAY "0,00"
ELSE
G 42,58 SAY HRED3/REIHS3 PICT '9999.99'
ENDI
IF REINS4=0
   8 42,74 SAY "0,00"
ELSE
9 42,71 SAY HED4/REINS4 PICT '9999,99'
ENDI
0 43,8 SAY "Plin"
9 43,17 SAY HREDHINT PICT '999999,99'
(5 43,30 SAY H^EDHINl PICT '999999,99'
9 43,43 SAY HREDHIN2 PICT '999999,99'
(» 43,56 SAY HREDHIN3 PICT '999999,99'
9 43,69 SAY WSDHIN4 PICT '999999,99'
C 44,8 SAY "Itex"
9 44,20 SAY HREDHAXT PICT '999,99'
9 44,33 SAY ffiEDflAXl PICT '999.99'
9 44,46 SAY HREDHAX2 PICT '999.99'
9 44,59 SAY HREDHAX3 PICT '999,99'
9 44,72 SAY HREDHAX4 PICT '999,99'
STOR HREDSQ1+HREDSQ2+HREDSQ3+HREDSQ4 TO HREDSQT
STOR t«EDl+HRED2+HRED3fHRED4 TO HREDT
IF REINST<2
   STOR 0,00 TO ffiEDSTDT

-------
ELSE
STOR ((REII«T«t«EDS3T-HREDTA2)/(REINST«(REINST-l)))*0,5  TO H&DSTDT
ENDI
IF REINSK2
   STOR 0,00 TO HREDSTD1
ELSE
STOR ((REINS1«HREDSQ1-HRED1*2)/(REINSHKREINS1-1)))A0,5  TO HREDSTD1
ENDI
IF REIHS2<2
   STOR 0,00 TO HREDSTD2
ELSE
STOR ((REINS2»HREDSQ2-HRED2A2)/(REINS2*(REINS2-1»)*0,5  TO HREDSTD2
ENDI
IF REINS3(2
   STOR 0,00 TO HREDSTD3
ELSE
STOR ((REINS3«HREDSQ3-HRED3*2)/(REINS3»(REINS3-1)))A0.5  TO HREDSTD3
ENDI
IF REINS4{2
   STOR 0,00 TO HREDSTD4
ELSE
STOR ((REINS4*HREDSQ4-J«ED4A2)/(REII«4»(REII«4-1)))*0,5  TO RREDSTD4
ENDI
(? 45,8 SAY "Std, Dev,"
8 45,17 SAY HREDSTDT PICT '999999,99'
8 45,30 SAY HREDSTD1 PICT '999999,99'
8 45,43 SAY HREDSTD2 PICT '999999,99'
8 45,56 SAY HREDSTD3 PICT '999999,99'
6 45,69 SAY HREDSTD4 PICT '999999,99'
#*#***«**#*******#» PERCENT REDUCTION CO
e 47,4 SAY "CO Reduction, X"
STOR CRED1+CRED2+CRED3+CRED4 TO CREDT
9 48,8 SAY "Mean"
IF REINST=0
   0 48,22 SAY "0,00"
ELSE
8 48,19 SAY CREDT/REINST PICT '9999,99'
ENDI
IF REINS1=0
   6 48,35 SAY "0,00"
ELSE
@ 48,32 SAY CRED1/REINS1 PICT '9999.99'
ENDI
IF REINS2=0
   6 48,48 SAY "0.00"
ELSE
9 48,45 SAY CRED2/REINS2 PICT '9999.99'
ENDI
IF REINS3=0
   9 48,61 SAY "0,00"
ELSE
(? 48,58 SAY CRED3/REINS3 PICT '9999,99'
ENDI
IF REINS4=0
   8 48,74 SAY "0,00"
ELSE
9 48,71 SAY CRED4/REINS4 PICT '9999,99'
ENDI
IF CREDHIN1=0
   STOR 0,00 TO CREDflINi

-------
ENDI
8 49,8 SAY "Bin"
(5 49,17 SAY CREWIINT PICT '999999,99'
§ 49,30 SAY CREDHIN1 PICT '999999,99'
0 49,43 SAY CREW1IN2 PICT '999999,99'
B 49,5* SAY CREDHIN3 PICT '999999,99'
P 49,69 SAY CREDHIN4 PICT '999999,99'
8 50,fl SAY "tax"
6 50,20 SAY CREDHAXT PICT '999,99'
9 50,33 SAY CREDHAX1 PICT '999,99'
0 50,46 SAY CREDHAX2 PICT '999,99'
P 50,59 SAY CREDHAX3 PICT '999,99'
(? 50,72 SAY CREDHAX4 PICT '999,99'
STOR CREDSQ1+CREDS02+CKEDS03+CREDS04 TO CREDSQT
STOR CRED1+CRED2+CRED3+CRED4 TO CREDT
IF REINST<2
   STOR 0,00 TO CREDSTDT
ELSE
STOR ((REINST«CREDSQT-CREDTA2)/(REINST*(REINST-1)))A0,5 TO CREDSTDT
ENDI
IF REINSK2
   STOR 0,00 TO CREDSTD1
ELSE
STOR ((REIt«i*CREDSQi-CREDiA2)/(REINSHKREII«l-l)))A0.5 TO CREDSTD1
ENDI
IF REINS2<2
   STOR 0,00 TO CREDSTD2
ELSE
STOR «REINS2»CREDSQ2-CRED2A2)/(REINS2*(REINS2-1)))A0,5 TO CREDSTD2
ENDI
IF REINS3<2
   STOR 0,00 TO CREDSTD3
ELSE
STOR ((REINS3*CREDSQ3-CRED3A2)/(REINS3*(REINS3-1)))A0.5 TO CREDSTD3
ENDI
IF REINS4<2
   STOR 0,00 TO CREDSTD4
ELSE
STOR ((REINS4*CREDSQ4-CRED4A2)/(REINS4*(REINS4-1)»A0,5 TO CREDSTD4
ENDI
I! 51,8 SAY "Std, Dev,"
8 51,17 SAY CREDSTDT PICT '999999,99'
(! 51,30 SAY CREDSTD1 PICT '999999,99'
9 51,43 SAY CREDSTD2 PICT '999999,99'
6 51,56 SAY CREDSTD3 PICT '999999.99'
9 51,69 SAY CREDSTD4 PICT '999999,99'
*4HHHH(*««)HHHHHH(REPAIR COST
5 53,4 SAY "Repair Cost, I"
STOR RPCST1+RPCST2+RPCST3+RPCST4 TO RPCSTT
STOR RPCSTSQ1+RPCSTSQ24-RPCSTSQ3+RPCSTSQ4 TO RF-CSTSQT
STOR CSTCNT1+CSTCNT2+CSTCNT3+CSTCNT4 TO CSTCNTT
STOR 999 TO RPCSTMINT
IF RFtSTniNKRPCSTfllNT
   STOR RPCSTMIN1 TO RPCSTI1INT
ENDI
IF RPCSTMIN2
-------
ENDI
IF RPCSTHIN4RPCSTIWXT
   STOR RPCSTHAX2 TO RPCSTMAXT
ENDI
IF RPCSTHAX3>RPCSTHAXT
   STOR RPCSTMAX3 TO RPCSTfWXT
ENDI
IF RPCSmAX4>RPCSTnAXT
   STOR RPCSTfttX4 TO RFCSTHAXT
ENDI
8 54,8 SAY  "Mean"
IF CSTCNTT=0
   8 54,25  SAY  "0"
ELSE
8 54,23 SAY RPCSTT/CSTCNTT PICT '999'
ENDI
IF CSTCNT1=0
   8 54,38  SAY  "0"
ELSE
6 54,36 SAY RPCSTl/CSTCNTi PICT '999'
ENDI
IF CSTCNT2=0
   @ 54,51  SAY  "0"
ELSE
@ 54,49 SAY RPCST2/CSTCNT2 PICT '999'
ENDI
IF CSTCNT3=0
   8 54,64  SAY  "0"
ELSE
6 54,62 SAY RPCST3/CSTCNT3 PICT '999'
ENDI
IF CSTCNT4=0
   8 54,77  SAY  "0"
ELSE
G 54,75 SAY RPCST4/CSTCNT4 PICT '999'
ENDI
8 55,8 SAY  "Hin"
9 55,23 SAY RPCSTHINT PICT '999'

-------
C 55,36 SAY RPCSTMM PICT '999'
8 55,49 SAY RPCSTHIN2 PICT '999'
6 55,62 SAY RPCSTHIN3 PICT '999'
8 55,75 SAY RPCSTHIN4 PICT '999'
0 56,8 SAY "tax"
8 56,23 SAY RPCSTMAXT PICT '999'
5 56,36 SAY RPCSTHAX1 PICT '999'
8 56,49 SAY RPCSTHAX2 PICT '999'
(? 56,62 SAY RPCSTHAX3 PICT '999'
8 56,75 SAY RPCSTHAX4 PICT '999'
IFCSTCNTT<2
   STOR 0 TO RPCSTSTDT
ELSE
STOR ((KTCm*IKSTSQT-W>CSTTA2)/(CSTCNn*(CSTCNTT-i)))A0.5 TO RPCSTSTDT
ENDI
IF CSTCNTK2
   STOR 0 TO RPCSTSTDi
ELSE
STOR ((CSTCKri*Wt^TSQl-FKSTlA2)/(CSTCI^i*(reT(>lTl-l)))A0,5 TO RPCSTSTDI
ENDI
IF CSTCNT2<2
   STOR 0 TO RPCSTSTD2
ELSE
STOR (<(STCNT2*RPCSTSQ2-RPCST2A2)/IT4#RPCSTSQ4-RPCST4A2)/
-------
0 16,12 SAY "Code Description"
0 16,51 SAY "Number     Percent"
0 17,12 SAY "	"
I? 17,50 SAY "	"
0 19,15 SAY "Exhaust System"
0 21,13 SAY "El Exhaust leak"
§ 21,51 SAY CE1 PICT '99999'
IF rREINS=0
   0 21,65 SAY "0,0"
ELSE
0 21,64 SAY CE1/MREINS*100 PICT '99,9'
ENDI
0 23,15 SAY "Tampering"
0 25,13 SAY "TO Not specified"
0 25,51 SAY CTO PICT '99999'
IF «REINS=0
   0 25,65 SAY "0,0"
ELSE
0 25,64 SAY CTO/HREINS*100 PICT '99,9'
ENDI
0 26,13 SAY "Tl Catalytic converter"
P 26,51 SAY CT1 PICT '99999'
IF MREINS=0
   6 26,65 SAY "0,0"
ELSE
0 26,64 SAY CT1/11REINS*100 PICT '99,9'
ENDI
0 27,13 SAY "T2 PCV valve"
0 27,51 SAY CT2 PICT '99999'
IF I«EINS=0
   0 27,65 SAY "0,0"
ELSE
0 27,64 SAY CT2/HREINS»100 PICT '99,9'
ENDI
0 28,13 SAY "T3 EGR valve"
0 28,51 SAY CT3 PICT '99999'
IF PREINS=0
   0 28,65 SAY "0,0"
ELSE
0 28,64 SAY CT3/HREINS*100 PICT '99,9'
ENDI
0 29,13 SAY "T4 Air pump"
0 29,51 SAY CT4 PICT '99999'
IF PREINS=0
   0 29,65 SAY "0,0"
ELSE
0 29,64 SAY CT4/HREINS*100 PICT '99,9'
ENDI
0 30,13 SAY "T5 Carbon canister"
0 30,51 SAY CT5 PICT '99999'
IF «REINS=0
   0 30,65 SAY "0,0"
ELSE
0 30,64 SAY CT5/flREINS*100 PICT '99,9'
ENDI
0 31,13 SAY "T6 Fuel inlet restrictor"
0 31,51 SAY CT6 PICT '99999'
IF lffiEINS=0
   @ 31,65 SAY "0,0"
ELSE

-------
8 31,64 SAY CT6/HREINS*100 PICT '99,9'
ENDI
0 32,13 SAY "T7 Other"
832,51 SAY CT7 PICT '99999'
IF HREINS=0
   8 32,65 SAY "0,0"
ELSE
8 32,64 SAY CT7/HREINS*100 PICT '99,9'
ENDI
0 34,15 SAY "Inspection/Maintenance"
8 36,13 SAY "HO Not specified"
8 36,51 SAY CRO PICT '99999'
IF «REINS=0
   9 36,65 SAY "0,0"
ELSE
8 36,64 SAY CHO/HREINSslOO PICT '99,9'
ENDI
0 37,13 SAY "HI Air filter el emit"
8 37,51 SAY CHI PICT '99999'
IF «REINS=0
   8 37,65 SAY "0,0"
ELSE
8 37,64 SAY CH1/HREINS*100 PICT '99,9'
ENDI
6 38,13 SAY "H2 TAC"
8 38,51 SAY CH2 PICT '99999'
IF WREINS=0
   8 38,65 SAY "0,0"
ELSE
8 38,64 SAY CH2/HREINS*100 PICT '99,9'
ENDI
8 39,13 SAY "R3 Idle speed"
8 39,51 SAY CPI3 PICT '99999'
IF HREINS=0
   8 39,65 SAY "0,0"
ELSE
8 39,64 SAY CH3/HREINS*100 PICT '99,9'
ENDI
0 40,13 SAY "H4 Air/fuel nixture"
0 40,51 SAY CM PICT '99999'
IF RREINS=0
   8 40,65 SAY "0,0"
ELSE
8 40,64 SAY CM4/HREINS*100 PICT '99,9'
ENDI
041,13 SAY "H5 Dwell"
0 41,51 SAY 015 PICT '99999'
IF PREINS=0
   8 41,65 SAY "0,0"
ELSE
8 41,64 SAY CH5/MREINS*100 PICT '99,9'
ENDI
0 42,13 SAY "H6 Timing"
8 42,51 SAY CH6 PICT  '99999'
IF HREINS=0
   8 42,65 SAY "0,0"
ELSE
8 42,64 SAY Cft6/HREINS»100 PICT '99,9'
ENDI
0 43,13 SAY "H7 Spark  plugs"

-------
e 43,51 SAY CH7 PICT '99999'
IF HREINS=0
   8 43,65 SAY "0,0"
ELSE
6 43,64 SAY CM7/1-REINSK100 PICT '99,9'
ENDI
e 44,13 SAY "H8 Spark plug wires"
9 44,51 SAY CHS PICT '99999'
IF PIREINS=0
   § 44,65 SAY "0,0"
ELSE
e 44,64 SAY CM8/HREINS*100 PICT '99,9'
ENDI
0 45,13 SAY "H9 Vacuum hose"
9 45,51 SAY 019 PICT '99999'
IF MREINS=0
   8 45,65 SAY "0,0"
ELSE
0 45,64 SAY CH9/MREIhlS«100 PICT '99,9'
ENDI
(? 46,13 SAY "NO Electronic controls"
9 46,51 SAY CNO PICT '99999'
IF HREINS=0
   9 46,65 SAY "0,0"
ELSE
8 46,64 SAY CNO/fREINS«100 PICT '99,9'
ENDI
? 47,13 SAY "Nl Low eaission tune-up"
6 47,51 SAY CN1 PICT '99999'
IF ffiEINS=0
   8 47,65 SAY "0.0"
ELSE
I? 47,64 SAY CN1/«REINS«100 PICT '99,9'
ENDI
6 48,13 SAY "N2 Other"
9 48,51 SAY CN2 PICT '99999'
IF HREINS=0
   9 48,65 SAY "0,0"
ELSE
6 48,64 SAY CN2/HREINS#100 PICT '99,9'
ENDI
SET DEVI TO SCRE
EJEC
CLEA

SELE A
CO TOP
SET INDE TO INSPECT
**** CALCULATE TOTALS BY INSPECTOR
DOWHIL .NOT, EOFO
   STOR INSPECT 1 TO HSTAT
   7MSTAT
   STOR 0 TO REINS
   STOR 0 TO TOTAL
   STOR 0 TO PASS
   STOR 0 TO HFAIL
   STOR 0 TO CFAIL
   STOR 0 TO BFAIL
   STOR 0 TO HRFAIL
   STOR 0 TO CRFAIL

-------
   STOR 0 TO BRFAIL
   SELE A
   DO WHIL INSPECT 1=«STAT
      STOR TOTAL+1 TO TOTAL
      IF EXEMPT*!
»*#*»**  STOR NEXEHPT+1 TO HEXEHPT
      ELSE
         DO CASE
            CASE STATUSIWX'F" .AND,  STATUS1CO="P"
               STOR HFAIL+1 TO HFAIL
            CASE STATUSIOK'F" .AND,  STATUS1HC="P"
               STOR CFAIL+1 TO CFAIL
            CASE STATUS1HC="F" .AND.  STATUS1CO="F"
               STOR BFAIL+1 TO BFAIL
            CASE STATUS1HC="P" .AND.  STATUSIOK'P"
               STOR PASS+1 TO PASS
         ENDC

         IF HC RE>0 .OR. CO RE>0
            IF~STATUS2HC="F" .AND. STATUS2CO="P"
               STOR HRFAIL+1 TO HRFAIL
            ENDI
            IF STATUS2CO="F" .AND. STATUS2HC="P"
               STOR CRFAIL+1 TO CRFAIL
            ENDI
            IF STATUS2HC="F" .AND. STATUS2CO="F"
               STOR BRFAIL+1 TO BRFAIL
            ENDI
            STOR REINS+1 TO REINS
         ENDI
      ENDI
      SKIP
      IF EOFO
         STOR 0 TO INSPECT 1
      ENDI
   ENDD
   SELE C
   APPE BLAN
   REPL INSPECT WITH HSTAT,DTOTAL WITH TOTAL,DPASS WITH PASS
   REPL DHFAIL WITH HFAIL/DCFAIL WITH CFAIL,DBFAIL WITH BFAIL
   REPL DHRFAIL WITH HRFAIL,DCRFAIL WITH CRFAIL,DBRFAIL WITH BRFAIL
   SELE A
ENDD

«HHHH» CALCULATE FINAL TOTALS - ADD  STATION TOTALS
SELE C
GO TOP
CLEA
5 10,24 SAY "Hake sure your printer is ready."
WAIT "                        Press any key to  continue."
CLEA
SET COLO TO W*+,B
8 10,36 SAY "PRINTING"
SET COLO TO W
SET DEVI TO PRIN
STOR PAGE+1 TO PAGE
STOR 11 TO LINES
STOR "=========================================="==================="=======" TO TOP
STOR "	" TO BOT
DO WHIL  .NOT. EOFO

-------
   IF  LINES'll
      8 PROy(),25 SAY "FAILURE RATE REPORT BY INSPECTOR"
      9 PROHO+1,27 SAY "FOR INSPECTION STATION"
      8 PROW),50 SAY HSTATION PICT  '999999'
      8 PROWO+1,6 SAY "This report  susmarizes data for vehicle aodel years 19"
      8 PROW),60 SAY HSYEAR PICT '99'
      8PROUO,63SAY "through 19"
      8 PROW),73 SAY HEYEAR PICT '99'
      8 PROMO,75 SAY ","
      9 FTOUO+2,6 SAY DATEO
      8 PROU(),66 SAY "Page"
      P PROU(),71 SAY PAGE PICT '««'
      8 PROWO+1,4 SAY TOP
      8 PROUO+1,41 SAY "Initial  Inspections"
      8 PROWO+1,20 SAY "Inspector"
      8PROH(),38 SAY "Tests  Failures  Percent"
      8 PROUO+1,4 SAY BOT
   ENDI
   8 PROUO+1,20 SAY INSPECT PICT '999999999'
   i PROW(),3fi SAY DTOTAL PICT '99999'
   STOR DHFAIL+DCFAIL+DBFAIL TO FAIL
   8 PROH(),47 SAY FAIL PICT '99999'
   8 PROUO,5« SAY FAIL/DTOTAL»100 PICT '999,9'
   DELE
   STOR LINES+1 TO LINES
   SKIP
   IF LINES=55  ,OR, EOFO
      8 PROUO+1,4 SAY BOT
      EJEC
      STOR 11 TO LINES
      STOR PAGE+1 TO PAGE
   ENDI
ENDD
PACK
SET DEVI  TO SCRE
EJEC
CLEA
RETU
««* EOF

-------
****** THIS ROUTINE CHECK THE DUPLICATE RECORDS
****** TO DETERMINE THE FREQUENCY OF ERRORS IN THE MAIN DATA BASE

SET ECHO OFF
SET EXACT ON
SET HELP OFF
SET TALK OFF
CLEA ALL
CLEA

»***#** SET UP DATA BASES
SELE A
USE DOUBLE
GOBOTTGf!
STOR RECNOO TO HCQUNTA
CO TOP
? RECNOO
SELE B
USEREENTER
CO BOTTOM
STOR RECNOO TO HCOUNTB
CO TOP
? RECNOO
SELE C
USE ERRORS

**** CHECK NO. OF RECORDS IN DATA BASES
IF HCOUNTA <) HCOUNTB
   ?? CHR<7)
   8 10,12 SAY "The data bases DO NOT contain the sane number of records!'
   8 12,22 SAY "Please check them before continuing,"
   RETURN
ENDIF

****INITIALIZE COUNTERS
STOR "F" TO HERROR
STOR 0 TO HCOUNT1
STOR 0 TO HCOUNT2
STOR 0 TO HCOUNT3
STOR 0 TO HCOUNT4
STOR 0 TO HCOUNT5
STOR 0 TO HCOUNT6
STOR 0 TO HCOUNT7
STOR 0 TO HCOUNT8
STOR 0 TO HCOUNT9
STOR 0 TO rCOUNTIO
STOR 0 TO nCOUNTH
STOR 0 TO HCOUNT12
STOR 0 TO HCOUNT13
STOR 0 TO HCOUNT14
STOR 0 TO HCOUNT15
STOR 0 TO HCOUNT16
STOR 0 TO MCOUNT17
STOR 0 TO fCOUNTlS
STOR 0 TO HC011NT19
STOR 0 TO HCOUKT20     .
STOR 0 TO HCOUNT21
STOR 0 TO HCOUNT22

-------
STOR 0 TO HCOUNT23
STOR o TO
SET COLOR TO W*+,B
l» 10,35 SAY "PROCESSING"
SET COLOR TO U,
P 12,26 SAY "Checking record number
        BEGIN COHPARISONS
SELE A
DO WHILE .HOT. EOFO
   @ 12,51 SAY "
   P 12,51 SAY RECNDO PICTURE "999"
   SELE A
   STOR YEAR TO flYEARl
   STOR HAKE TO fBIAKEl
   STOR ODOMETER TO PB1ILES1
   STOR VIN TO HVIN1
   STOR BODY TO HBODY1
   STOR HC FIRST TO HHC1
   STOR CO'FIRST TO HCOI
   STOR STATUS1HC TO HCSTAT1
   STOR STATUS1CO TO COSTAT1
   STOR HC RE TO HHCR1
   STOR CO RE TO HCOR1
   STOR STATUS2HC TO HCRESTA1
   STOR STATUS2CO TO CORESTA1
   STOR EXEHPT TO HEXEH1
   STOR WAIVED TO PWAIV1
   STOR C 207B TO HC207B1
   STOR CODES TO HCODES1
   STOR COST TO WCOST1
   STOR STATION 1 TO HSTAT1
   STOR INSPECfl TO HINS1
   STOR DATE 1 TO HDATE1
   STOR REINSPECT TO MREIN1
   STOR RE DATE TO PRDATE1
   STOR DECAL TO HDECAL1
   SELE B
   STOR YEAR TO HYEAR2
   STOR HAKE TO mAKE2
   STOR ODOHETER TO IVIILES2
   STOR VIN TO MVIN2
   STOR BODY TO MBODY2
   STOR HC FIRST TO RHC2
   STOR CO_FIRST TO MC02
   STOR STATUS2HC TO HCSTAT2
   STOR STATUS2CO TO COSTAT2
   STOR HC_RE TO MHCR2
   STOR CO RE TO HCOR2
   STOR STATUS2HC TO HCRESTA2
   STOR STATUS2CO TO CORESTA2
   STOR EXEHPT TO HEXEH2
   STOR WAIVED TO PWAIV2
   STOR C 207B TO MC207B2
   STOR CODES TO HCODES2
   STOR COST TO P1COST2
   STOR STATION.l TO I1STAT2
   STOR INSPECT 1 TO HINS2
   STOR DATE 1 TO MDATE2

-------
   STOR REINSPECT TO HREIN2
   STOR RE DATE TO RRDATE2
   STOR DECAL TO HDECAL2
******  COHPARE YEARS
   IF HYEAR1OHYEAR2
      SELEC
      APPEND BLANK
      REPL DYEAR WITH HYEAR1,RYEAR WITH HYEAR2
      STOR "T" TO HERROR
      STOR HCOUNTl+1 TO MCOUNT1
   ENDIF
*******  COMPARE HAKES
   IF WAKElOmAKEZ
      SELE C
      IF HERROR="F"
         APPEND BLANK
         STOR T' TO ERROR
      ENDIF
      REPL MAKE WITH mAKEl,RKAKE WITH HHAKE1
      STOR HCOUHT2+1 TO MCOUNT2
   ENDIF
****** COHPARE HILES
   IF MHILESlOmiLESZ
      SELE C
      IF HERROR="F"
         APPEND BLANK
         STOR "T" TO HERROR
      ENDIF
      REPL DMILES WITH fmiLESi,RHILES WITH lt!ILES2
      STOR BCOUNT341 TO ICOlfrlT3
   ENDIF
******** COMPARE VEHICLE IDENTIFICATION NUHBERS
   IF WIN1OHVIN2
      SELE C
      IF «ERROR="F"
         APPEND BLANK
         STOR "T" TO ERROR
      ENDIF
      REPL DVIN WITH WIN1,RVIN  WITH PIVIN2
      STOR NCOUNT4+1 TO ICOlKr4
   ENDIF
***«» COIVARE BODY STYLES
   IF HBODY1OHBODY2
      SELE C
      IF MERROR='1F1'
         APPEND BLANK
         STOR "T" TO MERROR
      ENDIF
      REPL DBODY WITH MBODY1,RBQDY WITH MBODY2
      STOR RCOUNT5+1 TO HCOUNT5
   ENDIF
«HHHHHHt COMF'ARE FIRST INSPECTION HYDROCARBON READINGS
   IF ttoomcz
      SELEC
      IF HERROR="F"
         APPEND BLANK
         STOR "T" TO HERROR
      ENDIF
      REPL DHC FIRS WITH BHC1,RHC FIRS WITH  HHC2
      STOR HCOUNT6+1 TO HCOUNT6

-------
   ENDIF
*******  COHPARE FIRST INSPECTION CARBON HQNOXIDE READINGS
   IF RC01OHC02
      SELEC
      IF «ERROR="F"
         APPEND BLANK
         STOR "T" TO HERROR
      ENDIF
      REPL DCO FIRS UITH HC01,RCO FIRS WITH HC02
      STOR HCOUNT7+1 TO RCOUNT7
   ENDIF
******** COHPARE FIRST INSPECTION HYDROCARBON STATUS
   IF HCSTAT1OHCSTAT2
      SELEC
      IF HERROR="F"
         APPEND BLANK
         STOR "T" TO HERROR
      ENDIF
      REPL DSTAT1HC WITH HCSTAT1,RSTAT1HC UITH HCSTAT2
      STOR HCOUNT8+1 TO HCOUNTfi
   ENDIF
*****  COHPARE FIRST INSPECTION CARBON MONOXIDE STATUS
   IF COSTAT10COSTAT2
      SELE C
      IF HERROR="F"
         APPEND BLANK
         STOR "T" TO HERROR
      ENDIF
      REPL DSTAT1CO UITH COSTAT1,RSTAT2CO HITH COSTAT2
      STOR ncouNmi TO HCOUNT?
   ENDIF
****** COMPARE REINSPECTION HYDROCARBON READINGS
   IF HHCR10HHCR2
      SELE C
      IF MERROR="F"
         APPEND BLANK
         STOR "T" TO HERROR
      ENDIF
      REPL DHC RE UITH HHCR1,RHC RE UITH HHCR2
      STOR HCOUNT10+1 TO MCOUNT10
   ENDIF
««**** COMPARE REINSPECTION CARBON HONOXIDE READINGS
   IF HCOR1OHCQR2
      SELE C
      IF HERROR="F"
         APPEND BLANK
         STOR "T" TO HERROR
      ENDIF
      REPL DCO RE UITH HCOR1,RCO RE UITH HCOR2
      STOR MCOUNT11+1 TO HCOUNTil
   ENDIF
*#»»*** COUP REINSPECTION HYDROCARBON STATUS
   IF HCRESTA1OHCRESTA2
      SELE C
      IF RERRQR="F"
         APPEND BLANK
         STOR "T" TO HERROR
      ENDIF
      REPL DSTAT2HC UITH HCRESTA1,RSTAT1HC UITH HCRESTA2
      STOR HCOUNT12+1 TO HCOUNT12

-------
   ENDIF
******* COUP REINSPECTION CARBON MONOXIDE STATUS
   IF CORESTA1OCORESTA2
      SELEC
      IF MERROR="F"
         APPEND BLANK
         STOR "T" TO MERROR
      ENDIF
      REPL DSTAT1CO UITH CORESTA1,RSTAT1CO WITH CORESTA2
      STOR HCOUNT13+1 TO MCOUNT13
   ENDIF
******* (WARE EXEMPT STAUS
   IF HEXEM1OHEXEH2
      SELE C
      IF MERROR="F"
         APPEND BLANK
         STOR "T" TO MERROR
      ENDIF
      REPL DEXEMPT UITH MEXEH1,REXEHPT UITH HEXEM2
      STOR HCOUNT14+1 TO MCOUNT14
   ENDIF
******** COMPARE WAIVED STATUS
   IF MUAIV1OHUAIV2
      SELEC
      IF MERROR="F"
         APPEND BLANK
         STOR "T" TO MERROR
      ENDIF
      REPL DUAMD UITH MUAM,RUAMD UITH MUAIV2
      STOR HCOUNT15+1 TO MCOUNT15
   ENDIF
******* COMPARE C-207 B COMPLIANCE STATUS
   IF HC207B1OHC207B2
      SELE C
      IF MERROR="F"
         APPEND BLANK
         STOR "T" TO MERROR
      ENDIF
      REPL DC207B UITH MC207B1,RC207B UITH HC207B2
      STOR HCOUNT16+1 TO MCOUNT16
   ENDIF
iumKKio COMPARE CODES
   IF RCODES1OMCODES2
      SELE C
      IF MERROR="F"
         APPEND BLANK
         STOR "T" TO MERROR
      ENDIF
      RERPLACE DCODES UITH MCODES1 ,RCODES UITH MCODES2
      STOR MCOUNT17+1 TO MCOUNT17
   ENDIF
******* COMPARE COSTS
   IF HCOSI10HCOST2
      SELEC
      IF MERROR="F"
         APPEND BLANK
         STOR "T" TO MERROR
      ENDIF
      REPL DCOST UITH MCOST1,RCOST UITH MCOST2
      STOR MCQUNTlfi+1 TO MCOUNT1S

-------
   ENDIF
*******  COMPARE FIRST INSPECTION STATIONS
   IF RSTAT1OMSTAT2
      SELEC
      IF HERROR="F"
         APPEND BLANK
         STOR "T" TO HERROR
      ENDIF
      REPL DSTATION1 WITH HSTAT1,RSTATIQN1 WITH MSTAT2
      STOR HCOUNT19+1 TO HCOUNT19
   ENDIF
***** COMPARE INITIAL INSPECTORS
   IF MINSK >MINS2
      SELEC
      IF HERROR="F"
         APPEND BLANK
         STOR "T" TO HERROR
      ENDIF
      REPL DINSPECT1 WITH HINS1,RINSPECT1 UTIH HINS2
      STOR HCOUNT20+1 TO MCOUNT20
   ENDIF
***** COMPARE INITIAL INSPECTION DATES
   IF HDATE1OMDATE2
      SELEC
      IF HERROR="F"
         APPEND BLANK
         STOR "T" TO HERROR
      ENDIF
      REPL DDATE 1 WITH MDATE1,RDATE 1WITH MDATE2
      STOR HCOIMT21+1 TO MCOUNT21
   ENDIF
«HH» COMPARE REINSPECTQRS
   IF HREIN10MREIN2
      SELE C
      IF MERROR="F"
         APPEND BLANK
         STOR "T" TO PIERROR
      ENDIF
      REPL DREINSPEC UITH MREIN1,RREINSPEC WITH HREIN2
      STOR ICOIWT22+1 TO MCOUNT22
   ENDIF
*»#****  COMPARE REINSPECTION DATES
   IF HRDATE1OHRDATE2
      SELE C
      IF HERROR="F"
         APPEND BLANK
         STOR "T" TO HERROR
      ENDIF
      REPL DRE DATE WITH HRDATE1,RRE DATE WITH MRDATE2
      STOR MCOUNT23+1 TO MCOUNT23
   ENDIF
        FINALLY!   COMPARE DECAL NUMBERS
   IF MDECAL1OMDECAL2
      SELE C
      IF MERROR="F"
         APPEND BLANK
         STOR "T" TO HERROR
      ENDIF
      REPL DDECAL WITH MDECAL1,RDECAL WITH MDECAL2
      STOR MCOUNT24+1 TO MCOUNT24

-------
   ENDIF
   SELE A
   SKIP
   SELE B
   SKIP
ENDDQ
SELE C
COUNT TO HCOUNTC

*#***   END OF COMPARISONS
CLEAR
??CHR<7)
STOR
OUNT16+HCOUNT17+na)UNT18+flC^                                                TO TOTAL
STOR "Out of "+STR(limMA)+11 records there were a total of "+STR(TOTAL)V errors," TO LINE1
STOR "There were "+STR(flCOUNTA-l1COUNTC)+" records that did not have any errors," TO LINE2
STOR 40-LEN(LINEl)/2 TO XI
STOR 40-LEN(LINE2)/2 TO X2
* DISPLAY RESULTS OF COMPARISONS
8 1,24 SAY "The processing is complete,"
I? 3,XI SAY LINE1
8 4,X2 SAY LINE2
8 5,4 SAY "Entry             No, of errors         Entry"
8 5,63 SAY "No, of errors"
0 6,4 SAY "	             	         	"
8 6,63 SAY "	"
0 7,4 SAY "Year"
8 7,27 SAY HCOUNT1 PICT '9999'
0 7,44 SAY "CO reinsp, status"
8 7,68 SAY HCOUNT13 PICT '9999'
0 8,4 SAY "Hake"
8 8,27 SAY HCOUNT2 PICT '9999'
0 8,44 SAY "Exempt"
8 8,68 SAY RCOUNT14 PICT '9999'
0 9,4 SAY "Odometer"
8 9,27 SAY HCQUNT3 PICT '9999'
0 9,44 SAY "Waived"
8 9,68 SAY WCOUNT15 PICT '9999'
0 10,4 SAY "VIN"
8 10,27 SAY HCQUNT4 PICT '9999'
0 10,44 SAY "C 207B compliance"
8 10,68 SAY HCOUNT16 PICT '9999'
0 11,4 SAY "Body"
8 11,27 SAY HCOUNT5 PICT '9999'
@ 11,44 SAY "Codes"
0 11,68 SAY HCOUNT17 PICT '9999'
0 12,4 SAY "First HC"
0 12,27 SAY HCOUNT6 PICT '9999'
0 12,44 SAY "Cost"
0 12,68 SAY HCOUNT18 PICT '9999'
0 13,4 SAY "First CO"
8 13,27 SAY HCOUNT7 PICT '9999'
8 13,44 SAY "First insp, station"
0 13,68 SAY HCOUNT19 PICT '9999'
0 14,4 SAY "HC status"
8 14,27 SAY HCQUNT8 PICT '9999'
0 14,44 SAY "First inspector"
8 14,68 SAY HCQUNT20 PICT '9999'
0 15,4 SAY "CO status"
8 15,27 SAY HCOUNT9 PICT '999?'

-------
0 15,44 SAY "First insp, date"
9 15,68 SAY RCOUNT21 PICT '9999'
0 16,4 SAY "Reinsp, HC"
9 16,27 SAY HCOUNT10 PICT '9999'
8 16,44 SAY "Reinsp, station"
9 16,68 SAY MCQUNT22 PICT '9999'
0 17,4 SAY "Reinsp, CO"
8 17,27 SAY HCOUNT11 PICT '9999'
0 17,44 SAY "Reinsp, date"
0 17,68 SAY HCOUNT23 PICT '9999'
0 18,4 SAY "HC reinsp, status"
9 18,27 SAY MCOUNT12 PICT '9999'
fl 18,44 SAY "Decal No,"
0 18,68 SAY RCOUNT24 PICT '9999'
WAIT
CLEAR
STOR "Press T to print a full report of the results" to LINE3
STOR "of this comparison; or  *N' to quit,"  TO LINE4
STOR 40-LEN(LINE3)/2 TO X3
STOR 40-LEN(LINE4)/2 TO X4
STOR 42+LEN(LINE4)/2 TO X4A
9 10,X3 SAY LINE3
0 12,X4 SAY LINE4
STOR " " TO ANS
DO WILE ANSOT" .AND, ANSO"N"
   0 12,X4A GET ANS PICTURE "8! A"
   READ
   DO CASE
   CASE ANS="N"
      RETURN
   CASE ANS="P"
   SET DEVICE TO PRINT
   STOR 5 TO Y
   STOR "SUflnARY REPORT" TO LINE
   X=40-LEN(LINE>/2
   8 Y,X SAY LINE
   STOR "ERROR ANALYSIS" TO LINE
   STOR Y+2 TO Y
   X=40-LEN(LINE)/2
   @ Y,X SAY LINE
   (? Y+3,X1 SAY LIHE1
   6 Y+4,X2 SAY LINE2
   STORE Y+3 TO Y
   9 Y+5,4 SAY "Entry             No, of errors         Entry"
   9 Y+5,63 SAY "No, of errors"
   8 Y+6,4 SAY "	             	         	"
   9 Y+6,63 SAY "	"
   P Y+7,4 SAY "Year"
   @ Y+7,27 SAY MCOUNT1 PICT  '9999'
   g Y+7,44 SAY "CO reinsp, status"
   9 Y+7,68 SAY ICOUNT13 PICT '9999'
   0 Y+8,4 SAY "Hake"
   9 Y+8,27 SAY HCOUNT2 PICT  '9999'
   IP Y+8,44 SAY "Exempt"
   9 Y+8,68 SAY WCOUNT14 PICT '999S"
   0 Y+9,4 SAY "Odometer"
   0 Y+9,27 SAY HCOUNT3 PICT  '9999'
   I? Y+9,44 SAY "Waived"
   8 Y+9,68 SAY tCOUNTlS PICT '9999'
   6 Y+10,4 SAY "VIN"

-------
   e Y+10,27 SAY RCOUNT4 PICT '9999'
   9 Y+10,44 SAY "C 207B compliance"
   6 Y+10,68 SAY HCOUNT16 PICT '9999'
   0 Y+11,4 SAY "Body"
   9 Y+11,27 SAY HCOWT5 PICT '9999'
   I? Y+11,44 SAY "Codes"
   0 Y+11,68 SAY HCOUNT17 PICT '9999'
   0 Y+12,4 SAY "First HC"
   9 Y+12,27 SAY HCOUNT6 PICT '9999'
   0 Y+12,44 SAY "Cost"
   8 Y+12,68 SAY HCOUNT18 PICT '9999'
   I? Y+13,4 SAY "First CO"
   8 Y+13,27 SAY mm? PICT '9999'
   P Y+13,44 SAY "First insp, station"
   8 Y+13;68 SAY HCOUNT19 PICT '9999'
   P Y+14,4 SAY "HC status"
   6 Y+14,27 SAY HCOUNT8 PICT '9999'
   0 Y+14,44 SAY "First inspector"
   8 Y+14,6fl SAY HCOUNT20 PICT '9999'
   8 Y+15,4 SAY "CO status"
   ? Y+15,27 SAY HCOUNT9 PICT '9999'
   I? Y+15,44 SAY "First insp, date"
   8 Y+15,68 SAY PCOWT21 PICT '9999'
   P Y+U,4 SAY "Reinsp. HC"
   8 Y+16,27 SAY MCOUNT10 PICT '9999'
   P Y+16,44 SAY "Reinsp, station"
   6 Y+16,68 SAY HCQUNT22 PICT '9999'
   P Y+17,4 SAY "Reinsp, CO"
   8 Y+17,27 SAY HCOUNT11 PICT '9999'
   9 Y+17,44 SAY "Reinsp, date"
   9 Y+17,68 SAY HCOUNT23 PICT '9999'
   0 Y+18,4 SAY "HC reinsp, status"
   8 Y+18,27 SAY RCOUNT12 PICT '9999'
   0 Y+18,44 SAY "Decal No,"
   8 Y+18,68 SAY HCOUNT24 PICT '9999'
   ?CHR<15)
   SET DEVICE TO SCREEN
   IF HCOUMICOO
   REPO FORM CARS ALL TO PRINT
   REPO FORM EMISSION ALL TO  PRINT
   REPO FORP1 EXEMP ALL TO PRINT
   REPO FORH STATION ALL TO PRINT
   EHBIF
   OTHERWISE
      LOOP
   ENDCASE
ENDDO
CLEA ALL
RETU
*EOF

-------
      APPENDIX B



DATA BASE STRUCTURE FOR



 DATA ENTRY--MVI-2 AND



     SHP-522 FORMS

-------
Structure -for database
Number of data records
Date of last update
C:MISSOURI
   1482
09/15/86
db-f
Field
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
?!?
23
24
Field name
YEAR-
MAKE
ODOMETER
VTN
BODY
HC FIRST
CO FIRST
STATUS 1HC
STATUS ICO
HC RE
CQ..RE
STATUS2HC
STATUS2CO
EXEMPT
WAIVED
C...207B
CODES
COST
STATION 1
INSPECT 1
DATE 	 1
RE INSPECT
RE. .DATE
DECAL
Type
Numeric
Character
Numeric
Character
Numeri c
Numeric
Numeri c
Character
Character
Numeri c
Numeri c
Character
Character
Numer i c
Numeric
Numer i c
Character
Numeri c
Character
Numeric
Date
Numeri c
Date
Character
** Total **
Width
2
4
-r
sJ<
18
1
4
4
1
1
4
4
1
1
1
1
1
38
3>
6
9
8
9
8
8
141
                                        Dec

-------
Structure -for database s C:LQEM2NUP
Number of data records :
Date of last update
Fie













##
Id Field name
i VIM"
2. MAKE
3 YEAR
4 MECH
5 STATION
6 DATE
7 PREHC
8 PRECO
9 ATHC
10 ATCO
11 ADJUST
1 2 COST
1.3 CONTROL
Total **
: 11/0
Type
Character
Character
Numeri c
Character
Character
Date
Numeri c
IMumer i c
Numeri c
Numeri c
Character
Numer i c
Character

35
3/86-
. Width
18
4
O
11
6
8
4
4
4
4
38
•-.'
6
113
db-f
   Dec

-------