SSSSSSSSS SSSSSSSSS NNN NNN DDDDDDDDDDDD PPPPPPPPPPPP SSSSSSSSS SSSSSSSSS NNN NNN DDDDDDDDDDDD PPPPPPPPPPPP SSSSSSSSS SSSSSSSSS NNN NNN DDDDDDDDDDDD PPPPPPPPPPPP SSS SSS SSS SSS NNNNNN NNN DDD DDD PPP PPP SSS SSS SSS SSS NNNNNN NNN DDD DDD PPP PPP SSS SSS SSS SSS NNNNNN NNN DDD DDD PPP PPP SSS SSS NNNNNN NNN DDD DDD PPP PPP SSS SSS NNNNNN NNN DDD DDD PPP PPP SSS SSS NNNNNN NNN DDD DDD PPP PPP SSSSSSSSS SSSSSSSSS NNN NNN NNN DDD DDD PPPPPPPPPPPP SSSSSSSSS SSSSSSSSS NNN NNN NNN DDD DDD PPPPPPPPPPPP SSSSSSSSS SSSSSSSSS NNN NNN NNN DDD DDD PPPPPPPPPPPP SSS SSS NNN NNNNNN DDD DDD PPP SSS SSS NNN NNNNNN DDD DDD PPP SSS SSS NNN NNNNNN DDD DDD PPP SSS SSS SSS SSS NNN NNNNNN DDD DDD PPP SSS SSS SSS SSS NNN NNNNNN DDD DDD PPP SSS SSS SSS SSS NNN NNNNNN DDD DDD PPP SSSSSSSSS SSSSSSSSS NNN NNN DDDDDDDDDDDD PPP SSSSSSSSS SSSSSSSSS NNN NNN DDDDDDDDDDDD PPP SSSSSSSSS SSSSSSSSS NNN NNN DDDDDDDDDDDD PPP BBBBBBBBBBBB 222222222 SSSSSSSSS BBBBBBBBBBBB 222222222 SSSSSSSSS BBBBBBBBBBBB 222222222 SSSSSSSSS BBB BBB 222 222 SSS SSS BBB BBB 222 222 SSS SSS BBB BBB 222 222 SSS SSS BBB BBB 222 222 SSS BBB BBB 222 222 SSS BBB BBB 222 222 SSS BBBBBBBBBBBB 222 SSSSSSSSS BBBBBBBBBBBB 222 SSSSSSSSS BBBBBBBBBBBB 222 SSSSSSSSS BBB BBB 222 SSS BBB BBB 222 SSS BBB BBB 222 SSS BBB BBB 222 SSS SSS BBB BBB 222 SSS SSS BBB BBB 222 SSS SSS BBBBBBBBBBBB 222222222222222 SSSSSSSSS BBBBBBBBBBBB 222222222222222 SSSSSSSSS BBBBBBBBBBBB 222222222222222 SSSSSSSSS [[[<<<<<<<<<<$$$$$$$$$$!!!!!!!!!!##########??????????==========0000000000**********&&&&&&&&&& [[[<<<<<<<<<<$$$$$$$$$$!!!!!!!!!!##########??????????==========0000000000**********&&&&&&&&&& JOB = PETE Printed on 07-Sep-89 at 12:23 for User [1,11] Copy 1 of 1 /Delete: NO File = DB4 :[6,10]SSNDP .B2S Record type: STREAM Format type: EMBEDDED [[[<<<<<<<<<<$$$$$$$$$$!!!!!!!!!!##########??????????==========0000000000**********&&&&&&&&&& [[[<<<<<<<<<<$$$$$$$$$$!!!!!!!!!!##########??????????==========0000000000**********&&&&&&&&&& 1 !---------------------------------------------------------------& ! & ! Program : SSNDP.B2S & ! Author : PETE ISENSEE & ! Created : 8-89 & ! Version : KMSB & ! Language: BASIC-PLUS-2 & ! System : PDP 11/70 RSTS-E & ! & ! Description : & ! & ! SSNDP is used by the data processing department to & ! process social security number change reqeusts. This & ! program reads the SSNREQ.DAT request file, displaying & ! each record on the screen. Each record may be pro- & ! cessed, deleted or skipped. Processing creates a con- & ! trol file to be submitted to the FU15RQ program, which & ! completes the ssn change. Once a record is processed & ! it is deleted from the SSNREQ.DAT file. Skipped & ! records remain on file and do not process. When the & ! program has completed, it requests that the command & ! file SSNREQ (which submits the control file) be run. & ! & ! Note : & ! & ! This program will not run if the SBBALC.DAT file does & ! not exist. & ! This program chjecks to insure that the old SSN number & ! exists and that the new number does not exist. & ! & ! Modifications : & ! & 100 ON ERROR GO TO 19000 & 200 CRLF$ = CHR$(13%) + CHR$(10%) & \ TRUE% = -1% & \ FALSE% = 0% & 400 MAP (REQ) OLD.SSN$ = 12% , ! Subscriber # & SUBSCR.NAME$ = 30% , ! Subscriber Name & CORRECT.SSN$ = 12% , ! Correct subscriber # & NEEDED.BY$ = 6% , ! Required date & RETURN.TO$ = 23% , ! Return location & PRINT.AT$ = 14% , ! Printing location & INPUT.DATE$ = 9% , ! Date requested & INPUT.TIME$ = 5% , ! Time requested & USER.NBR$ = 3% , ! User & COMMENT$ = 65% , ! Comments & 500 MAP (SBM) SBM.SUBID$=12%, !SUBSCRIBER ID-PRIMARY KEY & SBM.ADDR1$=20%, !ADDRESS LINE 1 & SBM.ADDR2$=20%, !ADDRESS LINE 2 & SBM.CTYST$=15%, !CITY/STATE LINE & SBM.ZIPCD$=9%, !ZIP CODE & SBM.NXDUE%, !NEXT MONTH DUE & SBM.CTYCD%, !COUNTY CODE & SBM.BALNC$=7%, !PREMIUM PAYMENT BAL & SBM.COVDT$=6%, !CONT COVERAGE DATE & SBM.ACTNO$=6%, !ACCOUNT NUMBER & SBM.SPBIL$=1%, !SPECIAL BILL REQUEST & SBM.SLFPY$=1%, !SELF-PAY INDICATOR & SBM.MSAMT$=6%, !MISC PASS-THRU PREMIUM AMOUNT & SBM.LSTCH$=11%, !DATE/NO OF LAST CHANGE & SBM.LSTPY$=11%, !DATE/NO OF LAST PAYMENT & SBM.LSTAD$=11%, !DATE/NO OF LAST ADD CHANGE & SBM.PRADJ$=6%, !PREMIUM ADJUSTMENT AMOUNT & SBM.PRV.MSAMT$=6%, ! PREVIOUS PASS THRU & SBM.PRV.PRADJ$=6%, ! PREVIOUS ADJ AMOUNT & SBM.PAS.DATE$=4%, ! PASS THRU EFF DATE YYMM & SBM.ADJ.DATE$=4%, ! ADJ EFFECTIVE DATE YYMM & SBM.ADJUDICATOR$ = 1%, ! ADJUDICATOR CODE & SBM.PORK$ = 1%, ! P OR K & SBM.COB.PENDING% ! COB PENDING CODE OR THE LAST & ! COB INQUIRY RECEIVE DATE YYMM & 600 MAP (ELG) ELG.SUBSQ$=16%, !SUBS/SEQ/SEQ NMBRS-PRIM KEY & ELG.GRPSB$=7%, !GROUP + SUBGROUP NUMBERS & ELG.STRDT$=6%, !START DATE & ELG.ENDDT$=6%, !END DATE & 700 MAP (BEN) BEN.SUBSQ$=14%, !SUBSCRIBER/SEQ NMBRS-PRIM KEY & BEN.NAMES$=30%, !LAST/FIRST NAMES-ALT KEY & BEN.BIRDT$=6%, !DATE OF BIRTH & BEN.SEXCD$=1%, !SEX CODE & BEN.RELCD$=1%, !RELATIONSHIP CODE & BEN.MEDCD$=1%, !MEDICARE CODE & BEN.WAVCD$=1%, !WAIVER CODE & BEN.COBEN% !COORDINATION OF BENEFITS & 810 \ REQ.CH% = 1% & \ CTL.CH% = 2% & \ CMD.CH% = 3% & \ SBM.CH% = 4% & \ ELG.CH% = 5% & \ BEN.CH% = 6% & \ SBB.CH% = 7% & 815 COMMAND.FILE$ = "SSNREQ.CMD" & \ CONTROL.FILE$ = "SSNREQ.CTL" & 820 OPEN COMMAND.FILE$ FOR INPUT AS FILE #CMD.CH% & & \ CLOSE #CMD.CH% & & \ PRINT CRLF$ ; " . . . aborting program" & \ PRINT " . . . SSN change request command file "; COMMAND.FILE$;& " already exists" & & \ GO TO 32767 & 825 OPEN COMMAND.FILE$ FOR OUTPUT AS FILE #CMD.CH% & 830 OPEN "SBB:SBBALC.DAT" FOR INPUT AS FILE #SBB.CH% & \ CLOSE #SBB.CH% & \ GOTO 840 & 835 PRINT CRLF$ ; " . . . aborting program" & \ PRINT " . . . SBB:SBBALC.DAT file does not exist" & \ GOTO 32767 840 OPEN "DB4:[4,218]SSNREQ.DAT" FOR INPUT AS FILE #REQ.CH% , & ORGANIZATION INDEXED FIXED , & ACCESS MODIFY , & ALLOW MODIFY , & MAP REQ & 850 OPEN "SBM:SBM.DAT" FOR INPUT AS FILE #SBM.CH%, & ORGANIZATION INDEXED FIXED , & ACCESS READ , & ALLOW MODIFY , & MAP SBM & 860 OPEN "ELG:ELG.DAT" FOR INPUT AS FILE #ELG.CH%, & ORGANIZATION INDEXED FIXED , & ACCESS READ , & ALLOW MODIFY , & MAP ELG & 870 OPEN "BEN:BEN.DAT" FOR INPUT AS FILE #BEN.CH%, & ORGANIZATION INDEXED FIXED , & ACCESS READ , & ALLOW MODIFY , & MAP BEN & 900 PRINT CRLF$ ; CRLF$ ; " . . . processing SSN change requests" ; CRLF$& \ PRINT CRLF$ & 950 OPEN CONTROL.FILE$ FOR INPUT AS FILE #CTL.CH% & & \ CLOSE #CMD.CH% & & \ PRINT CRLF$ ; " . . . aborting program" & \ PRINT " . . . SSN change request control file "; CONTROL.FILE$;& " already exists" & & \ GOTO 32767 & 960 OPEN CONTROLS.FILE$ FOR OUTPUT AS FILE #CTL.CH% & 970 PRINT #CTL.CH$ , "$JOB/NOLIM/CCL/ERROR:FATAL" & \ PRINT #CTL.CH$ , "$!" & \ PRINT #CTL.CH$ , "$CHANGE /PRI:-16 /RUN:3 & \ PRINT #CTL.CH$ , "$! & \ PRINT #CTL.CH$ , "$! & \ PRINT #CTL.CH$ , "$RUN TSK:FU15R1 & \ PRINT #CTL.CH$ , "$DATA & 1000 GET #REQ.CH% & & \ CANNOT.PROCESS% = FALSE% & 2000 PRINT "==============================================================="& & \ PRINT CRLF$ ; "SSN Change Request >>> " ; INPUT.DATE$ ; "/" ; & INPUT.TIME$; "/" ; USER.NBR$ ; CRLF$ & \ PRINT " Current SSN: " ; OLD.SSN$ & \ PRINT " Subscriber Name: " ; SUBSCR.NAME$ & \ PRINT " CORRECT SSN: " ; CORRECT.SSN$ & \ PRINT " Date Required: " ; NEEDED.BY$ & \ PRINT " Return to: " ; RETURN.TO$ & \ PRINT " Print Location: " ; PRINT.AT$ & \ PRINT & \ PRINT " (comment: " ; TRM$(COMMENT$) ; ")" & \ PRINT & 2200 FIND #SBM.CH%, KEY #0 EQ OLD.SSN$ & \ GOTO 2210 & 2205 GOSUB 10100 & \ GOTO 2500 & 2210 FIND #SBM.CH%, KEY #0 EQ CORRECT.SSN$ & \ GOSUB 10000 & \ GOTO 2500 & 2220 GET #ELG.CH%, KEY #0 GE CORRECT.SSN$ & \ GOTO 2230 IF LEFT$(ELG.SUBSQ$,12%)<>CORRECT.SSN$ & \ GOSUB 10000 & \ GOTO 2500 & 2230 FIND #BEN.CH%, KEY #0 GE CORRECT.SSN$ & \ GOTO 2500 IF LEFT$(BEN.SUBSQ$,12%)<>CORRECT.SSN$ & \ GOSUB 10000 & 2500 IF NOT CANNOT.PROCESS% THEN & PRINT "(P)rocess, "; & \ END IF & & \ PRINT "(D)elete, -or- (S)kip this request" ; & \ INPUT ANSWER$ & & \ ANSWER$ = EDIT$ ( LEFT ( ANSWER$ , 1% ) , 32% ) & & \ PRINT & \ PRINT "===============================================================" & & \ IF ANSWER$ = "S" & THEN PRINT CRLF$ ; " . . . SSN change request kep on file" ;& CRLF$ & \ GO TO 1000 & END IF & & \ GO TO 5000 IF ANSWER$ = "D" & \ GO TO 3000 IF ANSWER$ = "P" AND NOT CANNOT.PROCESS% & & \ PRINT FN.ERR$("unacceptable response -- try again") & \ GO TO 2500 & 3000 PRINT #CTL.CH% , OLD.SSN$ & \ PRINT #CTL.CH% , CORRECT.SSN$ & \ PRINT #CTL.CH%, "C" & & \ REQUEST.ADDED% = TRUE% & & \ DELETE #REQ.CH% & & \ PRINT CRLF$ ; " . . . SSN change request added to "; & " control file "; CONTROL.FILE$ & & \ GOTO 1000 & 5000 DELETE #REQ.CH% & & \ PRINT CRLF$ ; " . . . SSN change deleted" & & \ GO TO 1000 & 10000 PRINT FN.ERR$("CORRECT ID already on file -- cannot process") & \ CANNOT.PROCESS% = TRUE% & \ RETURN & 10100 RESUME 32000 IF ERR= 11% AND ERL=1000% & \ RESUME 31000 IF ERR= 11% AND ERL=2500% & \ RESUME 960 IF ERR= 5 AND ERL= 950% & \ RESUME 825 IF ERR= 5 AND ERL= 820% & \ RESUME 835 IF ERR= 5 AND ERL= 830% & \ RESUME 2205 IF ERR=155% AND ERL=2200% & \ RESUME 2220 IF ERR=155% AND ERL=2210% & \ RESUME 2230 IF ERR=155% AND ERL=2220% & \ RESUME 2500 IF ERR=155% AND ERL=2230% & 19100 IF ERR = 154% THEN SLEEP 2% \ RESUME & 19900 PRINT CRLF$ ; " . . . untrapped error (" ; ERR ; ") at line" ; ERL ; & CRLF$ ; " . . . program terminating in error" ; CRLF$ & & \ CLOSE #CHNL% FOR CHNL% = 1% TO 12% & \ ON ERROR GO TO 0 & 28000 DEF FN.ERR$ (MESSAGE$) & & \ PRINT & \ PRINT CHR$(7%) + CHR$(155%) + "[7m" + " . . . " + & MESSAGE$ + CHR$(155%) + "[0m" & \ PRINT & \ END DEF & 31000 PRINT CRLF$ ; " . . . program aborted by operator" & \ PRINT " . . . prior SSN change requests have been processed" & & \ GO TO 32300 & 32000 PRINT CRLF$ ; " . . . successful completion of program" ; CRLF$ & 32300 PRINT #CTL.CH% , "9999" & \ PRINT #CTL.CH% , "$EOD" & \ PRINT #CTL.CH% , "$!" & \ PRINT #CTL.CH% , "$!" & \ PRINT #CTL.CH% , "$PIP "; CONTROL.FILE$; "/DE/WA" & \ PRINT #CTL.CH% , "$!" & \ PRINT #CTL.CH% , "$EOJ" & 32700 IF REQUEST.ADDED% THEN & PRINT #CMD.CH% , "SUBMIT BA1: = "; CONTROL.FILE$ & \ PRINT #CMD.CH% , "!" & \ PRINT #CMD.CH% , "!" & \ ELSE \ PRINT #CMD.CH% , "PIP "; CONTROL.FILE$ ; "/DE/WA" & \ PRINT #CMD.CH% , "!" & \ PRINT #CMD.CH% , "!" & \ END IF & \ PRINT #CMD.CH%, "PIP "; COMMAND.FILE$ ; "/DE/WA" & \ PRINT #CMD.CH% , "!" & \ PRINT #CMD.CH% , "!" & & \ PRINT CRLF$ ; CRLF$ ; & " . . . this request will process tonight"; CRLF$; CRLF$; & " . . . to process immediately, type '@SSNREQ'" ; & CRLF$ & 32767 CLOSE #CHNL% FOR CHNL% = 1% TO 12% & \ END