&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
51,47 SAY HRVAL2/REINS2 PICT '9999'
ENDI
IF REINS3=0
8 51,63 SAY "0"
ELSE
8 51,60 SAY HRVAL3/REINS3 PICT '9999'
ENDI
IF REINS4=0
5 51,76 SAY "0"
ELSE
8 51,73 SAY HRVAL4/REINS4 PICT '9999'
ENDI
8 52,8 SAY "Hin"
I? 52,21 SAY HRHINT PICT '9999'
8 52,34 SAY HffllNl PICT '9999'
0 52,47 SAY HRHIN2 PICT '9999'
8 52,60 SAY HRHIN3 PICT '9999'
8 52,73 SAY HRHIN4 PICT '9999'
0 53,8 SAY "flax"
8 53,21 SAY HRRAXT PICT '9999'
0 53,34 SAY HRHAX1 PICT '9999'
0 53,47 SAY HRRAX2 PICT '9999'
0 53,60 SAY HRWAX3 PICT '9999'
-------
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'
60,59 SAY CRSTD3 PICT '99,99'
8 60,72 SAY CRSTD4 PICT '99,99'
STOR REINST TO HREINS
SET DEVI TO SCRE
EJEC
CLEA
SELE A
CO TOP
SET INDE TO ISTATION
**** CALCULATE TOTALS BY STATION
STOR 0 TO TTOTAL
STOR 0 TO TFAIL
STOR 0 TO SUM
-------
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,61 SAY ZHINDATE PICT '99'
0 8,64 SAY "through 19"
8 8,74 SAY ZHAXDATE PICT '99'
9 8,76 SAY ","
(? 12,28 SAY "*»«»« General Summary #****"
8 14,17 SAY "Description Number Perce"
(? 14,72 SAY "nt"
8 15,7 SAY " "
8 15,66 SAY " "
0 16,8 SAY "Emission Tests"
8 16,53 SAY ZTOTAL PICT '99999'
0 17,8 SAY "Passing vehicles"
9 17,53 SAY ZPASS PICT '99999'
6 17,68 SAY ZPASS/(ZTOTAL-ZHEXEMPT)#100 PICT '999,9'
0 18,8 SAY "Failed Initial Inspection for HC"
0 18,53 SAY ZHFAIL PICT '99999'
0 18,68 SAY ZHFAIL/(ZTOTAL-ZMEXEffT)*100 PICT '999,9'
0 19,8 SAY "Failed Initial Inspection for CO"
8 19,53 SAY ZCFAIL PICT '99999'
0 19,68 SAY ZCFAIL/(ZTOTAL-ZP1EXEP1PT)»100 PICT '999,9'
0 20,8 SAY "Failed Both Initial Inspections"
0 20,53 SAY ZBFAIL PICT '99999'
-------
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
-------
4,40-Y/2 SAY R
8 6,16 SAY "****# Emission Inspection Data Sumary **«**"
9 7,1 SAY """==="+TOP
(» 8,3 SAY "Description"
8 8,20 SAY "Total"
0 8,30 SAY "1971 - 1974"
8 8,43 SAY "1975 - 1979"
8 8,60 SAY "1980"
8 8,71 SAY "1981 +"
8 9,1 SAY " "+BOT
8 11,1 SAY "Initial Inspection"
##**«**#*#** INITIAL INSPECTION HC
8 13,4 SAY "HC Reading"
STQR HVAL1+WAL2+HVAL3+HVAL4 TO HVALT
STOR 2000 TO HHINT
IF miNKHniNT
STOR HfllNl TO HHINT
ENDI
IF HHIN2HHAXT
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
------- |