home *** CD-ROM | disk | FTP | other *** search
- ******************************************************************************
- * STATEALL.PRG This program simply reads the student records *
- * that now contain prior balance plus (1) current billing info (lessons *
- * times rate) and (2) current month's $$ receipts: and then prints *
- * a fresh new statement *
- *******************************************************************************
- SET Talk OFF
- ERASE
- STORE 0 to MCheap
- DO WHILE .NOT. EOF
- STORE Acct:Num to Placemark
- *
- STORE 'January February March April May June '+;
- 'July August SeptemberOctober November December ' TO Date:str
- STORE TRIM($(Date:str, VAL($(Cdate,1,2))*9-8,9))+" " +;
- $(Cdate,4,2)+", 19"+$(Cdate,7,2) to Sdate
- *
- DO CASE
- CASE lname<>"Zz" .AND. Balance-Curpayment+(Lessons*Rate)=0
- SKIP
- LOOP
- *
- OTHERWISE
- SET PRINT ON
- ? CHR(27)+CHR(66)+CHR(1)
- SET Format TO Print
- SET Print OFF
- IF Scholar
- STORE MCheap + 1 to MCheap
- STORE STR(Mcheap,1) to X
- STORE Fname TO Fname&X
- STORE Lname TO Lname&X
- STORE Lessons TO Lessons&X
- ENDIF
- *
- @ 1,28 SAY "YOUR COMPANY'S NAME"
- @ 2,27 SAY "Your Street Address"
- @ 3,28 SAY "City, State & Zip"
- @ 4,27 SAY "Your A/C & Phone #"
- SET Print ON
- ? CHR(27)+CHR(69)+CHR(0)
- SET Print OFF
- @ 6,26 SAY "STATEMENT OF ACCOUNT"
- SET Print ON
- ? CHR(27)+CHR(70)+CHR(0)
- ? CHR(27)+CHR(66)+CHR(2)
- SET Print OFF
- *
- SET Print ON
- ? CHR(27)+CHR(66)+CHR(2)
- SET Print OFF
- @ 13,9 SAY P.Parent
- @ 13,68 SAY "Date: "+Sdate
-
- IF P.Addr1 = " "
- @ 14,9 SAY P.Addr2
- @ 15,9 SAY P.city:Etc
- @ 15,68 SAY "Acct: "+Acct:Num
- ELSE
- @ 14,9 SAY P.Addr1
- @ 15,9 SAY P.Addr2
- @ 15,68 SAY "Acct: "+Acct:Num
- @ 16,9 SAY P.City:Etc
- ENDIF
-
- SET Print OFF
- @ 17,68 SAY "Terms: NET TEN DAYS"
- SET Print ON
- ? CHR(27)+CHR(72)+CHR(0)
- SET Print OFF
- IF Lname="Zz"
- @ 18,3 SAY "Scholarship Students"
- ELSE
- @ 18,3 SAY TRIM(Fname)+" "+Lname
- ENDIF
- STORE chr(126) TO a
- @ 20,1 SAY A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+;
- A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+;
- A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A
- @ 21,29 SAY "Charge/Credit Detail Balance"
- @ 22,1 SAY A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+;
- A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+;
- A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A
- * Now we'll print the past-due section only if there's actually money owed.
- IF Balance-Curpayment<>0
- SET Print ON
- ? CHR(27)+CHR(71)+CHR(0)
- SET Print OFF
- @ 24,17 SAY "Amount PAST DUE:"
- SET Print ON
- ? CHR(27)+CHR(72)+CHR(0)
- SET Print OFF
- @ 25,35 SAY "See Last Month's Statement"
- @ 25,77 SAY "$"
- @ 25,78 SAY Balance-Curpayment
- ENDIF
- * Now we bill for the current lessons
- IF Lname="Zz"
- IF MCheap=0
- STORE 0 to Lesstotl
- ENDIF
- IF MCheap=1
- STORE VAL(STR(Lessons1,8)) to Lesstotl
- ENDIF
- IF MCheap=2
- STORE VAL(STR(Lessons1,8))+VAL(STR(Lessons2,8)) to Lesstotl
- ENDIF
- IF MCheap=3
- STORE VAL(STR(Lessons1,8))+VAL(STR(Lessons2,8))+VAL(STR(Lessons3,8));
- TO Lesstotl
- ENDIF
- IF MCheap=4
- STORE VAL(STR(Lessons1,8))+VAL(STR(Lessons2,8))+VAL(STR(Lessons3,8));
- +VAL(STR(Lessons4,8)) TO Lesstotl
- ENDIF
- IF MCheap=5
- STORE VAL(STR(Lessons1,8))+VAL(STR(Lessons2,8))+VAL(STR(Lessons3,8));
- +VAL(STR(Lessons4,8))+VAL(STR(Lessons5,8)) TO Lesstotl
- ENDIF
- IF MCheap=6
- STORE VAL(STR(Lessons1,8))+VAL(STR(Lessons2,8))+VAL(STR(Lessons3,8));
- +VAL(STR(Lessons4,8))+VAL(STR(Lessons5,8))+VAL(STR(Lessons6,8));
- TO Lesstotl
- ENDIF
- IF MCheap=7
- STORE VAL(STR(Lessons1,8))+VAL(STR(Lessons2,8))+VAL(STR(Lessons3,8));
- +VAL(STR(Lessons4,8))+VAL(STR(Lessons5,8))+VAL(STR(Lessons6,8));
- +VAL(STR(Lessons7,8)) TO Lesstotl
- ENDIF
- IF MCheap=8
- STORE VAL(STR(Lessons1,8))+VAL(STR(Lessons2,8))+VAL(STR(Lessons3,8));
- +VAL(STR(Lessons4,8))+VAL(STR(Lessons5,8))+VAL(STR(Lessons6,8));
- +VAL(STR(Lessons7,8))+VAL(STR(Lessons8,8)) TO Lesstotl
- ENDIF
- REPLACE Lessons WITH Lesstotl
- ENDIF
- *
- IF Lessons=1
- @ 27,16 SAY Lessons
- @ 27,19 SAY "Lesson given during:"
- @ 27,40 SAY Month
- ELSE
- @ 27,16 SAY Lessons
- @ 27,19 SAY "Lessons given during:"
- @ 27,41 SAY Month
- ENDIF
- @ 27,76 SAY "$"
- @ 27,79 SAY Lessons*Rate
- * In this section we list the scholarship students on the school's billing.
- DO CASE
- CASE Lname = "Zz"
- IF MCheap=1
- @ 30,10 SAY Lessons1
- @ 30,25 SAY TRIM(Fname1)+" "+Lname1
- ENDIF
- IF MCheap=2
- @ 30,10 SAY Lessons1
- @ 30,25 SAY TRIM(Fname1)+" "+Lname1
- @ 31,10 SAY Lessons2
- @ 31,25 SAY TRIM(Fname2)+" "+Lname2
- ENDIF
- IF MCheap=3
- @ 30,10 SAY Lessons1
- @ 30,25 SAY TRIM(Fname1)+" "+Lname1
- @ 31,10 SAY Lessons2
- @ 31,25 SAY TRIM(Fname2)+" "+Lname2
- @ 32,10 SAY Lessons3
- @ 32,25 SAY TRIM(Fname3)+" "+Lname3
- ENDIF
- IF MCheap=4
- @ 30,10 SAY Lessons1
- @ 30,25 SAY TRIM(Fname1)+" "+Lname1
- @ 31,10 SAY Lessons2
- @ 31,25 SAY TRIM(Fname2)+" "+Lname2
- @ 32,10 SAY Lessons3
- @ 32,25 SAY TRIM(Fname3)+" "+Lname3
- @ 33,10 SAY Lessons4
- @ 33,25 SAY TRIM(Fname4)+" "+Lname4
- ENDIF
- IF MCheap=5
- @ 30,10 SAY Lessons1
- @ 30,25 SAY TRIM(Fname1)+" "+Lname1
- @ 31,10 SAY Lessons2
- @ 31,25 SAY TRIM(Fname2)+" "+Lname2
- @ 32,10 SAY Lessons3
- @ 32,25 SAY TRIM(Fname3)+" "+Lname3
- @ 33,10 SAY Lessons4
- @ 33,25 SAY TRIM(Fname4)+" "+Lname4
- @ 34,10 SAY Lessons5
- @ 34,25 SAY TRIM(Fname5)+" "+Lname5
- ENDIF
- IF MCheap=6
- @ 30,10 SAY Lessons1
- @ 30,25 SAY TRIM(Fname1)+" "+Lname1
- @ 31,10 SAY Lessons2
- @ 31,25 SAY TRIM(Fname2)+" "+Lname2
- @ 32,10 SAY Lessons3
- @ 32,25 SAY TRIM(Fname3)+" "+Lname3
- @ 33,10 SAY Lessons4
- @ 33,25 SAY TRIM(Fname4)+" "+Lname4
- @ 34,10 SAY Lessons5
- @ 34,25 SAY TRIM(Fname5)+" "+Lname5
- @ 35,10 SAY Lessons6
- @ 35,25 SAY TRIM(Fname6)+" "+Lname6
- ENDIF
- IF MCheap=7
- @ 30,10 SAY Lessons1
- @ 30,25 SAY TRIM(Fname1)+" "+Lname1
- @ 31,10 SAY Lessons2
- @ 31,25 SAY TRIM(Fname2)+" "+Lname2
- @ 32,10 SAY Lessons3
- @ 32,25 SAY TRIM(Fname3)+" "+Lname3
- @ 33,10 SAY Lessons4
- @ 33,25 SAY TRIM(Fname4)+" "+Lname4
- @ 34,10 SAY Lessons5
- @ 34,25 SAY TRIM(Fname5)+" "+Lname5
- @ 35,10 SAY Lessons6
- @ 35,25 SAY TRIM(Fname6)+" "+Lname6
- @ 36,10 SAY Lessons7
- @ 36,25 SAY TRIM(Fname7)+" "+Lname7
- ENDIF
- IF MCheap=8
- @ 30,10 SAY Lessons1
- @ 30,25 SAY TRIM(Fname1)+" "+Lname1
- @ 31,10 SAY Lessons2
- @ 31,25 SAY TRIM(Fname2)+" "+Lname2
- @ 32,10 SAY Lessons3
- @ 32,25 SAY TRIM(Fname3)+" "+Lname3
- @ 33,10 SAY Lessons4
- @ 33,25 SAY TRIM(Fname4)+" "+Lname4
- @ 34,10 SAY Lessons5
- @ 34,25 SAY TRIM(Fname5)+" "+Lname5
- @ 35,10 SAY Lessons6
- @ 35,25 SAY TRIM(Fname6)+" "+Lname6
- @ 36,10 SAY Lessons7
- @ 36,25 SAY TRIM(Fname7)+" "+Lname7
- @ 37,10 SAY Lessons8
- @ 37,25 SAY TRIM(Fname8)+" "+Lname8
- ENDIF
- ENDCASE
- *
- SET Print ON
- ? CHR(27)+CHR(66)+CHR(1)
- ? CHR(27)+CHR(69)+CHR(0)
- SET Print OFF
- @ 42,25 SAY "BALANCE DUE NOW"
- STORE Balance to Mbal
- STORE Lessons*Rate to Mbill
- STORE Curpayment to MPay
- STORE Mbal+Mbill-Mpay to Newbal
- @ 42,55 SAY "===> $"
- @ 42,62 SAY Newbal
- IF Newbal<0
- @ 43,64 SAY "** CREDIT"
- SET Print ON
- ? CHR(27)+CHR(70)+CHR(0)
- ? CHR(27)+CHR(66)+CHR(2)
- @ 46,13 SAY "** DO NOT pay this amount. It is a CREDIT BALANCE in"
- @ 47,16 SAY "your account which will be applied to upcoming lessons."
- ENDIF
- IF Newbal=0
- SET Print ON
- ? CHR(27)+CHR(70)+CHR(0)
- ? CHR(27)+CHR(66)+CHR(1)
- @ 46,23 SAY "*** D O N O T M A I L ***"
- ENDIF
- *
- SET FORMAT TO Print
- SET PRINT ON
- STORE CHR(174) TO F
- STORE CHR(173) TO G
- STORE CHR(27)+CHR(69)+CHR(0) TO H
- STORE CHR(27)+CHR(70)+CHR(0) TO J
- STORE CHR(27)+CHR(66)+CHR(1) TO K
- STORE CHR(167) TO L
- STORE CHR(166) TO M
- @ 49,0 SAY H
- @ 50,3 SAY K+F+G+F+G+F+G+F+G+F+" "+F+G+F+G+F+G+F+G+F+;
- " "+F+G+F+G+F+G+F+G+F
- *******************************************************************************
- * At this point you can print your own message on the bottom of the statement *
- * I've given you the below copy as an example. Do your own thing!! (MHB) *
- *******************************************************************************
- @ 51,0 SAY J
- @ 52,1 SAY "You will be CHARGED for a MISSED LESSON unless you "+;
- "telephone me "
- @ 52,65 SAY H
- @ 52,66 SAY "at my home:"
- @ 53,0 SAY J
- @ 54,11 SAY "(1) the evening before the scheduled lesson, or ..."
- @ 55,11 SAY "(2) before 7:00 A.M. on the day of the scheduled lesson."
- @ 57,15 SAY L+" "+L+" "+L+" Do "
- @ 57,32 SAY H
- @ 57,33 SAY "NOT "
- @ 57,37 SAY J
- @ 57,38 SAY "call the school. "+M+" "+M+" "+M
- @ 58,15 SAY L+" There's no guarantee I'll get your message. "+M
- @ 59,0 SAY H
- @ 60,3 SAY F+G+F+G+F+G+F+G+F+" "+F+G+F+G+F+G+F+G+F+;
- " "+F+G+F+G+F+G+F+G+F
- @ 61,0 SAY J
- SET FORMAT TO Screen
- ENDCASE
- *
- EJECT
- STORE 0 TO Newbal
- SKIP
- ENDDO
- USE
- RELEASE Newbal,Placemark,Mbal,Mpay,Mbill,Mcharge,Debtor,MCheap,Fname1,;
- Fname2,Fname3,Fname4,Fname5,Fname6,Lname1,Lname2,Lname3,Lname4,Lname5,;
- Lname6,Lessons1,Lessons2,Lessons3,Lessons4,Lessons5,Lessons6,Lessons7,;
- Lessons8,Lesstotl,F,G,H,J,K,L,M
- STORE F TO Printout
- SET Print OFF
- SET Format TO Screen
- SET Console ON
- SET Talk ON
- RETURN
- * EOF
- ,25 SAY TRIM(Fname1)+" "+Lname1
- @ 31,10 SAY Lessons2
- @ 31,25 SAY TRIM(Fname2)+" "+Lname2
- @ 32,10 SAY Lessons3
- @ 32,25 SAY TRIM(Fname3)+" "+Lname3
- @ 33,10 SAY Lessons4
- @ 33,25 SAY TRIM(Fname4)+" "+Lname4
- @ 34,10 SAY Lessons5
- @ 34,25 SAY TRIM(Fname5)+" "+Lname5
- ENDIF
- IF MCheap=6
- @ 30,10 SAY Lessons1
- @ 30,25 SAY TRIM(Fname1)+" "+Lname1
- @ 31,10 SAY Lessons2
- @ 31,2