I:GLMSTFIX.BAS, G/L MASTER FILE REPAIR, RAW, 7/27/78 REV. CP/M 2.4, 7/27/79J: COPYRIGHT 1978 RETAIL SCIENCES, INC.'Jp5J SJPN$"G/L MASTER FILE FIX"]J PJ:"INSERT THE DATA DISKETTE WITH FILE TO BE CORRECTED INTO DRIVE 0"J:"INSERT A BLANK FORMATTED DISKETTE INTO DRIVE 1"J":Q$"READY":XK'YES"::[K,V$()"A:GLSYS.DAT":V$()"A:GLSRC.DAT":V$()"B:GLSYS.DAT":V$()"B:GLSRC.DAT"tK16:V$()ASV$()K6:ϩE :FILE FOUND?K;5Z1%:E :FILE NOT FOUND?K@ :UNKNOWN ERRORKEJ:V$()ASV$()LJ:ϩc :FILE FOUND?9LO5Z2%:c :FILE NOT FOUND?BLT@LY"I",,V$(PP%):"O",,V$(PP%):#,A$:#,A$:X(A$):Q$(")L^IX:#,A$:#,Q$;A$;Q$;:I::LcZ1%ϑ"TRANSFERRING ";V$();" TO DRIVE 1":PP%:Y:$MhZ2%ϑ"TRANSFERRING ";V$();" TO DRIVE 1":PP%:Y:/MmqMr:"SET PRINTER TO TOP OF PAGE TO RECEIVE ANY ERROR MESSAGES"Mw:Q$"READY":XM|YESrMFI%:NA$"GLMST.DAT":DI%:DA$VD$:KL%:OC$"GL MASTER FILE - FIXED"(L)NOP:`:ER%NER%T[N:Q$"DO YOU WISH TO ERASE THE PRESENT GL DATA FILE ON DRIVE 1":XxNYES"B:GLMST.DAT":NN:"THIS PROCESSING MAY TAKE A FEW MINUTES...":NNR%(V$( )):0:SETUPN:ER%TNXO "R",,"A:GLMST.DAT"GO #,(KL%)AS ZK$,({KL%)ASZT$,ASZM$,ASZE$,ASZL$O #,(KL%)AS XK$,({KL%)ASXT$,ASXM$,ASXE$,ASXL$O #,ASD$,ASXZ$OX#,:XZ%(XZ$) :PASS 1ObZRXZ%Ol#OvZM$"M"PKEY$ZK$::ER%ύ  :KEY$ ALREADY EXISTSPZR0P#, :PASS 2>PZRXZ%FP#XPZM$"E"PKEY$ZK$:OP:` :GET THE MASTERPER%ύ: :MASTER NOT FOUNDPER%TP :CREATE EXTENTPZRP:MP :PQ*"ERROR : ATTEMPT TO CREATE A MASTER ACCOUNT THAT ALREADY EXISTS FOR ACCOUNT # ";(ZK$)^Q4LCLC:Q::II$(ZT$,',): Q"ERROR : MASTER RECORD NOT FOUND FOR THE FOLLOWING TRANSACTION INFORMATION :"Q"ACCOUNT # :";(ZK$)R"DESCRIPTION : ";(ZT$,,)6R"REFERENCE : ";(ZT$,,)YR"SOURCE CODE : ";(ZT$,",)R"DATE : ";DS$(((ZT$,#,)))R"AMOUNT : ";DD#RLCLC:R:RLC8ώRZZLCA::ZZRLC:RM SM FO% OP: ` :CLOSE MARIS1SM :ANYTHING ELSEFSN:"END OF "PN$SN:"INSERT THE GL PROGRAM DISK INTO DRIVE 0"::Q$"READY":XSNYESN::"A:GL MENU"SW:ERROR TRAP TX9:EM$"*** DISK I/O ERROR--SKIPPING RECORD ***": EM$:EM$:LCLCTb/T:OPEN... FORCE DRIVE 1YTFI%:NA$"GLMST.DAT":DI%:OP:`kTij ER% TT FO% :FILE OPEN FLAGTTx:CLOSET FO% : FO%TOP: `: ER% T : T:CREATE NEW RECORD UOP:`:ER% "UXK$ZK$:XT$ZT$3U FI%,OS: LU:CREATE NEW EXTENTtUOLOS: OP : `: ER% T}UUPÕ : BELL$()()()UZÿ "I",,"A:GLSYS.DAT": #,N$VdÆ V$((N$)):V$()N$: I (N$):#,V$(I): I:%VnMD$V$( ):SC$V$():W(V$())NVË MD$"A" MD$"B" z: MbVË MD$"A" VÉ :************ FORCE TO USE A:GLSYS ONLYVDN1: V$Vÿ "I",,MD$":GLSYS.DAT": #,N$WÆ V$((N$)):V$()N$:I(N$): #,V$(I): I:*WMD$V$( ): MD$"B" H: M?WÕ : `WË 5 8 H: MWË 6 > A z: MWÉ WN#:X9$()():X8$()(): WII$((N#DD#H),,):XDD#((X9$II$X8$)(N#))ףp= #z:LXØSD!(S$)((S$,)(S$,)(S$,,))XØDS$(D!)((D!),,)"/"((D!),)"/"((D!),,)XĿ "I",,"A:GLDA.DAT": #,VD$:  :DATEXVS$V$(): VC$V$() :SYSTEM, COMPANY NAMEYĂI(V$()):DK%(I)(V$(I)):IDYđ SC$: :: :DISPLAY HEADERStY"đ:"ONE MOMENT FOR PROGRAM STARTUP...."::YƑ(W(VC$)));VC$:(W(VS$)));VS$YƑ(W(PN$)));PN$YƑ(W(VD$)));VD$Y.ǎY8Ǒ Q$;: R$YtRL$(R$,)ZyNj R$"END" M : :Zȍ8:N!:R$E$ώ:DP:DG]Zȋ(R$,)" "R$(R$,):oZȋ(R$)ZZ(ȂJJ(R$):CH((R$,JJ,))Z2ȋCH/CH:DG:PZ<ȋCH.DPDP:DPύ::PZFȋ(CH-CH+)JJύ:[PȃJJ:DGύ:?[ZN!(R$):(N!LB!N!UB!)LB!UB!ώM[dȍ:y[ȍ 8: (R$) MO: DA: YR: [ȋ(R$) (R$) [MO(R$,"/"): MO  : MO R$"0"R$ \DA(,R$,"/"): DA A\ȋ DA RL$(R$,): R$"0"(R$,):R$RL$R$w\MO((R$,)):DA((R$,,)):YR((R$,))\ȋ(MO)(MO )(DA)(DA )(YR)(YRc)ώ\ȍ:\ɍ8:DP:DG\ɋ(R$,)" "R$(R$,):)]JJ(R$,","):JJR$(R$,,JJ)(R$,JJ):G]ɋ(R$,)"$"R$(R$,)\]ɋ(R$)D#:]ɂJJ(R$):CH((R$,JJ,))]ɋCH/CH:DG:]ɋCH.DPDP:DPύ::]ɋ(CH-)(CH+)JJύ:^ɃJJ:DGύ:^D#(R$"D"):/^XQ$Q$" (Y OR N)? "P^]YES:8:RL$"Y"YES:c^_ʋ (R$) ^bʋRL$"N"ύ:] : ^ʑ:"POSITION THE PAPER AT THE TOP OF A PAGE. "^Q$"READY": X: (R$) ^ʋ YES  : &_ґ"*** INVALID ENTRY. PLEASE REENTER. ***";BELL$:3_"ӋER%ώu_Tӑ"*** SYSTEM ERROR ";ER%;". PLEASE CONSULT MANUAL. ***";BELL$_^Ӊ M_ӑ"*** NUMBER IS OUT OF RANGE. ***";BELL$:_ԑ"*** INCORRECT DATE. MUST BE FORM MM/DD/YY. ***";BELL$:,`ԑ"*** START PROGRAM NOT RUN. CAN'T CONTINUE. ***";BELL$:]`ԑ:" BASIC ERROR NUMBER ";;" LINE NO. ";`ԑ" CONSULT BASIC MANUAL FOR EXPLANATION. "`ԑ:"ABNORMAL END OF JOB ":: `ՂI:BELL$;:: MaHՑ: "*** PROPER SYSTEM FILE NOT FOUND. CAN'T CONTINUE. ***":aazՑ: "*** SYSTEM FILE INITIALIZED IMPROPERLY. CAN'T CONTINUE. ***":a_:10/30/78 Multi ARray ISam - MARIS (OP) a`ꕨ:OP,(,,,T,,, ,,H,,,tajꕨ: b=ER%:j::Tb: CREATE MARIS FILE (FI%, NA$, DI%, DA$, KL%, OC$, RETURNS: ER%) bꕨ:NA$(DI%A)":"NA$:NA$ASNA$bER%:bꕨ:ER%:ER%:c"R",FI%,NA$:NA$(NA$,): FI%,ASO0$,ASO1$,ASO2$,ASO3$,ASO4$,ASO5$,ASO6$,dASO7$,ASO8$cO0$"MARIS":O1$():O2$DA$:O3$(): O4$():O5$O4$:O6$(KL%):O7$OC$:O8$"103078"cFI%,:FI%:ER%:c': OPEN MARIS FILE (FI%, NA$, DI%, RETURNS: DA$, EX%, NR%, OA, KL%, OC$, OI, ER%) &d(땨2:NA$(DI%A)":"NA$:NA$ASNA$5d2ER%:<Qd<땨:ER%:ER%:dF"R",FI%,NA$:NA$(NA$,): FI%,ASO0$,ASO1$,ASO2$,ASO3$,ASO4$,ASO5$,ASO6$,dASO7$dPFI%,:O0$"MARIS"FI%:ER%:meZDA$O2$:EX%(O3$):NR%(O4$):OA(O5$):KL%(O6$):OC$O7$: FI%,(KL%)ASOK$,({KL%)ASOT$,ASOM$,ASOE$,ASOL$: O1$()x:NR%edOKKL%:OTOK:OJOT:FI%,EX%:OT$(OT):OB: OIOT:FI%,(OB)ASOT$,(OK)ASOT$(OI):OBOBOK:: OINR%:OJOTOJ:FI%fnOK$(OI)OT$(OJ):OJOJ:OI:OT$:fx:"*** FILE WAS NOT CLOSED PROPERLY. ONE MOMENT FOR FIX...": BE$:NR%:FI%,:EX%:OPEX%:FI%: OM$"M"NR%NR%:OK$(NR%)OK$(OP)fyOP:NR%:OH():OH():OH():OH() :OT&gzOH(OT)NR%OTOT:OH(OT)OH(OT):zcg{OKOT:OHOH(OK):OJOHNR%:OIOJOH:OT$,OK$(OJ)g|OT$OK$(OI)ϥOK$(OIOH),OK$(OI):OIOIOH:OI|g}OK$(OIOH),OT$:OJ,OK:OHgFI%,:O1$():FI%,:ODDI%:h: CLOSE MARIS FILE (RETURNS: ER%) +h땨:FI%,:ER%::hER%:Nh땨:ER%ώrhNR%:OKKL%:OTOKhOJ:FI%,EX%:OT$(OT):OB: OIOT:FI%,(OB)ASOT$,(OK)ASOT$(OI):OBOBOK:: OINR%:OT$(OJ)OK$(OI):OJOJ:OJOTFI%:OJiOI:OT$:OJFI%piFI%,:O1$():O3$(EX%):O4$(NR%): O5$(OA):O7$OC$:FI%,:FI%:ER%:i: CREATE RECORD (KE$, RETURNS: OI, OS, ER%) i:ER%ώ:iNR%OBςOJNR%OB:OK$(OJ),OK$(OJ):PjNR%NR%:OIOB:OK$(OI)KE$(OS):OK$KE$:OM$"M": OE$(OS):OL$(OS):FI%,OS:ER%:jS: DELETE RECORD (KE$, RETURNS: KE$, OI, OS, ER%) jT:ER%ώ::NR%NR%:OTOS: OINR%ςOJOINR%:OK$(OJ),OK$(OJ):j^OSOL:OSOTύ:^AkhOINR%ER%::OS((OK$(OI),)): KE$(OK$(OI),KL%):ER%:fk: REWIND (RETURNS: OI, ER%) kOI:NR%ER%::ER%:k: SEARCH (KE$, RETURNS: OI, OS, ER%) kOTNR%:OB:(KE$)KL%KE$(KE$(KL%," "),KL%)$l&OBOTOI(OTOB):OT$(OK$(OI),KL%):ER%:Ul0OT$KE$OTOI:&:OT$KE$OBOI:&vl:OS((OK$(OI),)):ER%:l: GET RECORD (KE$, RETURNS: OI, OS, OE, OL, ER%) l:ER%ώ :FI%,OS:OE(OE$):OL(OL$):ER%:*m: GET NEXT RECORD (RETURNS: KE$, OI, OS, OE, OL, ER%) mOINR%ER%::OIOI:OS((OK$(OI),)):FI%,OS: KE$OK$:OE(OE$):OL(OL$):ER%:mG: GET PREVIOUS RECORD (RETURNS: KE$, OI, OS, OE, OL, ER%) 1nHOIER%::OIOI:OS((OK$(OI),)):FI%,OS: KE$OK$:OE(OE$):OL(OL$):ER%:ln: CREATE EXTENT SECTOR (OE, OL, RETURNS: OS, ER%) n:FI%,OE:OL$(OS):FI%,OE: FI%,OL:OE$(OS):FI%,OL:FI%,OS:OE$(OE): OL$(OL):OM$"E":FI%,OS:ER%:%o: DELETE EXTENT SECTOR (OS, RETURNS: OE, OL, ER%) IoFI%,OS:OM$"E"ER%::oFI%,OE:OL$(OL):FI%,OE: FI%,OL:OE$(OE):FI%,OL:ER%:os: GET EXTENT SECTOR (OS, RETURNS: OE, OL, ER%) ptFI%,OS:OM$"E"ER%:OE(OE$):OL(OL$):ER%p~p/: SETUP (NR%) 0p0O:OK$(NR%):Xp: GET NEW SECTOR (RETURNS: OS) pOAFI%,OA:OSOA:OA(OL$):EX%EX%:OSEX%pFI%,:O3$(EX%):O5$(OA):FI%,:ER%:p: FREE OLD SECTOR (OS, RETURNS: OE, OL, ER%) CqFI%,OS:OE(OE$):OL(OL$):OM$"F":OL$(OA):OAOS: FI%,OS:fq IILC A: : II: LC: OE, OL, ER%) CqFI%,OS:OE(OE$):OL(OL$