home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / cpmug / cpmug089.ark / VPJOPOST.BAS < prev    next >
BASIC Source File  |  1984-04-29  |  5KB  |  139 lines

  1.      rem This is the Accounts Payable 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 AP 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 "master3"
  28.      print clear$:print
  29. 1545 PRINT "INSTALL THE GENERAL LEDGER DISK IN DRIVE A":PRINT
  30. 1550 PRINT "INSTALL THE VENDOR DISK WITH AP 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:ap" as 1
  49.      read #1;s1,s2,t2,t4,t5
  50.     close 1
  51.      s3=0
  52.      open "b:ap" 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. 4125 PRINT "COST OF GOODS TO INVENTORY,A/P AND COST OF GOODS"
  59. 4130 PRINT "SHIPPING CHARGES TO EXPENSES AND ACCOUNTS PAYABLE"
  60. 4135 PRINT "SALES TAX TO EXPENSES AND ACCOUNTS PAYABLE"
  61. 4140 PRINT:INPUT "TYPE RETURN TO CONTINUE ";line temp$
  62.     lprinter
  63.     print "ACCOUNTS PAYABLE AUDIT TRAIL RECORD FOR ";D$(1)
  64.     print "=====================================================":print
  65.     console
  66. 4150 print clear$:print
  67. 4200 PRINT "ENTER ACCOUNT NUMBER FOR INVENTORY ":INPUT N(0,1):PRINT
  68. 4205 GOSUB 20000
  69. 4210 IF A=1 THEN 4200
  70. 4220 N(0,2)=S1
  71. 4225 GOSUB 9000
  72. 4300 PRINT "ENTER ACCOUNT NUMBER FOR ACCOUNTS PAYABLE ":INPUT N(0,1):PRINT
  73. 4305 GOSUB 20000
  74. 4310 IF A=1 THEN 4300
  75. 4320 N(0,2)=S2*(-1)
  76. 4325 GOSUB 9000
  77. 4400 PRINT "ENTER ACCOUNT NUMBER FOR COST OF GOODS ":INPUT N(0,1):PRINT
  78. 4405 GOSUB 20000
  79. 4410 IF A=1 THEN 4400
  80. 4420 N(0,2)=S2
  81. 4425 GOSUB 9000
  82. 4700 PRINT "ENTER ACCOUNT NUMBER FOR SHIPPING EXPENSE ":INPUT N(0,1):PRINT
  83. 4705 GOSUB 20000
  84. 4710 IF A=1 THEN 4700
  85. 4720 N(0,2)=T4
  86. 4725 GOSUB 9000
  87. 4800 PRINT "ENTER ACCOUNT NUMBER FOR SHIPPING PAYABLE ":INPUT N(0,1):PRINT
  88. 4805 GOSUB 20000
  89. 4810 IF A=1 THEN 4800
  90. 4820 N(0,2)=T4*(-1)
  91. 4825 GOSUB 9000
  92. 4900 PRINT "ENTER ACCOUNT NUMBER FOR SALE TAX EXPENSE ":INPUT N(0,1):PRINT
  93. 4905 GOSUB 20000
  94. 4910 IF A=1 THEN 4900
  95. 4920 N(0,2)=T5
  96. 4925 GOSUB 9000
  97. 5000 PRINT "ENTER ACCOUNT NUMBER FOR TAX ON GOODS PAYABLE ":INPUT N(0,1):PRINT
  98. 5005 GOSUB 20000
  99. 5010 IF A=1 THEN 5000
  100. 5015 A=0
  101. 5020 N(0,2)=T5*(-1)
  102. 5025 GOSUB 9000
  103. 6000 GOTO 10000
  104. 9000 REM SUBROUTINE TO POST AND PRINT TOTALS
  105. 9025 FOR Z4=1 TO Z2
  106. 9030 IF N(0,1)=H(Z4) THEN read #1,z4;N(1,1),N(1,2),R$,N(1,4),N(1,5),\
  107.           N(1,6),N(1,7),N(1,8),N(1,9),N(1,10):GOTO 9040
  108. 9035 NEXT Z4
  109. 9040    lprinter
  110.     print
  111.     if n(0,2)=0 then print using zero$;n(1,2),r$,n(0,2)
  112.     if n(0,2)<0 then print using credit$;n(1,2),r$,n(0,2)
  113.     if n(0,2)>0 then print using debit$;n(1,2),r$,n(0,2)
  114.     print using before$;n(1,4),n(1,5),n(1,6)
  115.     FOR X=4 TO 6:N(1,X)=N(1,X)+N(0,2):NEXT X
  116.     print #1,z4;N(1,1),N(1,2),R$,N(1,4),N(1,5),N(1,6),N(1,7),\
  117.     N(1,8),N(1,9),N(1,10)
  118.     print using after$;n(1,4),n(1,5),n(1,6)
  119.     console
  120. 9235 RETURN
  121. 10000 close 1
  122. 10005 PRINT "REPLACE DISK #3 IN DRIVE A - TYPE RETURN TO CONTINUE"
  123. 10010 INPUT line temp$
  124.     lprinter
  125. 10015 print chr$(12):for z=1 to 100:next z:print chr$(12):console
  126.     console
  127. 10020 chain "master3"
  128. 20000 print clear$:print
  129. 20005 A=0
  130. 20010 PRINT "*** VALIDATING ACCOUNT NUMBER ***"
  131. 20020 PRINT:PRINT "PLEASE WAIT"
  132. 20080 FOR Z4=1 TO Z2
  133. 20085 IF N(0,1)=0 THEN 20510
  134. 20090 IF N(0,1)=H(Z4) THEN print clear$:print:GOTO 21000
  135. 20100 NEXT Z4
  136. 20500 print N(0,1);" IS NOT A VALID ACCOUNT NUMBER"
  137. 20510 A=1
  138. 21000 RETURN
  139.