home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / SIMTEL / CPMUG / CPMUG089.ARK / CRJOPOST.BAS < prev    next >
BASIC Source File  |  1984-04-29  |  5KB  |  142 lines

  1.      rem This is the Accounts Receivable Posting Program
  2.  
  3. %INCLUDE ALL.BAS
  4.      RESTORE
  5.      dim n(2,20),k$(2,20)
  6.      l$="$$#,###,###.##"
  7.  
  8.     before1$="Before POSTING                "
  9.     after1$="After POSTING                 "
  10.     numbers1$="##,###,###.##   ##,###,###.##   ##,###,###.##"
  11.     before$=before1$+numbers1$:after$=after1$+numbers1$
  12.  
  13.     temp$="Totals for Acct ########## /...5...10...15...20...25../"
  14.     zero$=temp$+"               #.##"
  15.     credit$=temp$+"   ##,###,###.## cr"
  16.     debit$=temp$+"   ##,###,###.## db"
  17.     temp$=""
  18.  
  19.      print clear$:print
  20. 1002 PRINT "BEFORE PROCEEDING, IT IS A GOOD PRACTICE TO BACK UP"
  21. 1005 PRINT "BOTH THE GENERAL LEDGER AND AR FILE"
  22. 1010 PRINT "BY MAKING COPIES USING THE DISKCOPY FACILITY OF YOUR DOS."
  23. 1015 PRINT:PRINT"IF YOU ARE UNFAMILIAR WITH THE PROCESS, ASK YOUR"
  24. 1020 PRINT "SYSTEM SUPERVISOR FOR HELP.":PRINT
  25. 1025 PRINT "IF THIS HAS BEEN DONE; TYPE Y TO CONTINUE!"
  26. 1030 INPUT line temp$
  27. 1035 IF left$(temp$,1)<>"y" and left$(temp$,1)<>"Y" THEN CHAIN "master2"
  28.      print clear$:print
  29. 1545 PRINT "INSTALL THE GENERAL LEDGER DISK IN DRIVE A":PRINT
  30. 1550 PRINT "INSTALL THE CUSTOMER DISK WITH AR FILE IN DRIVE B":PRINT
  31. 1555 PRINT "TYPE RETURN WHEN READY":INPUT line temp$
  32.      initialize
  33.  
  34.     rem get  dates
  35.     z9=0
  36.      print clear$:print
  37. 2005 PRINT "LOADING ACCOUNT NUMBER TABLES":PRINT
  38. 2010 PRINT "*** PLEASE WAIT ***"
  39.      open "a:glref" as 1
  40.      read #1;z2
  41.      dim h(z2)
  42.      for z=1 to z2
  43.      read #1;h(z)
  44.      next z
  45.      close 1
  46. 3070 N(2,1)=8:N(2,2)=24:N(2,3)=24:N(2,4)=1
  47. 4000 REM THIS IS THE ACTUAL POSTING PROGRAM
  48.      open "b:ar" as 1
  49.      read #1;s1,s2,t2,t4,t5
  50.     close 1
  51.      s3=0
  52.      open "b:ar" as 1
  53.      print #1;s3,s3,s3,s3,s3
  54.      close 1
  55.      open "a:gl" recl 138 as 1
  56. 4100 print clear$:print
  57. 4105 PRINT "THIS POSTING PROGRAM POSTS: ":PRINT
  58. 4110 PRINT "PREPAID SALES TO APPROPRIATE SALES ACCOUNT (BANK IS POSTED"
  59. 4115 PRINT "THROUGH CHECK RECEIPTS ROUTINE)."
  60. 4120 PRINT "SALES ON TERMS TO APPROPRIATE SALES ACCOUNT AND A/R"
  61. 4125 PRINT "COST OF GOODS TO INVENTORY"
  62. 4130 PRINT "SHIPPING CHARGES TO EXPENSES"
  63. 4135 PRINT "SALES TAX TO EXPENSES AND SALES TAX PAYABLE"
  64. 4140 PRINT:INPUT "TYPE RETURN TO CONTINUE ";line temp$
  65.     lprinter
  66.     print "ACCOUNTS RECEIVABLE AUDIT TRAIL RECORD FOR ";D$(1)
  67.     print "=======================================================":print
  68.     console
  69. 4150 print clear$:print
  70. 4200 PRINT "ENTER ACCOUNT NUMBER FOR PREPAID SALES ":INPUT N(0,1):PRINT
  71. 4205 GOSUB 20000
  72. 4210 IF A=1 THEN 4200
  73. 4220 N(0,2)=S1*(-1)
  74. 4225 GOSUB 9000
  75. 4300 PRINT "ENTER ACCOUNT NUMBER FOR ACCOUNTS RECEIVABLE ":INPUT N(0,1):PRINT
  76. 4305 GOSUB 20000
  77. 4310 IF A=1 THEN 4300
  78. 4320 N(0,2)=S2
  79. 4325 GOSUB 9000
  80. 4400 PRINT "ENTER ACCOUNT NUMBER FOR SALES ON TERMS ":INPUT N(0,1):PRINT
  81. 4405 GOSUB 20000
  82. 4410 IF A=1 THEN 4400
  83. 4420 N(0,2)=S2*(-1)
  84. 4425 GOSUB 9000
  85. 4600 PRINT "ENTER ACCOUNT NUMBER FOR INVENTORY ":INPUT N(0,1):PRINT
  86. 4605 GOSUB 20000
  87. 4610 IF A=1 THEN 4600
  88. 4620 N(0,2)=T2*(-1)
  89. 4625 GOSUB 9000
  90. 4700 PRINT "ENTER ACCOUNT NUMBER FOR SHIPPING EXPENSE ":INPUT N(0,1):PRINT
  91. 4705 GOSUB 20000
  92. 4710 IF A=1 THEN 4700
  93. 4720 N(0,2)=T4
  94. 4725 GOSUB 9000
  95. 4900 PRINT "ENTER ACCOUNT NUMBER FOR SALE TAX EXPENSE ":INPUT N(0,1):PRINT
  96. 4905 GOSUB 20000
  97. 4910 IF A=1 THEN 4900
  98. 4920 N(0,2)=T5
  99. 4925 GOSUB 9000
  100. 5000 PRINT "ENTER ACCOUNT NUMBER FOR SALES TAX PAYABLE ":INPUT N(0,1):PRINT
  101. 5005 GOSUB 20000
  102. 5010 IF A=1 THEN 5000
  103. 5015 A=0
  104. 5020 N(0,2)=T5*(-1)
  105. 5025 GOSUB 9000
  106. 6000 GOTO 10000
  107. 9000 REM SUBROUTINE TO POST AND PRINT TOTALS
  108. 9025 FOR Z4=1 TO Z2
  109. 9030 IF N(0,1)=H(Z4) THEN read #1,z4;N(1,1),N(1,2),R$,N(1,4),N(1,5),\
  110.           N(1,6),N(1,7),N(1,8),N(1,9),N(1,10):GOTO 9040
  111. 9035 NEXT Z4
  112. 9040    lprinter
  113.     print
  114.     if n(0,2)=0 then print using zero$;n(1,2),r$,n(0,2)
  115.     if n(0,2)<0 then print using credit$;n(1,2),r$,n(0,2)
  116.     if n(0,2)>0 then print using debit$;n(1,2),r$,n(0,2)
  117.     print using before$;n(1,4),n(1,5),n(1,6)
  118.     FOR X=4 TO 6:N(1,X)=N(1,X)+N(0,2):NEXT X
  119.     print #1,z4;N(1,1),N(1,2),R$,N(1,4),N(1,5),N(1,6),N(1,7),\
  120.     N(1,8),N(1,9),N(1,10)
  121.     print using after$;n(1,4),n(1,5),n(1,6)
  122.     console
  123. 9235 RETURN
  124. 10000 close 1
  125. 10005 PRINT "REPLACE DISK #3 IN DRIVE A - TYPE RETURN TO CONTINUE"
  126. 10010 INPUT line temp$
  127.     lprinter
  128. 10015 print chr$(12):for z=1 to 100:next z:print chr$(12):console
  129.     console
  130. 10020 chain "master2"
  131. 20000 print clear$:print
  132. 20005 A=0
  133. 20010 PRINT "*** VALIDATING ACCOUNT NUMBER ***"
  134. 20020 PRINT:PRINT "PLEASE WAIT"
  135. 20080 FOR Z4=1 TO Z2
  136. 20085 IF N(0,1)=0 THEN 20510
  137. 20090 IF N(0,1)=H(Z4) THEN print clear$:print:GOTO 21000
  138. 20100 NEXT Z4
  139. 20500 print N(0,1);" IS NOT A VALID ACCOUNT NUMBER"
  140. 20510 A=1
  141. 21000 RETURN
  142.