I:GLEP.BAS, G/L END OF PERIOD, RAW, 7/24/78 REV. CP/M 2.4, 9/13/79J: COPYRIGHT 1978 RETAIL SCIENCES, INC.J p-J EJPN$"END OF PERIOD"OJ PJ:Q$"WHAT IS THE END OF PERIOD DATE (MM/DD/YY) ":J(R$)ϑ"USING ";VD$:R$VD$::VD$R$J:"INSERT A BLANK FORMATTED DISK INTO DRIVE 1"$K:"INSERT THE CURRENT MONTH'S DISK INTO DRIVE 0":K":Q$"READY":XMK'YES"::K,V$()"A:GLSYS.DAT":V$()"A:GLSRC.DAT":V$()"B:GLSYS.DAT":V$()"B:GLSRC.DAT"K16:V$()ASV$()K6:ϩE :FILE FOUND?L;5Z1%:E :FILE NOT FOUND?L@ :UNKNOWN ERROR6LEJ:V$()ASV$()VLJ:ϩc :FILE FOUND?LO5Z2%:c :FILE NOT FOUND?LT@LY"I",,V$(PP%):"O",,V$(PP%):#,A$:#,A$:X(A$):Q$(")L^IX:#,A$:#,Q$;A$;Q$;:I::/McZ1%ϑ"TRANSFERRING ";V$();" TO DRIVE 1":PP%:Y:jMhZ2%ϑ"TRANSFERRING ";V$();" TO DRIVE 1":PP%:Y:uMmM:Q$"DO YOU WISH TO PROCESS END OF MONTH OR END OF YEAR DATA (M OR Y)?":8MR$"M"R$"Y"MXY%:R$"Y"XY%.N:"THIS PROCESSING MAY TAKE A FEW MINUTES...":NNNR%(V$( )):0:SETUPhN@::ER%TNPP%((MOFM% ) ) :FISCAL MON.N "R",,"B:GLMST.DAT"N #,(KL%)AS ZK$,({KL%)ASZT$,ASZM$,ASZE$,ASZL$O #,(KL%)AS OK$,({KL%)ASOT$,ASOM$,ASOE$,ASOL$ROF3$(): I :#,IAST$,ASF3$(I):\OZS%tO :GET MASTEROER% :E O FOER%TO&XA%:XI%O0M1A!()M1A!()XA%: :A,C&L P:M1A!()M1A!()XI%: :I,ELPD:"ACCOUNT # ";M1;" DOES NOT FIT BOUNDARIES OF SYSTEMS FILE"lP :TRANS TO NEW FILEP :GET TRANSACTIONP ER%ύ :: END OF TRANSPER%TP(J4$) :SKIP IF<>3 & EOMQ :SEND TO NEW FILEQ/Q:SAVE MASTER IN NEW FILE RQZS%ZS% :NEXT AVAIL REC #pQZE%ZS%:ZL%ZS%:ZP%ZS%QZK$OK$:ZT$OT$:ZM$OM$:ZE$(ZS%):ZL$(ZL%)Q  I :DD#MA#(I): : F3$(I)II$:Q#,ZS%: R:SAVE EACH TRANS IN NEW FILERZS%ZS%VRZK$OK$:ZT$OT$:ZM$OM$:ZE$(ZS%):ZL$(ZS%)dR#,ZS%:R :SET OE & OL IN MASTERR #,ZP%R (ZE$)ZS% R ZL$(ZP%):#,ZP%: :NO TRANSR ZE$(ZS%):#,ZP% S #,ZS%:ZL$(ZP%):#,ZS%:$SOP:` :CLOSE FILE4SER%TS , AS MA$, AS CF$, AS DD$, AS EX$, AS NR$, AS AV$, AS KL$,d AS CM$SMA$"MARIS":CF$():DD$VD$SEX$(ZS%):NR$(NR%):AV$()TKL$(KL%):XY%CM$"E-O-Y "VD$ : CM$"E-O-M "VD$T#,:=TFI%:NA$"GLMST.DAT":DI%_TOP:` :FORCE KEY$ SORToTER%TxTMTM3M4$"M"T: :: TRANS MASTER W/O EXTENTSTXY% :EOY PROC.?TMA#()MA#()MA#()(UXA%MA#(PP%)MA#():: TRUE IF A or C&L]UMA#()MA#()MA#(PP%): ELSE MUST BE I or EqUMA#(PP%)MA#()UMA#()#UXY%MA#()#: : :GOTO640 IF EOMUMA#()#:XI% :TRUE IF I or EVMA#()MA#()MA#() :ELSE MUST BE A or C&L,VMA#(PP%)MA#()JVMA#()#:MA#()#SV aVM VM FO% OP: ` :CLOSE MARISVM :ANYTHING ELSEVN:"END OF "PN$VN:"INSERT THE GL PROGRAM DISK INTO DRIVE 0"::Q$"READY":XWNYESN::"A:GL MENU"EW@ "I",,MD$":GLSRC.DAT": S$(), A!()WJ I : #,I$: A!(I)(I$): I :ACCOUNT #'SWT I : #,S$(I): I :SOURCE DESCRIPTIONSWY #,MM$: FM%(MM$) :FISCAL MONTH STARTW^ WhX:OPEN... FORCE DRIVE 0=XFI%:NA$"GLMST.DAT":DI%:OP:`OXij ER% TtXγ F1$(),MA#() :COA FIELDSXس #, ASF1$(), ASF1$(), ASF1$(), ASF1$(), ASF1$()XⳂ I : #, I AS T$, ASF1$(I): Y쳆 F2$() :JE FIELDS>Y #,  AS F2$(),  AS F2$(), ASF2$(), ASF2$()eY #, 'AST$, ASF2$(), ASF2$()Y FO% :FILE OPEN FLAGYYx:CLOSEY FO% : FO%YOP: `: ER% T : Y@:REWINDZJOP: `: ER% T : Z:CREATE NEW RECORDIZKE$M1$: OP: `: ER% TZ F1$()M1$: F1$()M2$: F1$()M3$: F1$()M4$Z F1$()M5$:I:DD#MA#(I): :F1$(I)II$:Z FI%,OS: Z`:UPDATE CURRENT RECORD[j ( :SEARCH[t ER% T : 2[ĸ:DELETE RECORD_[θKE$M1$: OP: `: ER% T : x[(:SEARCH FOR RECORD[2KE$M1$: OP: `: [:GET RECORD[KE$M1$: OP: `[ ER% : ER% T \M1$F1$(): M2$F1$(): M3$F1$(): M4$F1$(): M5$F1$()G\M1(M1$): M3(M3$): M5(M5$)x\ I :II$F1$(I): :MA#(I)DD#::\:GET NEXT RECORD\OP: `: ER% T : \:CREATE NEW EXTENT\OLOS: OP : `: ER% T3] F2$()J1$: F2$()J2$: F2$()J3$: F2$()J4$i] F2$()(SD!(J5$)):DD#J6#: : F2$()II$z] FI%,OS: ]H:UPDATE CURRENT EXTENT]R ]:DELETE EXTENT]OP : `: ER% T : ]:GET NEXT EXTENT^OSOL: OP : `: ER% TM^$J1$F2$(): J2$F2$(): J3$F2$(): J4$F2$()^.J5$DS$((F2$())):II$F2$(): :J6#DD#:^PÕ : BELL$()()()^Zÿ "I",,"A:GLSYS.DAT": #,N$_dÆ V$((N$)):V$()N$: I (N$):#,V$(I): I:)_nMD$V$( ):SC$V$():W(V$())R_Ë MD$"A" MD$"B" z: Mf_Ë MD$"A" _É :************ FORCE TO USE A:GLSYS ONLY_DN1: V$_ÿ "I",,MD$":GLSYS.DAT": #,N$`Æ V$((N$)):V$()N$:I(N$): #,V$(I): I:.`MD$V$( ): MD$"B" H: MC`Õ : d`Ë 5 8 H: M`Ë 6 > A z: M`É `N#:X9$()():X8$()(): `II$((N#DD#H),,):!aDD#((X9$II$X8$)(N#))ףp= #z:PaØSD!(S$)((S$,)(S$,)(S$,,))aØDS$(D!)((D!),,)"/"((D!),)"/"((D!),,)aĿ "I",,"A:GLDA.DAT": #,VD$:  :DATEaVS$V$(): VC$V$() :SYSTEM, COMPANY NAME bĂI(V$()):DK%(I)(V$(I)):IHbđ SC$: :: :DISPLAY HEADERSxb"đ:"ONE MOMENT FOR PROGRAM STARTUP...."::bƑ(W(VC$)));VC$:(W(VS$)));VS$bƑ(W(PN$)));PN$bƑ(W(VD$)));VD$b.ǎb8Ǒ Q$;: R$ctRL$(R$,)cyNj R$"END" M : >cȍ8:N!:R$E$ώ:DP:DGacȋ(R$,)" "R$(R$,):scȋ(R$)Zc(ȂJJ(R$):CH((R$,JJ,))c2ȋCH/CH:DG:Pc<ȋCH.DPDP:DPύ::PdFȋ(CH-CH+)JJύ:dPȃJJ:DGύ:CdZN!(R$):(N!LB!N!UB!)LB!UB!ώQddȍ:}dȍ 8: (R$) MO: DA: YR: dȋ(R$) (R$) dMO(R$,"/"): MO  : MO R$"0"R$eDA(,R$,"/"): DA Eeȋ DA RL$(R$,): R$"0"(R$,):R$RL$R${eMO((R$,)):DA((R$,,)):YR((R$,))eȋ(MO)(MO )(DA)(DA )(YR)(YRc)ώeȍ:eɍ8:DP:DGeɋ(R$,)" "R$(R$,):-fJJ(R$,","):JJR$(R$,,JJ)(R$,JJ):Kfɋ(R$,)"$"R$(R$,)`fɋ(R$)D#:fɂJJ(R$):CH((R$,JJ,))fɋCH/CH:DG:fɋCH.DPDP:DPύ::fɋ(CH-)(CH+)JJύ:gɃJJ:DGύ:gD#(R$"D"):3gXQ$Q$" (Y OR N)? "Tg]YES:8:RL$"Y"YES:gg_ʋ (R$) gbʋRL$"N"ύ:] : gʑ:"POSITION THE PAPER AT THE TOP OF A PAGE. "gQ$"READY": X: (R$) gʋ YES  : *hґ"*** INVALID ENTRY. PLEASE REENTER. ***";BELL$:7h"ӋER%ώyhTӑ"*** SYSTEM ERROR ";ER%;". PLEASE CONSULT MANUAL. ***";BELL$h^Ӊ Mhӑ"*** NUMBER IS OUT OF RANGE. ***";BELL$:hԑ"*** INCORRECT DATE. MUST BE FORM MM/DD/YY. ***";BELL$:0iԑ"*** START PROGRAM NOT RUN. CAN'T CONTINUE. ***";BELL$:aiԑ:" BASIC ERROR NUMBER ";;" LINE NO. ";iԑ" CONSULT BASIC MANUAL FOR EXPLANATION. "iԑ:"ABNORMAL END OF JOB ":: iՂI:BELL$;:: MjHՑ: "*** PROPER SYSTEM FILE NOT FOUND. CAN'T CONTINUE. ***":ejzՑ: "*** SYSTEM FILE INITIALIZED IMPROPERLY. CAN'T CONTINUE. ***":j_:10/30/78 Multi ARray ISam - MARIS (OP) j`ꕨ:OP,(,,,T,,, ,,H,,,tjjꕨ:k=ER%:j::Xk: CREATE MARIS FILE (FI%, NA$, DI%, DA$, KL%, OC$, RETURNS: ER%) kꕨ:NA$(DI%A)":"NA$:NA$ASNA$kER%:kꕨ:ER%:ER%:l"R",FI%,NA$:NA$(NA$,): FI%,ASO0$,ASO1$,ASO2$,ASO3$,ASO4$,ASO5$,ASO6$,dASO7$,ASO8$lO0$"MARIS":O1$():O2$DA$:O3$(): O4$():O5$O4$:O6$(KL%):O7$OC$:O8$"103078"lFI%,:FI%:ER%:l': OPEN MARIS FILE (FI%, NA$, DI%, RETURNS: DA$, EX%, NR%, OA, KL%, OC$, OI, ER%) *m(땨2:NA$(DI%A)":"NA$:NA$ASNA$9m2ER%:<Um<땨:ER%:ER%:mF"R",FI%,NA$:NA$(NA$,): FI%,ASO0$,ASO1$,ASO2$,ASO3$,ASO4$,ASO5$,ASO6$,dASO7$mPFI%,:O0$"MARIS"FI%:ER%:qnZDA$O2$:EX%(O3$):NR%(O4$):OA(O5$):KL%(O6$):OC$O7$: FI%,(KL%)ASOK$,({KL%)ASOT$,ASOM$,ASOE$,ASOL$: O1$()x:NR%ndOKKL%:OTOK:OJOT:FI%,EX%:OT$(OT):OB: OIOT:FI%,(OB)ASOT$,(OK)ASOT$(OI):OBOBOK:: OINR%:OJOTOJ:FI%"onOK$(OI)OT$(OJ):OJOJ:OI:OT$:woxNR%:FI%,:EX%:OPEX%:FI%: OM$"M"NR%NR%:OK$(NR%)OK$(OP)oyOP:NR%:OH():OH():OH():OH() :OTozOH(OT)NR%OTOT:OH(OT)OH(OT):z"p{OKOT:OHOH(OK):OJOHNR%:OIOJOH:OT$,OK$(OJ)Zp|OT$OK$(OI)ϥOK$(OIOH),OK$(OI):OIOIOH:OI|yp}OK$(OIOH),OT$:OJ,OK:OHpFI%,:O1$():FI%,:ODDI%:p: CLOSE MARIS FILE (RETURNS: ER%) p땨:FI%,:ER%:pER%: q땨:ER%ώ1qNR%:OKKL%:OTOKqOJ:FI%,EX%:OT$(OT):OB: OIOT:FI%,(OB)ASOT$,(OK)ASOT$(OI):OBOBOK:: OINR%:OT$(OJ)OK$(OI):OJOJ:OJOTFI%:OJqOI:OT$:OJFI%/rFI%,:O1$():O3$(EX%):O4$(NR%): O5$(OA):O7$OC$:FI%,:FI%:ER%:dr: CREATE RECORD (KE$, RETURNS: OI, OS, ER%) |r:ER%ώ:rNR%OBςOJNR%OB:OK$(OJ),OK$(OJ):sNR%NR%:OIOB:OK$(OI)KE$(OS):OK$KE$:OM$"M": OE$(OS):OL$(OS):FI%,OS:ER%:IsS: DELETE RECORD (KE$, RETURNS: KE$, OI, OS, ER%) sT:ER%ώ::NR%NR%:OTOS: OINR%ςOJOINR%:OK$(OJ),OK$(OJ):s^OSOL:OSOTύ:^thOINR%ER%::OS((OK$(OI),)): KE$(OK$(OI),KL%):ER%:%t: REWIND (RETURNS: OI, ER%) FtOI:NR%ER%::ER%:tt: SEARCH (KE$, RETURNS: OI, OS, ER%) tOTNR%:OB:(KE$)KL%KE$(KE$(KL%," "),KL%)t&OBOTOI(OTOB):OT$(OK$(OI),KL%):ER%:u0OT$KE$OTOI:&:OT$KE$OBOI:&5u:OS((OK$(OI),)):ER%:ou: GET RECORD (KE$, RETURNS: OI, OS, OE, OL, ER%) u:ER%ώ :FI%,OS:OE(OE$):OL(OL$):ER%:u: GET NEXT RECORD (RETURNS: KE$, OI, OS, OE, OL, ER%) LvOINR%ER%::OIOI:OS((OK$(OI),)):FI%,OS: KE$OK$:OE(OE$):OL(OL$):ER%:vG: GET PREVIOUS RECORD (RETURNS: KE$, OI, OS, OE, OL, ER%) vHOIER%::OIOI:OS((OK$(OI),)):FI%,OS: KE$OK$:OE(OE$):OL(OL$):ER%:+w: CREATE EXTENT SECTOR (OE, OL, RETURNS: OS, ER%) w:FI%,OE:OL$(OS):FI%,OE: FI%,OL:OE$(OS):FI%,OL:FI%,OS:OE$(OE): OL$(OL):OM$"E":FI%,OS:ER%:w: DELETE EXTENT SECTOR (OS, RETURNS: OE, OL, ER%) xFI%,OS:OM$"E"ER%::NxFI%,OE:OL$(OL):FI%,OE: FI%,OL:OE$(OE):FI%,OL:ER%:xs: GET EXTENT SECTOR (OS, RETURNS: OE, OL, ER%) xtFI%,OS:OM$"E"ER%:OE(OE$):OL(OL$):ER%x~x/: SETUP (NR%) x0O:OK$(NR%):y: GET NEW SECTOR (RETURNS: OS) MyOAFI%,OA:OSOA:OA(OL$):EX%EX%:OSEX%yFI%,:O3$(EX%):O5$(OA):FI%,:ER%:y: FREE OLD SECTOR (OS, RETURNS: OE, OL, ER%) zFI%,OS:OE(OE$):OL(OL$):OM$"F":OL$(OA):OAOS: FI%,OS:%z IILC A: : II: LC: OE, OL, ER%) zFI%,OS:OE(OE$):OL(OL$):OM$"F":OL$(OA):OAOS: FI%,OS:%z IILC A: :