i HAVE PUT IN THE PROGRAM, i THINK MOST OF IT COPIED. THIS ALSO HAS AN INDEXED FILE, I am reading the sorted masterfile (sort-file) into a table (ws-input-name-table with 1000 occurances), I then ask if the user input last name matches the 1st table last name, if they do, I move the fields I need (last name, first name, id and ssn) to the table with 200 occurances.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT HHMF-FILE
ASSIGN TO DISK
ORGANIZATION IS INDEXED
ACCESS MODE IS SEQUENTIAL
RECORD KEY IS HHMF-KEY.
SELECT HH0932-FILE
ASSIGN TO DISK
ORGANIZATION IS INDEXED
ACCESS MODE IS DYNAMIC
RECORD KEY IS HH0932-KEY.
SELECT NAMETABLE-FILE
ASSIGN TO '\FDPSYS\TABLES\DATA\NAMETBL.DAT'.
SELECT SORT-WORK
ASSIGN TO DISK.
SELECT SORT-FILE
ASSIGN TO DISK.
*
*
DATA DIVISION.
FILE SECTION.
FD HHMF-FILE
LABEL RECORDS ARE STANDARD
VALUE OF FILE ID
IS '\FDPSYS\TABLES\DATA\HHMF.DAT'.
01 HHMF-REC.
03 HHMF-KEY PIC X(09).
03 FILLER PIC X(775).
FD HH0932-FILE
LABEL RECORDS ARE STANDARD
VALUE OF FILE-ID
IS '\FDPSYS\TABLES\DATA\HH0932.DAT'.
01 HH0932-REC.
03 HH0932-KEY PIC X(09).
03 FILLER PIC X(1224).
FD NAMETABLE-FILE.
01 NAMETABLE-REC.
05 FILLER PIC X(01) VALUE
SPACE.
05 NT-LNAME PIC X(20).
05 FILLER PIC X(01).
05 NT-FNAME PIC X(14).
05 FILLER PIC X(01) VALUE
SPACE.
05 NT-HHLNAME PIC X(20).
05 FILLER PIC X(01) VALUE
SPACE.
05 NT-ID PIC X(09).
SD SORT-WORK.
01 SORT-REC.
03 SR-HHID PIC X(09).
03 SR-SSN PIC 9(09).
03 FILLER PIC X(08).
03 SR-LNAME PIC X(20).
03 SR-FNAME PIC X(14).
03 FILLER PIC X(724).
FD SORT-FILE
LABEL RECORDS ARE STANDARD
VALUE OF FILE-ID
IS '\FDPSYS\TABLES\DATA\SORT.WRK'.
01 SF-REC PIC X(784).
*
*
WORKING-STORAGE SECTION.
*
COPY \SOURCE\HH0932.LIB.
*
01 I-IDX PIC 9(04).
01 H-IDX PIC 9(04).
01 D-IDX PIC 9(04).
01 SS-IN PIC X(01).
01 SI-LNAME PIC X(20).
01 SNO-IN PIC X(01).
01 SNO-IN2 PIC X(01).
01 SSO-IN PIC X(01).
01 HH-DEPENDS.
03 HH-2-8.
05 H-2-8 OCCURS 7 TIMES.
10 H-2-8FNAME PIC X(14).
10 H-2-8LNAME PIC X(20).
10 H-2-8SS PIC 9(09).
10 FILLER PIC X(08).
03 HH-9-16.
05 H-9-16 OCCURS 8 TIMES.
10 H-9-16FNAME PIC X(14).
10 H-9-16LNAME PIC X(20).
10 H-9-16SS PIC 9(09).
10 FILLER PIC X(08).
03 HH-17-24.
05 H-17-24 OCCURS 8 TIMES.
10 H-17-24FNAME PIC X(14).
10 H-17-24LNAME PIC X(20).
10 H-17-24SS PIC 9(09).
10 FILLER PIC X(08).
03 HH-25-32.
05 H-25-32 OCCURS 8 TIMES.
10 H-25-32FNAME PIC X(14).
10 H-25-32LNAME PIC X(20).
10 H-25-32SS PIC 9(09).
10 FILLER PIC X(08).
*
01 WS-TABLE-SUB PIC 9(04).
01 WS-DISPLAY-SUB PIC 9(03).
01 MAX-DISPLAY-CT PIC 9(01) VALUE 8.
01 WS-INPUT-NAME-DATA.
03 WS-INT-TABLE OCCURS 1000 TIMES.
05 WS-INT-ID PIC X(09).
05 WS-INT-SS.
10 WS-INT-SS1 PIC 9(03).
10 WS-INT-SS2 PIC 9(02).
10 WS-INT-SS3 PIC 9(04).
05 FILLER PIC X(08).
05 WS-INT-LNAME PIC X(20).
05 WS-INT-FNAME PIC X(14).
05 FILLER PIC X(58).
05 WS-INT-HHSIZE PIC 9(02).
05 FILLER PIC X(160).
05 WS-INT-OTHERDATA PIC X(357).
05 FILLER PIC X(147).
01 WS-NAME-HOLD-TABLE.
03 WS-NAME-HOLD-REC OCCURS 200 TIMES.
05 FILLER PIC X(01) VALUE
SPACE.
05 WS-NH-LNAME PIC X(20).
05 WS-NH-FNAME PIC X(14).
05 FILLER PIC X(01) VALUE
SPACE.
05 WS-NH-HHLNAME PIC X(20).
05 FILLER PIC X(15) VALUE
SPACE.
05 WS-NH-ID PIC X(09).
01 WS-NAME-DISPLAY-TABLE.
03 WS-NAME-DISPLAY OCCURS 8 TIMES.
05 FILLER PIC X(01) VALUE
SPACE.
05 WS-ND-LNAME PIC X(20).
05 WS-ND-FNAME PIC X(14).
05 FILLER PIC X(01) VALUE
SPACE.
05 WS-ND-HHLNAME PIC X(20).
05 FILLER PIC X(15) VALUE
SPACE.
05 WS-ND-HHID PIC X(09).
*
SCREEN SECTION.
************* MAIN SEARCH MENU***********************
*
01 SEARCH-SCREEN AUTO.
02 BACKGROUND-COLOR 5 FOREGROUND-COLOR 3.
03 BLANK SCREEN.
03 LINE 2 COL 10 HIGHLIGHT VALUE
-"ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»".
03 LINE 3 COL 10 HIGHLIGHT VALUE "º
-" º".
03 LINE 4 COL 10 HIGHLIGHT VALUE "º ".
03 COL 34 HIGHLIGHT VALUE "SEARCH ONLINE".
03 COL 68 HIGHLIGHT VALUE "º".
03 LINE 5 COL 10 HIGHLIGHT VALUE "º ".
03 COL 22 HIGHLIGHT VALUE
-"BY LAST NAME or social security number.".
03 COL 68 HIGHLIGHT VALUE "º".
03 LINE 6 COL 10 HIGHLIGHT VALUE "º
-" º".
03 LINE 7 COL 10 HIGHLIGHT VALUE "º
-" º".
03 LINE 8 COL 10 HIGHLIGHT VALUE "º
-" º".
03 LINE 9 COL 10 HIGHLIGHT VALUE "º
-" º".
03 LINE 10 COL 10 HIGHLIGHT VALUE "º ".
03 COL 23 HIGHLIGHT VALUE
-"ENTER 'N' FOR LAST NAME SEARCH OR".
03 COL 68 HIGHLIGHT VALUE "º".
03 LINE 11 COL 10 HIGHLIGHT VALUE "º ".
03 COL 23 HIGHLIGHT VALUE
-"ENTER 'S' FOR SOCIAL SECURITY SEARCH OR".
03 COL 68 HIGHLIGHT VALUE "º".
03 LINE 12 COL 10 HIGHLIGHT VALUE "º ".
03 COL 23 HIGHLIGHT VALUE
-"ENTER 'E' TO RETURN TO MAIN MENU".
03 COL 68 HIGHLIGHT VALUE "º".
03 LINE 13 COL 10 HIGHLIGHT VALUE "º
-" º".
03 LINE 14 COL 10 HIGHLIGHT VALUE "º
-" º".
03 LINE 15 COL 10 HIGHLIGHT VALUE "º
-" º".
03 LINE 16 COL 10 HIGHLIGHT VALUE
-"ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ".
03 LINE 15 COL 38 PIC X USING SS-IN AUTO.
*
01 SCREEN-NAME-IN AUTO.
02 BACKGROUND-COLOR 5 FOREGROUND-COLOR 3.
03 BLANK SCREEN.
03 LINE 3 COL 30 HIGHLIGHT VALUE "SEARCH BY".
03 COL 40 HIGHLIGHT VALUE "LAST NAME".
03 LINE 5 COL 7 HIGHLIGHT VALUE "ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
-"ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»".
03 LINE 6 COL 7 HIGHLIGHT VALUE "º".
03 COL 22 HIGHLIGHT VALUE "PLEASE".
03 COL 29 HIGHLIGHT VALUE "ENTER".
03 COL 35 HIGHLIGHT VALUE "THE".
03 COL 39 HIGHLIGHT VALUE "LAST NAME".
03 COL 49 HIGHLIGHT VALUE "TO".
03 COL 52 HIGHLIGHT VALUE "SEARCH.".
03 COL 69 HIGHLIGHT VALUE "º".
03 LINE 7 COL 7 HIGHLIGHT VALUE "º".
03 COL 69 HIGHLIGHT VALUE "º".
03 LINE 8 COL 7 HIGHLIGHT VALUE "º".
03 COL 69 HIGHLIGHT VALUE "º".
03 LINE 9 COL 7 HIGHLIGHT VALUE "º".
03 COL 69 HIGHLIGHT VALUE "º".
03 LINE 10 COL 7 HIGHLIGHT VALUE "º".
03 COL 69 HIGHLIGHT VALUE "º".
03 LINE 11 COL 7 HIGHLIGHT VALUE "º".
03 COL 69 HIGHLIGHT VALUE "º".
03 LINE 12 COL 7 HIGHLIGHT VALUE "º".
03 COL 69 HIGHLIGHT VALUE "º".
03 LINE 13 COL 7 HIGHLIGHT VALUE "º".
03 COL 69 HIGHLIGHT VALUE "º".
03 LINE 14 COL 7 HIGHLIGHT VALUE "º".
03 N-LNAME.
05 COL 11 HIGHLIGHT VALUE "ENTER".
05 COL 17 HIGHLIGHT VALUE "LAST".
05 COL 22 HIGHLIGHT VALUE "NAME:".
05 COLUMN 33 PIC X(20) USING SI-LNAME.
03 COL 69 HIGHLIGHT VALUE "º".
03 LINE 15 COL 7 HIGHLIGHT VALUE "º".
03 COL 69 HIGHLIGHT VALUE "º".
03 LINE 16 COL 7 HIGHLIGHT VALUE "º".
03 COL 69 HIGHLIGHT VALUE "º".
03 LINE 17 COL 7 HIGHLIGHT VALUE "º".
03 COL 69 HIGHLIGHT VALUE "º".
03 LINE 18 COL 7 HIGHLIGHT VALUE "º".
03 COL 69 HIGHLIGHT VALUE "º".
03 LINE 19 COL 7 HIGHLIGHT VALUE "º".
03 COL 69 HIGHLIGHT VALUE "º".
03 LINE 20 COL 7 HIGHLIGHT VALUE "º".
03 COL 69 HIGHLIGHT VALUE "º".
03 LINE 21 COL 7 HIGHLIGHT VALUE "ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
-"ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ".
01 PROCESSING-NAME-SCREEN.
03 BLANK SCREEN.
03 LINE 12 COLUMN 24 HIGHLIGHT FOREGROUND-COLOR 6
'PLEASE WAIT....SEARCHING LIST BY LAST NAME'.
*********************OUTPUT SCREENS*************************
*
01 SCREEN-NAME-OUT AUTO.
02 BACKGROUND-COLOR 5 FOREGROUND-COLOR 3.
03 BLANK SCREEN.
03 LINE 2 COL 20 HIGHLIGHT VALUE "SEARCH".
03 COL 27 HIGHLIGHT VALUE "RESULTS FOR LAST NAME:".
03 COL 50 BACKGROUND-COLOR 2 FOREGROUND-COLOR 4
PIC X(20) FROM SI-LNAME.
03 LINE 3 COL 1 HIGHLIGHT VALUE "ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
-"ÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍ»".
03 LINE 4 COL 1 HIGHLIGHT VALUE "º".
03 COL 15 HIGHLIGHT VALUE "NAME".
03 COL 35 HIGHLIGHT VALUE "º".
03 COL 45 HIGHLIGHT VALUE "HEAD".
03 COL 50 HIGHLIGHT VALUE "OF".
03 COL 53 HIGHLIGHT VALUE "HOUSEHOLD".
03 COL 70 HIGHLIGHT VALUE "º".
03 COL 74 HIGHLIGHT VALUE "HH-ID".
03 COL 80 HIGHLIGHT VALUE "º".
03 LINE 5 COL 1 HIGHLIGHT VALUE "ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
-"ÍÍÍÍÍÎÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎÍÍÍÍÍÍÍÍ͹".
03 LINE 6 COL 1 HIGHLIGHT VALUE "º".
03 COL 35 HIGHLIGHT VALUE "º".
03 COL 70 HIGHLIGHT VALUE "º".
03 COL 80 HIGHLIGHT VALUE "º".
03 LINE 7 COL 1 HIGHLIGHT VALUE "º".
03 COL 35 HIGHLIGHT VALUE "º".
03 COL 70 HIGHLIGHT VALUE "º".
03 COL 80 HIGHLIGHT VALUE "º".
03 LINE 8 COL 1 HIGHLIGHT VALUE "º".
03 COL 35 HIGHLIGHT VALUE "º".
03 COL 70 HIGHLIGHT VALUE "º".
03 COL 80 HIGHLIGHT VALUE "º".
03 LINE 9 COL 1 HIGHLIGHT VALUE "º".
03 COL 35 HIGHLIGHT VALUE "º".
03 COL 70 HIGHLIGHT VALUE "º".
03 COL 80 HIGHLIGHT VALUE "º".
03 LINE 10 COL 1 HIGHLIGHT VALUE "º".
03 COL 35 HIGHLIGHT VALUE "º".
03 COL 70 HIGHLIGHT VALUE "º".
03 COL 80 HIGHLIGHT VALUE "º".
03 LINE 11 COL 1 HIGHLIGHT VALUE "º".
03 COL 35 HIGHLIGHT VALUE "º".
03 COL 70 HIGHLIGHT VALUE "º".
03 COL 80 HIGHLIGHT VALUE "º".
03 LINE 12 COL 1 HIGHLIGHT VALUE "º".
03 COL 35 HIGHLIGHT VALUE "º".
03 COL 70 HIGHLIGHT VALUE "º".
03 COL 80 HIGHLIGHT VALUE "º".
03 LINE 13 COL 1 HIGHLIGHT VALUE "º".
03 COL 35 HIGHLIGHT VALUE "º".
03 COL 70 HIGHLIGHT VALUE "º".
03 COL 80 HIGHLIGHT VALUE "º".
03 LINE 14 COL 1 HIGHLIGHT VALUE "º".
03 COL 35 HIGHLIGHT VALUE "º".
03 COL 70 HIGHLIGHT VALUE "º".
03 COL 80 HIGHLIGHT VALUE "º".
03 LINE 15 COL 1 HIGHLIGHT VALUE "º".
03 COL 35 HIGHLIGHT VALUE "º".
03 COL 70 HIGHLIGHT VALUE "º".
03 COL 80 HIGHLIGHT VALUE "º".
03 LINE 16 COL 1 HIGHLIGHT VALUE "º".
03 COL 35 HIGHLIGHT VALUE "º".
03 COL 70 HIGHLIGHT VALUE "º".
03 COL 80 HIGHLIGHT VALUE "º".
03 LINE 17 COL 1 HIGHLIGHT VALUE "ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
-"ÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍͼ".
01 NAMEDATA.
03 LINE 6 COL 2 PIC X(67) FROM WS-NAME-DISPLAY-TABLE.
03 LINE 7 COL 2 PIC X(67) FROM WS-NAME-DISPLAY-TABLE.
03 LINE 8 COL 2 PIC X(67) FROM WS-NAME-DISPLAY-TABLE.
03 LINE 9 COL 2 PIC X(67) FROM WS-NAME-DISPLAY-TABLE.
03 LINE 10 COL 2 PIC X(67) FROM WS-NAME-DISPLAY-TABLE.
03 LINE 11 COL 2 PIC X(67) FROM WS-NAME-DISPLAY-TABLE.
03 LINE 12 COL 2 PIC X(67) FROM WS-NAME-DISPLAY-TABLE.
03 LINE 13 COL 2 PIC X(67) FROM WS-NAME-DISPLAY-TABLE.
01 PROCESSING-RETURN-SCREEN.
03 LINE 18 COL 3 HIGHLIGHT VALUE
"PRESS".
03 COL 9 BACKGROUND-COLOR 2 FOREGROUND-COLOR 4
"ENTER".
03 COL 15 HIGHLIGHT VALUE
"TO GO BACK TO MAIN MENU".
03 LINE 18 COL 58 PIC X USING SNO-IN AUTO.
01 NO-PROCESS-RETURN-SCREEN.
03 LINE 18 COL 3 ' '.
03 COL 9 ' '.
03 COL 16 ' '.
03 COL 58 ' '.
01 PROCESSING-CONTINUE-SCREEN.
03 LINE 18 COL 3 VALUE SPACES.
03 LINE 19 COL 3 HIGHLIGHT FOREGROUND-COLOR 6
'PRESS "RETURN" TO SEE'.
03 LINE 19 COL 25 HIGHLIGHT FOREGROUND-COLOR 6
'THE NEXT 8 RECORDS!'.
03 LINE 19 COL 46 PIC X USING SNO-IN AUTO.
01 PROCESSING-MESSAGE-NAME-SCREEN.
03 BLANK SCREEN.
03 LINE 12 COL 34 HIGHLIGHT FOREGROUND-COLOR 6
'"LAST NAME ENTERED '.
03 LINE 13 COL 34 BACKGROUND-COLOR 2 FOREGROUND-COLOR 4
PIC X(20) FROM SI-LNAME.
03 LINE 14 COL 30 HIGHLIGHT FOREGROUND-COLOR 6
' WAS NOT FOUND-PLEASE TRY ANOTHER."'.
03 LINE 15 COL 3 HIGHLIGHT VALUE
"PRESS".
03 COL 9 BACKGROUND-COLOR 2 FOREGROUND-COLOR 4
"ENTER".
03 COL 15 HIGHLIGHT VALUE
"TO RETURN TO MAIN ONLINE SEARCH MENU".
03 LINE 16 COL 58 PIC X USING SNO-IN AUTO.
*
*
PROCEDURE DIVISION.
*
*
A000-INITIALIZE.
PERFORM A100-ACCEPT-MAIN-SEARCH-INPUT THRU A100-EXIT.
PERFORM A200-ACCEPT-NS-SEARCH-INPUT THRU A200-EXIT.
PERFORM Z000-TERMINATE THRU Z000-EXIT.
STOP RUN.
A000-EXIT.
EXIT.
*
*
A100-ACCEPT-MAIN-SEARCH-INPUT.
MOVE SPACES TO SSO-IN, SNO-IN, SNO-IN2, SI-SSN.
MOVE SPACES TO SS-IN, SI-LNAME.
SET I-IDX TO 1.
SET H-IDX TO 1.
DISPLAY SEARCH-SCREEN.
ACCEPT SEARCH-SCREEN.
DISPLAY "LEAVING A100".
A100-EXIT.
EXIT.
A200-ACCEPT-NS-SEARCH-INPUT.
DISPLAY "ENTERING A200-ACCEPT".
MOVE SPACES TO NAMETABLE-REC, WS-INPUT-NAME-DATA.
IF SS-IN = "N"
DISPLAY SCREEN-NAME-IN
ACCEPT SCREEN-NAME-IN
MOVE SPACES TO WS-NAME-DISPLAY-TABLE,
WS-NAME-HOLD-TABLE
PERFORM A300-SORT THRU A300-EXIT
OPEN INPUT SORT-FILE
HH0932-FILE
I-O NAMETABLE-FILE
DISPLAY PROCESSING-NAME-SCREEN
PERFORM B100-READ-NAME THRU B100-EXIT
PERFORM B400-SELECTED-NAMES-SSN THRU B400-EXIT.
IF SS-IN = "E"
GO TO A200-EXIT.
A200-EXIT.
EXIT.
*
*
A300-SORT.
DISPLAY "ENTERING A300-SORT" STOP ' '.
SORT SORT-WORK
ON ASCENDING KEY SR-LNAME
USING HHMF-FILE
GIVING SORT-FILE.
A300-EXIT.
EXIT.
*
B100-READ-NAME.
COMPUTE I-IDX = I-IDX + 1
ADD 1 TO I-IDX.
READ SORT-FILE INTO WS-INT-TABLE(I-IDX)
AT END
DISPLAY "EOF"
GO TO B100-EXIT.
IF WS-INT-HHSIZE(I-IDX) > 08
MOVE WS-INT-ID(I-IDX) TO HH0932-KEY
READ HH0932-FILE INTO HH0932-DATA
INVALID KEY
MOVE 08 TO WS-INT-HHSIZE(I-IDX).
IF WS-INT-LNAME(I-IDX) = SPACE
GO TO B100-READ-NAME.
IF SI-LNAME = WS-INT-LNAME(I-IDX)
DISPLAY "SILNAME=WSINTLNAME="SI-LNAME,
WS-INT-LNAME(I-IDX)
MOVE WS-INT-LNAME(I-IDX) TO
WS-NH-LNAME(H-IDX),
WS-NH-HHLNAME(H-IDX), NT-LNAME,
NT-HHLNAME
DISPLAY "WS-NH-LNAME="WS-NH-LNAME(H-IDX)
MOVE WS-INT-FNAME(I-IDX) TO
WS-NH-FNAME(H-IDX), NT-FNAME
MOVE WS-INT-ID(I-IDX) TO WS-NH-ID(H-IDX),
NT-ID
PERFORM B300-DEPENDENTS THRU B300-EXIT.
GO TO B100-READ-NAME.
B100-EXIT.
EXIT.
B300-DEPENDENTS.
IF WS-INT-HHSIZE(I-IDX) = 01
GO TO B300-EXIT.
IF WS-INT-HHSIZE(I-IDX) > 01
MOVE WS-INT-OTHERDATA(I-IDX) TO HH-2-8
MOVE ZERO TO D-IDX
PERFORM B301-2-8 THRU B301-EXIT
DISPLAY "B301-2-8 DONE".
IF WS-INT-HHSIZE(I-IDX) > 08
MOVE HHD-0916 TO HH-9-16
MOVE ZERO TO D-IDX
PERFORM B302-9-16 THRU B302-EXIT.
IF WS-INT-HHSIZE(I-IDX) > 16
MOVE HHD-1724 TO HH-17-24
MOVE ZERO TO D-IDX
PERFORM B303-17-24 THRU B303-EXIT.
IF WS-INT-HHSIZE(I-IDX) > 24
MOVE HHD-2532 TO HH-25-32
MOVE ZERO TO D-IDX
PERFORM B304-25-32 THRU B304-EXIT.
B300-EXIT.
EXIT.
B301-2-8.
DISPLAY "ENTERING B301-2-8".
COMPUTE D-IDX = D-IDX + 1.
DISPLAY "D-IDX=" D-IDX.
IF D-IDX = 8
GO TO B301-EXIT.
IF SS-IN = "N"
IF SI-LNAME = H-2-8LNAME(D-IDX)
DISPLAY "SI-LNAME=H28LNAME="SI-LNAME,
H-2-8LNAME(D-IDX)
MOVE H-2-8LNAME(D-IDX) TO
WS-NH-LNAME(H-IDX), NT-LNAME
MOVE H-2-8FNAME(D-IDX) TO
WS-NH-FNAME(H-IDX), NT-FNAME
MOVE WS-INT-LNAME(I-IDX) TO
WS-NH-HHLNAME(H-IDX), NT-HHLNAME
MOVE WS-INT-ID(I-IDX) TO
WS-NH-ID(H-IDX), NT-ID
GO TO B301-2-8.
B301-EXIT.
EXIT.
B302-9-16.
COMPUTE D-IDX = D-IDX + 1.
IF D-IDX = 9
GO TO B302-EXIT.
IF SS-IN = "N"
IF SI-LNAME = H-9-16LNAME(D-IDX)
MOVE H-9-16LNAME(D-IDX) TO
WS-NH-LNAME(H-IDX),
NT-LNAME
MOVE H-9-16FNAME(D-IDX) TO
WS-NH-FNAME(H-IDX),
NT-FNAME
MOVE WS-INT-LNAME(I-IDX) TO
WS-NH-HHLNAME(H-IDX),
NT-HHLNAME
MOVE WS-INT-ID(I-IDX) TO
WS-NH-ID(H-IDX), NT-ID.
GO TO B302-9-16.
B302-EXIT.
EXIT.
B303-17-24.
COMPUTE D-IDX = D-IDX + 1.
IF D-IDX = 9
GO TO B303-EXIT.
IF SS-IN = "N"
IF SI-LNAME = H-17-24LNAME(D-IDX)
MOVE H-17-24LNAME(D-IDX) TO
WS-NH-LNAME(H-IDX),
NT-LNAME
MOVE H-17-24FNAME(D-IDX) TO
WS-NH-FNAME(H-IDX),
NT-FNAME
MOVE WS-INT-LNAME(I-IDX) TO
WS-NH-HHLNAME(H-IDX),
NT-HHLNAME
MOVE WS-INT-ID(I-IDX) TO
WS-NH-ID(H-IDX), NT-ID.
GO TO B303-17-24.
B303-EXIT.
EXIT.
B304-25-32.
COMPUTE D-IDX = D-IDX + 1.
IF D-IDX = 9
GO TO B304-EXIT.
IF SS-IN = "N"
IF SI-LNAME = H-25-32LNAME(D-IDX)
MOVE H-25-32LNAME(D-IDX) TO
WS-NH-LNAME(H-IDX),
NT-LNAME
MOVE H-25-32FNAME(D-IDX) TO
WS-NH-FNAME(H-IDX),
NT-FNAME
MOVE WS-INT-LNAME(I-IDX) TO
WS-NH-HHLNAME(H-IDX),
NT-HHLNAME
MOVE WS-INT-ID(I-IDX) TO
WS-NH-ID(H-IDX), NT-ID.
GO TO B304-25-32.
B304-EXIT.
EXIT.
B400-SELECTED-NAMES-SSN.
IF SS-IN = "N"
MOVE 1 TO H-IDX
PERFORM B501A-MOVE-NAME THRU B501A-EXIT
UNTIL WS-NAME-HOLD-REC(H-IDX) = SPACES
OR H-IDX > 200.
B400-EXIT.
EXIT.
B501A-MOVE-NAME.
INITIALIZE WS-NAME-DISPLAY-TABLE.
IF SI-LNAME NOT = WS-NH-LNAME(H-IDX)
DISPLAY "NO NAMES MATCH"
DISPLAY PROCESSING-MESSAGE-NAME-SCREEN.
PERFORM VARYING WS-DISPLAY-SUB FROM +1 BY +1
UNTIL WS-DISPLAY-SUB > MAX-DISPLAY-CT
MOVE WS-NAME-HOLD-REC(H-IDX)
TO WS-NAME-DISPLAY(WS-DISPLAY-SUB)
ADD +1 TO H-IDX
END-PERFORM.
PERFORM B502A-DISPLAY-NAME THRU B502A-EXIT.
B501A-EXIT.
EXIT.
B502A-DISPLAY-NAME.
IF WS-TABLE-SUB < 9
DISPLAY SCREEN-NAME-OUT STOP ' '
DISPLAY NAMEDATA.
IF WS-TABLE-SUB > 8
DISPLAY SCREEN-NAME-OUT
DISPLAY WS-NAME-DISPLAY-TABLE
DISPLAY NO-PROCESS-RETURN-SCREEN
DISPLAY PROCESSING-CONTINUE-SCREEN.
IF SNO-IN = "E"
GO TO B502A-EXIT.
B502A-EXIT.
EXIT.
Z000-TERMINATE.
CLOSE SORT-FILE
HH0932-FILE
HHMF-FILE
NAMETABLE-FILE
IF SS-IN = 'E'
GO TO Z000-EXIT.
Z000-EXIT.
EXIT PROGRAM.