FOR STATE FIELD
CS-HHINFO-CS1-STATE-EF-ADD-Aft-Procedure.
perform state-check.
STATE-CHECK.
IF HMFN-STATE = 'AK' OR 'AL' OR 'AZ' OR 'AR' OR 'CA' OR
'CO' OR 'CT' OR 'DE' OR 'DC' OR 'FL' OR
'GA' OR 'HI' OR 'ID' OR 'IL' OR 'IN' OR
'IA' OR 'KS' OR 'KY' OR 'LA' OR 'ME' OR
'MD' OR 'MA' OR 'MI' OR 'MN' OR 'MS' OR
'MO' OR 'MT' OR 'NE' OR 'NV' OR 'NH' OR
'NJ' OR 'NM' OR 'NY' OR 'NC' OR 'ND' OR
'OH' OR 'OK' OR 'OR' OR 'PA' OR 'RI' OR
'SC' OR 'SD' OR 'TN' OR 'TX' OR 'UT' OR
'VT' OR 'VA' OR 'WA' OR 'WV' OR 'WI' OR
'WY'
next sentence
ELSE
DISPLAY MESSAGE 'INVALID STATE CODE ENTRY'
END-IF.
STATE-CHECK-EXIT.
EXIT.
for county field-THIS ONE CALLS A PROGRAM AS WELL.
.
CS-HHINFO-CS1-county-EF-ADD-Aft-Procedure.
perform COUNTY-CHECK.
COUNTY-CHECK.
IF HMFN-COUNTY > SPACE
move spaces to cl-file, cnty-found
MOVE 'COUNTY.TBL ' TO CL-FILE
CALL "CNTY-LOC2" USING HMFN-COUNTY, CNTY-FOUND,
HMFN-LOCATION, LOC-FOUND,
CNTY-LOC-name, CNTY-LOC-table
CANCEL "CNTY-LOC2"
IF CNTY-FOUND NOT = 'Y'
DISPLAY MESSAGE 'INVALID COUNTY CODE'
END-IF
END-IF.
COUNTY-CHECK-EXIT.
EXIT.
called program
** ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SPECIAL-NAMES.
*{Bench}activex-def
*{Bench}end
FILE-CONTROL.
COPY "cnty-loc-file.sl".
*{Bench}end
DATA DIVISION.
FILE SECTION.
*{Bench}file
COPY "cnty-loc-file.fd".
*{Bench}end
WORKING-STORAGE SECTION.
*{Bench}acu-def
COPY "Acugui.Def".
COPY "Acucobol.Def".
COPY "Crtvars.Def".
COPY "Showmsg.Def".
*{Bench}end
*
*
01 CNT PIC 9(02) VALUE ZERO.
01 HH-IDX PIC 9(02).
01 CL-KEY PIC 9(02)
VALUE IS 1.
01 cnty-loc-stat PIC X(02).
01 END-OF-FILE PIC X(01).
88 ENDOFFILE VALUE "E".
*{Bench}copy-working
*{Bench}end
LINKAGE SECTION.
01 CNTY-LOC-NAME.
05 FILLER PIC X(10)
VALUE IS '\AISTABLE\'.
05 CL-FILE PIC X(12)
VALUE IS spaces.
01 HMFN-COUNTY PIC X(02).
01 CNTY-FOUND PIC X(01).
01 LOC-FOUND PIC X(01).
01 HMFN-LOCATION PIC X(02).
01 CNTY-LOC-TABLE.
03 CL-VALUES OCCURS 33 TIMES.
05 CLV PIC X(02).
*{Bench}end
SCREEN SECTION.
*{Bench}copy-screen
*{Bench}end
PROCEDURE DIVISION using HMFN-COUNTY, CNTY-FOUND,
HMFN-LOCATION, LOC-FOUND,
CNTY-LOC-name, CNTY-LOC-table.
A000-BEGIN.
MOVE SPACES TO cnty-loc-table.
OPEN INPUT CNTY-LOC-FILE.
PERFORM B000-READ.
CLOSE CNTY-LOC-FILE.
EXIT PROGRAM.
A000-EXIT.
EXIT.
B000-READ.
MOVE 'N' TO END-OF-FILE.
PERFORM UNTIL ENDOFFILE
READ CNTY-LOC-FILE INTO CNTY-LOC-TABLE
INVALID KEY
MOVE "E" TO END-OF-FILE
NOT INVALID KEY
PERFORM C000-CHECK
END-READ
END-PERFORM.
B000-EXIT.
EXIT.
C000-CHECK.
COMPUTE CNT = CNT + 1.
IF CL-FILE = 'COUNTY.TBL'
PERFORM C100-COUNTY
ELSE
PERFORM C200-LOCATION
END-IF.
C100-COUNTY.
MOVE 'N' TO CNTY-FOUND.
perform varying hh-idx from 1 by 1
UNTIL HH-IDX > 33
OR
CLV(HH-IDX) = SPACES
IF HMFN-COUNTY = CLV(HH-IDX)
MOVE 'Y' TO CNTY-FOUND
move 'E' to end-of-file
END-IF
END-PERFORM.
C200-LOCATION.
MOVE 'N' TO LOC-FOUND.
perform varying hh-idx from 1 by 1
UNTIL HH-IDX > 33
OR
CLV(HH-IDX) = SPACES
IF HMFN-LOCATION = CLV(HH-IDX)
MOVE 'Y' TO LOC-FOUND
move 'E' to end-of-file
END-IF
END-PERFORM.
C200-EXIT.
EXIT.