I have that set up, but then how do I rewrite each records.
Here is my code so far, all I get are the duplicate 9' but only within certain records, I want all duplicates.
IDENTIFICATION DIVISION.
PROGRAM-ID. 221MRGE6.
AUTHOR. DEIDRE DOUGHERTY
DATE-WRITTEN. 12/2001.
********************************************************
* PROPERTY OF U.S.D.A *
********************************************************
* UNIT PROLOG *
********************************************************
*Program/Unit name: 213MRGE5.CBL *
*System: Automated Inventory System (AIS) *
* *
*======================================================*
* *
*Internal References/Files: *
* *
*Name Use Type Description *
*------------- ---- ----- ----------------------*
*HH0932 I Data HOUSEHOLD MEMBERS FROM*
* 9-32. *
*HHMF I Data HOUSEHOLD MASTER LIST *
* *
*NEWMAST Data OUTPUT NEW MASTER FILE*
* TEMP *
* *
*SORT-FILE I/O Data SORTED DATA *
*SORT-WORK O Data SORTED DATA FILE *
* *
* *
* *
*======================================================*
* *
*Library files used: *
*Name Use Type Description *
*------------- ---- ----- ----------------------*
*HH0932.LIB I I HOUSEHOLD MEMBERS FROM*
* 9-32 FORMAT *
*HHMF.LIB I I HOUSEHOLD MASTER FILE *
* *
********************************************************
* NOTES: N/A *
* *
********************************************************
* MODIFICATION LOG *
********************************************************
* REVISION HISTORY *
********************************************************
* CHANGE DATE PROGRAMMER DESCRIPTION *
*------------------------------------------------------*
*12/2001 D. DOUGHERTY CREATED MERGE PROGRAM *
********************************************************
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 NEW-HHMF-FILE
ASSIGN TO DISK
ORGANIZATION IS LINE SEQUENTIAL.
SELECT NEWMAST-FILE
ASSIGN TO DISK
ORGANIZATION IS LINE SEQUENTIAL.
SELECT ERROR-FILE
ASSIGN TO DISK
ORGANIZATION IS LINE SEQUENTIAL.
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 NEWMAST-FILE
LABEL RECORDS IS STANDARD
VALUE OF FILE-ID IS 'D:\SEQ-DATA\221MAST1.DAT'.
01 NEWMAST-REC PIC X(2048).
FD NEW-HHMF-FILE
LABEL RECORDS IS STANDARD
VALUE OF FILE-ID IS 'D:\SEQ-DATA\NEWHHMF.DAT'.
01 NEW-HHMF-REC PIC X(2048).
FD ERROR-FILE
LABEL RECORDS IS STANDARD
VALUE OF FILE-ID IS 'D:\SEQ-DATA\ERROR.DAT'.
01 ERROR-REC PIC X(70).
SD SORT-WORK.
01 SORT-REC.
03 SR-ID PIC X(09).
03 SR-SSN PIC 9(09).
03 FILLER PIC X(2030).
FD SORT-FILE
LABEL RECORDS ARE STANDARD
VALUE OF FILE-ID IS 'D:\SEQ-DATA\SORT.WRK'.
01 SF-REC PIC X(2048).
* 01 SF-REC PIC X(784).
*
*
WORKING-STORAGE SECTION.
*
01 N-IDX PIC 9(06).
01 B-IDX PIC 9(09) VALUE ZERO.
01 W-IDX PIC 9(06).
01 BR-IDX PIC 9(06).
01 IDX PIC 9(06).
01 BAD-CNT PIC 9(04) VALUE ZERO.
01 OLD-CNT PIC 9(06) VALUE ZERO.
01 OLD-MEM-CNT PIC 9(06) VALUE ZERO.
01 NEW-CNT PIC 9(06) VALUE ZERO.
01 WORK-CNT PIC 9(06) VALUE ZERO.
01 SORT-CNT PIC 9(06) VALUE ZERO.
01 MEMBER-CNT PIC 9(06) VALUE ZERO.
01 NEW-SSN PIC 9(09).
COPY \SOURCE\HH0932.LIB.
COPY \SOURCE\HHMF.LIB.
COPY \SOURCE\DATE2000.LIB.
01 NEWMAST-DATA.
03 HMFN-ID PIC X(09).
03 HMFN-SS-ID PIC 9(09).
03 HMFN-BIRTHDATE PIC 9(08).
03 HMFN-LNAME PIC X(20).
03 HMFN-FNAME PIC X(14).
03 HMFN-ADDRESS PIC X(23).
03 HMFN-CITY PIC X(13).
03 HMFN-STATE PIC X(02).
03 HMFN-ZIP.
05 HMFN-ZIP1 PIC 9(05).
05 HMFN-ZIP2 PIC 9(04).
03 HMFN-COUNTY PIC X(02).
03 HMFN-LOCATION PIC X(02).
03 HMFN-PHONE.
05 HMFN-PH1 PIC 9(03).
05 HMFN-PHALL.
07 HMFN-PH2 PIC 9(03).
07 HMFN-PH3 PIC 9(04).
03 HMFN-HHSIZE PIC 9(02).
03 HMFN-ETHNIC.
05 HMFN-ETHNIC-CODE-1 PIC X(01).
05 HMFN-ETHNIC-CODE-2 PIC X(01).
03 HMFN-CERTDATE PIC 9(08).
03 HMFN-TERMDATE PIC 9(06).
03 HMFN-STATUSCODE PIC X(01).
03 HMFN-ISSUEDATA PIC X(72).
03 HMFN-HHISSUESIZE PIC X(24).
03 HMFN-PCT1.
05 HMFN-PC1.
07 HMFN-PCYR1 PIC 9(04).
07 HMFN-PCYR-R1 REDEFINES HMFN-PCYR1.
09 HMFN-PCC1 PIC 9(02).
09 HMFN-PCY1 PIC 9(02).
07 HMFN-PCM1 PIC 9(02).
05 HMFN-PT1.
07 HMFN-PTYR1 PIC 9(04).
07 HMFN-PTYR-R1 REDEFINES HMFN-PTYR1.
09 HMFN-PTC1 PIC 9(02).
09 HMFN-PTY1 PIC 9(02).
07 HMFN-PTM1 PIC 9(02).
03 HMFN-PCT2.
05 HMFN-PC2.
07 HMFN-PCYR2 PIC 9(04).
07 HMFN-PCYR-R2 REDEFINES HMFN-PCYR2.
09 HMFN-PCC2 PIC 9(02).
09 HMFN-PCY2 PIC 9(02).
07 HMFN-PCM2 PIC 9(02).
05 HMFN-PT2.
07 HMFN-PTYR2 PIC 9(04).
07 HMFN-PTYR-R2 REDEFINES HMFN-PTYR2.
09 HMFN-PTC2 PIC 9(02).
09 HMFN-PTY2 PIC 9(02).
07 HMFN-PTM2 PIC 9(02).
03 HMFN-PCT3.
05 HMFN-PC3.
07 HMFN-PCYR3 PIC 9(04).
07 HMFN-PCYR-R3 REDEFINES HMFN-PCYR3.
09 HMFN-PCC3 PIC 9(02).
09 HMFN-PCY3 PIC 9(02).
07 HMFN-PCM3 PIC 9(02).
05 HMFN-PT3.
07 HMFN-PTYR3 PIC 9(04).
07 HMFN-PTYR-R3 REDEFINES HMFN-PTYR3.
09 HMFN-PTC3 PIC 9(02).
09 HMFN-PTY3 PIC 9(02).
07 HMFN-PTM3 PIC 9(02).
03 HMFN-PCT4.
05 HMFN-PC4.
07 HMFN-PCYR4 PIC 9(04).
07 HMFN-PCYR-R4 REDEFINES HMFN-PCYR4.
09 HMFN-PCC4 PIC 9(02).
09 HMFN-PCY4 PIC 9(02).
07 HMFN-PCM4 PIC 9(02).
05 HMFN-PT4.
07 HMFN-PTYR4 PIC 9(04).
07 HMFN-PTYR-R REDEFINES HMFN-PTYR4.
09 HMFN-PTC4 PIC 9(02).
09 HMFN-PTY4 PIC 9(02).
07 HMFN-PTM4 PIC 9(02).
03 HMFN-PCT5.
05 HMFN-PC5.
07 HMFN-PCYR5 PIC 9(04).
07 HMFN-PCYR-R5 REDEFINES HMFN-PCYR5.
09 HMFN-PCC5 PIC 9(02).
09 HMFN-PCY5 PIC 9(02).
07 HMFN-PCM5 PIC 9(02).
05 HMFN-PT5.
07 HMFN-PTYR5 PIC 9(04).
07 HMFN-PTYR-R5 REDEFINES HMFN-PTYR5.
09 HMFN-PTC5 PIC 9(02).
09 HMFN-PTY5 PIC 9(02).
07 HMFN-PTM5 PIC 9(02).
03 HMFN-MESSAGE PIC X(256).
03 HMFN-UPDATED PIC X(01).
03 HMFN-RESIDENCY PIC X(01).
03 HMFN-CATEGORY PIC X(03).
03 HMFN-ELIGIBLE PIC X(01).
03 HMFN-MEMBERS.
05 HM-MEMBERS OCCURS 23 TIMES.
07 HM-FNAME PIC X(14).
07 HM-LNAME PIC X(20).
07 HM-SSN PIC 9(09).
07 HM-DOB PIC 9(08).
03 HMFN-SELF-EMPLOYED PIC X(01).
03 HMFN-TOTAL-RESOURCES PIC 9(06)V99.
03 HMFN-FREQUENCY OCCURS 4 TIMES.
05 HMFN-FREQUENCY-CODE PIC X(01).
03 HMFN-REST.
05 HMFN-EARNED-INCOME OCCURS 4 TIMES.
07 HMFN-EARNED PIC 9(06)V99.
05 HMFN-UNEARNED-INCOME OCCURS 4 TIMES.
07 HMFN-UNEARNED PIC 9(06)V99.
05 HMFN-STUDENT-INCOME OCCURS 4 TIMES.
07 HMFN-AMOUNT-REC PIC 9(06)V99.
07 HMFN-TUITION PIC 9(06)V99.
07 HMFN-S-DATE-BEG PIC 9(06).
07 HMFN-S-DATE-END PIC 9(06).
05 HMFN-DEPENDENT-CARE OCCURS 3 TIMES.
07 HMFN-D-CARE PIC 9(03)V99.
05 HMFN-CHILD-SUPPORT OCCURS 3 TIMES.
07 HMFN-C-CARE PIC 9(03)V99.
05 HMFN-MEDICARE-INS OCCURS 3 TIMES.
07 HMFN-M-INSURANCE PIC 9(03)V99.
05 HMFN-MONTH-INCOME-LIMIT PIC 9(03)V99.
03 FILLER PIC X(78).
01 NEWMAST-DATA-2.
03 HMFN-ID-2 PIC X(09).
03 HMFN-SS-ID-2 PIC 9(09).
03 FILLER PIC 9(08).
03 HMFN-LNAME-2 PIC X(20).
03 HMFN-FNAME-2 PIC X(14).
03 FILLER PIC X(498).
03 HMFN-MEMBERS-2.
05 HM-MEMBERS-2 OCCURS 23 TIMES.
07 HM-FNAME-2 PIC X(14).
07 HM-LNAME-2 PIC X(20).
07 HM-SSN-2 PIC 9(09).
07 HM-DOB-2 PIC 9(08).
03 FILLER PIC X(317).
01 HOLD-DATA.
03 HOLD-ID PIC X(09).
03 HOLD-SS-ID PIC 9(09).
03 HOLD-LNAME PIC X(20).
03 HOLD-FNAME PIC X(14).
01 HOLD-SSN-ID PIC 9(09).
01 HH-DEPENDS.
03 HH-2-8.
05 H-2-8 PIC X(51) OCCURS 7 TIMES.
03 HH-9-32.
05 H-9-32 PIC X(51) OCCURS 8 TIMES.
01 HHM-FIELDS.
03 HHM-FNAME PIC X(14).
03 HHM-LNAME PIC X(20).
03 HHM-SSN.
05 HHM-SS1 PIC 9(03).
05 HHM-SS2 PIC 9(02).
05 HHM-SS3 PIC 9(04).
03 HHM-DOB.
05 HHM-DOBM PIC 9(02).
05 HHM-DOBD PIC 9(02).
05 HHM-DOBY PIC 9(04).
01 FLAGS.
03 MORE-DATA-FLAG PIC X(03) VALUE 'YES'.
88 MORE-DATA VALUE 'YES'.
88 NO-MORE-DATA VALUE 'N0'.
01 BAD-SSN PIC 9(09).
01 ERROR-RECORDS.
03 ER-ID PIC X(09).
03 FILLER PIC X(02).
03 ER-ORG-SSN PIC 9(09).
03 FILLER PIC X(04).
03 ER-LNAME PIC X(20).
03 ER-FNAME PIC X(14).
03 FILLER PIC X(01) VALUE SPACE.
03 ER-NEW-SSN PIC 9(09).
*
01 ERROR-OUTPUT.
03 ER-HEADER1 PIC X(80).
03 ER-HEADER2 PIC X(80).
03 ER-HEADER3 PIC X(80).
03 ER-SUB-HEADER1 PIC X(80).
03 ER-SUB-HEADER2 PIC X(80).
03 ER-DETAIL-LINE1 PIC X(80).
01 CURRENT-DATE.
03 CD-CHECK.
05 CDYY PIC 9(04).
05 CDMM PIC 9(02).
03 CDDD PIC 9(02).
01 HEADER-1.
03 H1-MM PIC X(02).
03 FILLER PIC X(01) VALUE '/'.
03 H1-DD PIC X(02).
03 FILLER PIC X(01) VALUE '/'.
03 H1-YY PIC X(04).
03 FILLER PIC X(11) VALUE SPACES.
03 FILLER PIC X(28) VALUE
'AIS WINDOWS DATA CONVERSION'.
03 FILLER PIC X(23) VALUE SPACES.
03 FILLER PIC X(06) VALUE 'PAGE: '.
03 H1-PAGE PIC Z9.
01 HEADER-2.
03 FILLER PIC X(26) VALUE SPACES.
03 FILLER PIC X(18) VALUE
'DUPLICATE SSN LIST'.
03 FILLER PIC X(36) VALUE SPACES.
01 HEADER-3.
03 FILLER PIC X(26) VALUE SPACES.
03 FILLER PIC X(13) VALUE
' TRIBAL NAME '.
03 FILLER PIC X(41) VALUE SPACES.
01 SUB-HEADER-1.
03 FILLER PIC X(02) VALUE SPACES.
03 FILLER PIC X(09) VALUE ' HH-ID '.
03 FILLER PIC X(02) VALUE SPACES.
03 FILLER PIC X(11) VALUE ' OLD-SSN '.
03 FILLER PIC X(04) VALUE SPACES.
03 FILLER PIC X(12) VALUE SPACES.
03 FILLER PIC X(11) VALUE 'CLIENT NAME'.
03 FILLER PIC X(12) VALUE SPACES.
03 FILLER PIC X(02) VALUE SPACES.
03 FILLER PIC X(09) VALUE ' NEW-SSN '.
01 SUB-HEADER-2.
03 FILLER PIC X(02) VALUE SPACES.
03 FILLER PIC X(09) VALUE '_________'.
03 FILLER PIC X(04) VALUE SPACES.
03 FILLER PIC X(11) VALUE '___________'.
03 FILLER PIC X(11) VALUE '___________'.
03 FILLER PIC X(12) VALUE '___________'.
03 FILLER PIC X(03) VALUE SPACES.
03 FILLER PIC X(09) VALUE '_________'.
03 FILLER PIC X(02) VALUE SPACES.
03 FILLER PIC X(15) VALUE '_____________'.
03 FILLER PIC X(02) VALUE SPACES.
01 DETAIL-LINE.
03 DL-SS1 PIC X(03).
03 FILLER PIC X(01) VALUE '-'.
03 DL-SS2 PIC X(02).
03 FILLER PIC X(01) VALUE '-'.
03 DL-SS3 PIC X(04).
03 FILLER PIC X(04) VALUE SPACES.
03 DL-LNAME PIC X(20).
03 FILLER PIC X(01) VALUE SPACES.
03 DL-FNAME PIC X(14).
03 FILLER PIC X(03) VALUE SPACES.
03 DL-ID PIC X(09).
03 FILLER PIC X(05) VALUE SPACES.
03 DL-NSS1 PIC X(03).
03 FILLER PIC X(01) VALUE '-'.
03 DL-NSS2 PIC X(02).
03 FILLER PIC X(01) VALUE '-'.
03 DL-NSS3 PIC X(04).
03 FILLER PIC X(03) VALUE SPACES.
*
*
PROCEDURE DIVISION.
*
*
A000-INITIALIZE.
PERFORM A100-ACCEPT-NS-SEARCH-INPUT.
PERFORM Z000-TERMINATE.
STOP RUN.
A000-EXIT.
EXIT.
*
*
A100-ACCEPT-NS-SEARCH-INPUT.
PERFORM A200-MASTER-SORT.
PERFORM A300-OPEN-FILES.
PERFORM B100-READ-MASTER THRU B100-EXIT.
CLOSE SORT-FILE
HHMF-FILE
NEW-HHMF-FILE
HH0932-FILE.
PERFORM C000-SORT-NEWMAST.
OPEN INPUT SORT-FILE
I-O NEW-HHMF-FILE
OUTPUT NEWMAST-FILE
ERROR-FILE.
MOVE SPACES TO NEWMAST-DATA-2, HOLD-DATA.
MOVE ZEROS TO IDX, N-IDX, BAD-CNT, MEMBER-CNT
MOVE ZEROS TO NEW-CNT.
PERFORM C201-READ-NEWMAST.
A100-EXIT.
EXIT.
A200-MASTER-SORT.
SORT SORT-WORK
ON ASCENDING KEY SR-SSN, SR-ID
USING HHMF-FILE
GIVING SORT-FILE.
A200-EXIT.
EXIT.
A300-OPEN-FILES.
OPEN INPUT HH0932-FILE
HHMF-FILE
SORT-FILE
OUTPUT NEW-HHMF-FILE.
A300-EXIT.
EXIT.
B100-READ-MASTER.
MOVE SPACES TO NEWMAST-DATA.
READ SORT-FILE INTO HHMF-DATA
AT END
MOVE 'NO' TO MORE-DATA-FLAG
GO TO B100-EXIT.
COMPUTE OLD-CNT = OLD-CNT + 1.
IF HMF-HHSIZE > 08
MOVE HMF-ID TO HH0932-KEY
READ HH0932-FILE INTO HH0932-DATA
INVALID KEY
MOVE 08 TO HMF-HHSIZE
COMPUTE OLD-MEM-CNT = OLD-MEM-CNT + 1
DISPLAY 'HH0932 READ: ' OLD-MEM-CNT ' ' HHD-ID
DISPLAY 'HHD-0916: ' HHD-0916
DISPLAY 'HHD-1724: ' HHD-1724.
IF HMF-ID = ZERO
GO TO B100-READ-MASTER.
MOVE HMF-ID TO HMFN-ID.
MOVE HMF-SS TO HMFN-SS-ID.
MOVE HMF-BIRTHDATE TO HMFN-BIRTHDATE.
MOVE HMF-LNAME TO HMFN-LNAME.
MOVE HMF-FNAME TO HMFN-FNAME.
MOVE HMF-ADDRESS TO HMFN-ADDRESS.
MOVE HMF-CITY TO HMFN-CITY.
MOVE HMF-STATE TO HMFN-STATE.
MOVE HMF-ZIP TO HMFN-ZIP.
MOVE HMF-COUNTY TO HMFN-COUNTY.
MOVE HMF-LOCATION TO HMFN-LOCATION.
MOVE ZEROS TO HMFN-PH1.
MOVE HMF-PHONE TO HMFN-PHALL.
MOVE HMF-HHSIZE TO HMFN-HHSIZE.
MOVE HMF-ETHNIC TO HMFN-ETHNIC-CODE-1.
MOVE HMF-CERTDATE TO HMFN-CERTDATE.
MOVE HMF-TERMDATE TO HMFN-TERMDATE.
MOVE HMF-STATUSCODE TO HMFN-STATUSCODE.
MOVE HMF-ISSUEDATA TO HMFN-ISSUEDATA.
MOVE HMF-HHISSUESIZE TO HMFN-HHISSUESIZE.
MOVE HMF-PC1 TO HMFN-PC1.
MOVE HMF-PT1 TO HMFN-PT1.
MOVE HMF-PC2 TO HMFN-PC2.
MOVE HMF-PT2 TO HMFN-PT2.
MOVE HMF-PC3 TO HMFN-PC3.
MOVE HMF-PT3 TO HMFN-PT3.
MOVE HMF-PC4 TO HMFN-PC4.
MOVE HMF-PT4 TO HMFN-PT4.
MOVE HMF-PC5 TO HMFN-PC5.
MOVE HMF-PT5 TO HMFN-PT5.
MOVE HMF-MESSAGE TO HMFN-MESSAGE.
MOVE HMF-UPDATED TO HMFN-UPDATED.
MOVE ZEROS TO HMFN-TOTAL-RESOURCES.
MOVE ZEROS TO HMFN-REST.
PERFORM B150-DEPENDENTS THRU B150-EXIT.
WRITE NEW-HHMF-REC FROM NEWMAST-DATA.
COMPUTE NEW-CNT = NEW-CNT + 1.
DISPLAY 'B100-NEW-HHMF RECS READ: ' NEW-CNT ' ' HMFN-ID.
DISPLAY 'B100-OLD-HHMF1 READ: ' OLD-CNT ' ' HMF-ID.
GO TO B100-READ-MASTER.
B100-EXIT.
EXIT.
B150-DEPENDENTS.
IF HMF-HHSIZE = 01
GO TO B150-EXIT.
IF HMF-HHSIZE > 01
MOVE HMF-OTHERDATA TO HH-2-8
MOVE ZERO TO IDX, N-IDX
PERFORM B200-2-8 THRU B200-EXIT.
IF HMF-HHSIZE > 08
MOVE HHD-0916 TO HH-9-32
MOVE ZERO TO IDX, N-IDX
PERFORM B300-9-32 THRU B300-EXIT.
IF HMF-HHSIZE > 16
MOVE HHD-1724 TO HH-9-32
MOVE ZERO TO IDX, N-IDX
PERFORM B300-9-32 THRU B300-EXIT.
B150-EXIT.
EXIT.
*
B200-2-8.
COMPUTE IDX = IDX + 1.
COMPUTE N-IDX = N-IDX + 1.
IF IDX = 8
GO TO B200-EXIT.
MOVE H-2-8 (IDX) TO HHM-FIELDS.
IF HHM-FNAME = SPACE
GO TO B200-EXIT.
MOVE HHM-SSN TO HM-SSN(N-IDX).
MOVE HHM-FNAME TO HM-FNAME(N-IDX).
MOVE HHM-LNAME TO HM-LNAME(N-IDX).
MOVE HHM-DOB TO HM-DOB(N-IDX).
GO TO B200-2-8.
B200-EXIT.
EXIT.
*
B300-9-32.
COMPUTE IDX = IDX + 1.
COMPUTE N-IDX = N-IDX + 1.
IF IDX = 9
GO TO B300-EXIT.
IF HHM-FNAME = SPACES
GO TO B300-EXIT.
MOVE H-9-32 (IDX) TO HHM-FIELDS.
MOVE HHM-SSN TO HM-SSN(N-IDX).
MOVE HHM-FNAME TO HM-FNAME(N-IDX).
MOVE HHM-LNAME TO HM-LNAME(N-IDX).
MOVE HHM-DOB TO HM-DOB(N-IDX).
GO TO B300-9-32.
*
B300-EXIT.
EXIT.
C000-SORT-NEWMAST.
SORT SORT-WORK
ON ASCENDING KEY SR-SSN
USING NEW-HHMF-FILE
GIVING NEW-HHMF-FILE.
C000-EXIT.
EXIT.
C201-READ-NEWMAST.
MOVE SPACES TO NEWMAST-DATA.
READ NEW-HHMF-FILE INTO NEWMAST-DATA
AT END
GO TO C201-EXIT.
COMPUTE NEW-CNT = NEW-CNT + 1.
DISPLAY 'C201-NEWMAST READ: ' NEW-CNT ' ' HMFN-ID.
IF HMFN-ID = ZEROS
GO TO C201-READ-NEWMAST.
MOVE NEWMAST-DATA TO NEWMAST-DATA-2.
IF HMFN-HHSIZE > 01
MOVE ZEROS TO IDX, N-IDX
PERFORM C202-MEMBERS THRU C202-EXIT.
WRITE NEWMAST-REC FROM NEWMAST-DATA-2.
GO TO C201-READ-NEWMAST.
C201-EXIT.
EXIT.
C202-MEMBERS.
COMPUTE MEMBER-CNT = MEMBER-CNT + 1.
COMPUTE IDX = IDX + 1.
COMPUTE N-IDX = N-IDX + 1.
IF IDX = 24
GO TO C202-EXIT.
MOVE HM-MEMBERS(N-IDX) TO HHM-FIELDS.
IF HHM-FNAME = SPACE
GO TO C202-EXIT.
* IF MEMBER-CNT = 1
MOVE HHM-SSN TO HOLD-SS-ID.
MOVE HHM-SSN TO HM-SSN-2(N-IDX)
MOVE HHM-FNAME TO HM-FNAME-2(N-IDX)
MOVE HHM-LNAME TO HM-LNAME-2(N-IDX)
MOVE HHM-DOB TO HM-DOB-2(N-IDX).
IF HHM-SSN = HOLD-SS-ID
PERFORM C203-DUP-SSN
GO TO C202-MEMBERS.
IF HOLD-SS-ID < HHM-SSN
MOVE HHM-SSN TO HOLD-SS-ID
GO TO C202-MEMBERS.
GO TO C202-MEMBERS.
C202-EXIT.
EXIT.
C203-DUP-SSN.
COMPUTE BAD-CNT = BAD-CNT + 1
MOVE HHM-SSN TO BAD-SSN, ER-ORG-SSN
COMPUTE B-IDX = B-IDX + 1
MOVE B-IDX TO BAD-SSN
MOVE BAD-SSN TO HM-SSN-2(N-IDX), ER-NEW-SSN
MOVE HMFN-ID TO ER-ID
MOVE HHM-FNAME TO ER-FNAME
MOVE HHM-LNAME TO ER-LNAME
WRITE ERROR-REC FROM ERROR-RECORDS.
* REWRITE NEWMAST-REC FROM NEWMAST-DATA.
C203-EXIT.
EXIT.
Z000-TERMINATE.
CLOSE NEWMAST-FILE
NEW-HHMF-FILE
ERROR-FILE.
Z000-EXIT.
EXIT PROGRAM.
This is some of my output error-file
Sorry it did not keep it's format. I had id#, old-ssn, name, then newssn#.
030387806 504722571 ST. PIERRE TILDA 000000001
046764004 999999999 MUNOZ John PAUL 000000002
112642650 504742328 BENEDICT DARLA 000000003
112642650 999999999 RUNYON CODY 000000004
112642650 999999999 RUNYON LUCAS 000000005
112642650 999999999 RUNYON LINDSEY 000000006
112642650 503255338 BENEDICT DAKOTA 000000007
112642650 999999999 PULLINS SYDNEY 000000008
504724631 504667245 AFRAID OF HAWK FLOYD 000003563
504724645 999999999 WINTERS LOUIS 000003564
504724645 999999999 WINTERS JOEANN 000003565