I:ARST.BAS, A/R STATEMENT GENERATION, SSM, 2/06/79 REV. AR CP/M 2.1, 3/29/79J p :COPYRIGHT 1979 RETAIL SCIENCES INC.*J AZ: EJPN$"STATEMENT REPORT"OJ ddJ"A:ARST.BAS": xJ : MONTH DATAJ -1,30,59,90,120,151,181,212,243,273,304,334J: FIELD POSITION IN MASTERJ 6,24,24,24,10,1,4,4,4,2,2,4,4,2,4,4K': FIELD POSITION IN EXTENTOK( 6,2,2,8,13,1,1,4,4,4,4,4,4,4,4,4,4,4,4,4,2,4,2,4gKd P: @: hKnQ$"WHAT IS THE STATEMENT DATE? ": : ,: SD$R$Kx KQ$"IS THERE A STATEMENT OR DUN MESSAGE TO APPEAR ON ALL STATEMENTS? ":L: X: YES MS$"": jL "WHAT IS THE MESSAGE (UP TO 75 CHARS)? ": (K,"-"): Q$"": 8L RLK  : MS$R$L: Q$"SHOULD STATEMENTS BE GENERATED FOR ALL ACCOUNTS? "L X: YES ,JM V$()"Y" : Q$"SHOULD STATEMENTS BE GENERATED FOR AUTOMATIC BILLNG ACCOUNTS": X: YES iM: FOR PARTICULAR ACCOUNTM ': RL .: M M+: FOR ALL ACCOUNTSM,OP: `: ER .: ,M6 M: AUTO BILL ACCNTS NOP: `HNOP: `: ER A$()"A" .:  : RN vN': QUERY CUSTOMER ID & VERIFYN':Q$"WHAT IS THE CUSTOMER ID? "N' 8: RL : KE$R$: OP: ` O$' ER% "*** INVALID CUSTOMER ID - PLEASE RE-ENTER": 'O.'CO.: CREATE STATEMENT FOR A PARTICULAR CUSTOMERO.II$A$(): ": TTD#: DD# (A$( ))T (A$( ))T YES O.DB#:CR#:BA#:CA$A$():CN$A$():C1$A$():C2$A$():PA:EP. A$()"B" II$A$(): ": BA#DD#: LCLC: : );"BALANCE FWD.";D);: T#DD#: 2: lP.OSOE: OP : `: ER D/P/ LC5 P/II$B$( ): ": T#DD#: II$B$(): ": DB#DB#T#: CR#CR#DD#: BA#BA#T#DD#: NN(B$()): 6&Q/:);B$(););II$;);B$();*);B$();,);VQ&/2:T#DD#:2:T#BA#:2::LCLC:.zQD/ .);"---------- ----------"QN/ ,);: T#DB#: 2: T#CR#: 2: : LCLCQX/ LC: : LCLC: X/ : );"CODE"Rb/ BA# P$"TOTAL DUE " : P$" CREDIT "JRl/ );"0 - SALE 5 - PAYMENT";4);"============"Rv/ );"1 - FREIGHT 6 - DISCOUNT";*);P$;: T#BA#: 2: R/ );"2 - TAX 7 - CREDIT";4);"============"R/ );"3 - SERV. CH. 8 - RETURN" S/ );"4 - MISC. DB 9 - MISC. CR": LC@: 8S2: PRINT A NUMBERZS2 T# " ";: S2 (T#)' F1$;T#; : F1$;(T#);S2S?: PROGRAM INITIALIZATIONS@NR%(V$()): 0TJFI%: NA$"ARCF.DAT": DI%(V$())A: OP: `QTO A$(): T: I : N: #,(T) AS T$,(N) AS A$(I): TTN: TQ B$(): T: I : N: #,(T) AS T$,(N) AS B$(I): TTN: TTF1$"#########.##"T^ G#( ),S#( ): T: EJECT TO TOP OF PAGEU LC IILC B: " ": : LCU?U: PRINT HEADING ON TOP OF PAPERaU : : : -);(,"*")}U ,);"***";D);"***"U );V$();,);"*** S T A T E M E N T ***"U );V$();,);"***";D);"***"U );V$();-);(,"*"): : V* ,);"STATEMENT DATE: ";SD$: NV߫: PRINT REST OF HEADING FOR AN ACCOUNTsV૞ ,);"ACCOUNT NUMBER: ";CA$: V嫞 ,);"PAGE";:);": ";PA: PAPAV꫞ );(,"="): );CN$: );C1$: );C2$: );(,"=")W: (U(MS$)));MS$: _W " INVOICE DATE TERMS OR REF CODE DEBITS "; " CREDITS BALANCE"W " -------- -------- ------------- ---- ---------- "; "---------- ----------"WLC: W: END THE PROGRAMWOP: `: : iX: );"*** END OF ";PN$;" ***": : "PRESS THE 'RETURN' KEY TO RETURN TO THE PROGRAM MENU": Q$""X 8: RL% : "*** LOADING PROGRAM MENU...": "A:AR MENU.BAS"Xg: PRINT A HEADINGBYh SC$: (W(H1$)));H1$: (W(H2$)));H2$: (W(H3$)));H3$: (W(H4$)));H4$: : : aYO: SYSTEM INITIALIZATIONYPÕ H: "I",,"A:ARDATE.DAT": #,TD$: YZÆ V$(): "I",,"A:ARSYS.DAT": #,V$(): V$()"A" : "I",,V$()":ARSYS.DAT": #,V$()Zn I : #,V$(I): : ZZwSC$"":I(V$()):SC$SC$(((V$(),I,))):}ZxWP: BELL$(): PW: LCZÕ ZH1$V$(): H2$"ACCOUNTS RECEIVABLE": H3$PN$: H4$TD$ZN#:Z9$()():Z8$()(): ,'[II$((N#DD#H),,): U["DD#((Z9$II$Z8$)(N#))ףp= #z: w[,ĆMO( ):I :MO(I)::@[1YR((II$,)): MO((II$,)): DA((II$,)): NN(YR6@)MO(MO)DAWG: (YR ) MO NNNN[2ĎY\6T!NNWG: YR(T!6): DA(T!YR6): MO : (YR ) DA: DADA\7ċ DAMO(MO) MOMO: 7 : DADAMO(MO)\8II$((MO),)"/"((DA),)"/"((YR),): \@II$TD$: 1: TDNN: \7: QUERY LINE]8ǑQ$;:R$:RL$(R$,):RL%(R$);]tNj R$"END" : O]: QUERY DATEg]ȍ8:RLR$TD$:]ȋ(R$)(R$)]MO(R$,"/"):MO:MOR$"0"R$]DA(,R$,"/"):DA]ȋDARL$(R$,):R$"0"(R$,):R$RL$R$2^MO((R$,)):DA((R$,,)):YR((R$,))W^ȋ(MO)(MO )(DA)(DA )ώe^ȍ:^+: INDICATE DATE USED^,ɋ RL "USING DATE ";R$^6Ɏ^W: QUERY YES/NO^XQ$Q$" (Y OR N)? "^]YES:8:RL$"Y"YES:__ʋ(R$)ώ!_bʋRL$"N"ύ:]:<_: QUERY TOP-OF-PAGEo_ʑ:"PLEASE SET THE PAPER AT THE TOP OF A FORM"_Q$"PRESS 'RETURN' WHEN READY": 8: _: ERROR MESSAGES_ґ"*** INVALID ENTRY. PLEASE REENTER. ***";BELL$:-`Tӑ"*** SYSTEM ERROR ";ER%;". PLEASE CONSULT MANUAL. ***";BELL$:`^ӕ:i`ӑ"*** NUMBER IS OUT OF RANGE. ***";BELL$:`ԑ"*** INCORRECT DATE. MUST BE FORM MM/DD/YY. ***";BELL$:`ԑ:" BASIC ERROR NUMBER ";;" LINE NO. ";aԑ" CONSULT BASIC MANUAL FOR EXPLANATION. ": E: t_aHՑ "*** IMPROPER SYSTEM FILES. RUN SYSTEM INITIALIZATIION ***": EiaRթ t~at֕ : a_:1/2/79 READ ONLY VERSION Multi ARray ISam - MARIS (OP) b`ꕨ:OP,(,,,,,, ,,H,,,tbjꕨ:"bER%:Db=ER%:j::b': OPEN MARIS FILE (FI%, NA$, DI%, RETURNS: DA$, EX%, NR%, OA, KL%, OC$, OI, ER%) b(땨2:NA$(DI%A)":"NA$:NA$ASNA$b2ER%:<b<땨:ER%:ER%:XcF"R",FI%,NA$:NA$(NA$,): FI%,ASO0$,ASO1$,ASO2$,ASO3$,ASO4$,ASO5$,ASO6$,dASO7$~cPFI%,:O0$"MARIS"FI%:ER%:dZDA$O2$:EX%(O3$):NR%(O4$):OA(O5$):KL%(O6$):OC$O7$: FI%,(KL%)ASOK$,({KL%)ASOT$,ASOM$,ASOE$,ASOL$: O1$()x:NR%ddOKKL%:OTOK:OJOT:FI%,EX%:OT$(OT):OB: OIOT:FI%,(OB)ASOT$,(OK)ASOT$(OI):OBOBOK:: OINR%:OJOTOJ:FI%dnOK$(OI)OT$(OJ):OJOJ:OI:OT$:`ex:"*** FILE WAS NOT CLOSED PROPERLY. ONE MOMENT FOR FIX...": BE$:NR%:FI%,:EX%:OPEX%:FI%: OM$"M"NR%NR%:OK$(NR%)OK$(OP)eyOP:NR%:OH():OH():OH():OH() :OTezOH(OT)NR%OTOT:OH(OT)OH(OT):z f{OKOT:OHOH(OK):OJOHNR%:OIOJOH:OT$,OK$(OJ)Cf|OT$OK$(OI)ϥOK$(OIOH),OK$(OI):OIOIOH:OI|vf}OK$(OIOH),OT$:OJ,OK:OH:OKKL%:OTOKf~OJ:FI%,EX%:OT$(OT):OB: OIOT:FI%,(OB)ASOT$,(OK)ASOT$(OI):OBOBOK:: OINR%:OT$(OJ)OK$(OI):OJOJ:OJOTFI%:OJgOI:OT$:OJFI%sgFI%,:O1$():O3$(EX%):O4$(NR%): O5$(OA):O7$OC$:FI%,:ODDI%:g: CLOSE MARIS FILE (RETURNS: ER%) gFI%:ER%:g: REWIND (RETURNS: OI, ER%) gOI:NR%ER%::ER%:#h: SEARCH (KE$, RETURNS: OI, OS, ER%) \hOTNR%:OB:(KE$)KL%KE$(KE$(KL%," "),KL%)h&OBOTOI(OTOB):OT$(OK$(OI),KL%):ER%:h0OT$KE$OTOI:&:OT$KE$OBOI:&h:OS((OK$(OI),)):ER%:i: GET RECORD (KE$, RETURNS: OI, OS, OE, OL, ER%) Yi:ER%ώ :FI%,OS:OE(OE$):OL(OL$):ER%:i: GET NEXT RECORD (RETURNS: KE$, OI, OS, OE, OL, ER%) iOINR%ER%::OIOI:OS((OK$(OI),)):FI%,OS: KE$OK$:OE(OE$):OL(OL$):ER%:>jG: GET PREVIOUS RECORD (RETURNS: KE$, OI, OS, OE, OL, ER%) jHOIER%::OIOI:OS((OK$(OI),)):FI%,OS: KE$OK$:OE(OE$):OL(OL$):ER%:js: GET EXTENT SECTOR (OS, RETURNS: OE, OL, ER%) ktFI%,OS:OE(OE$):OL(OL$):ER%:OM$"E"ER%k~,k/: SETUP (NR%) ?k0O:OK$(NR%):URNS: OE, OL, ER%) ktFI%,OS:OE(OE$):OL(OL$):ER%:OM$"E"ER%k~,k