home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / simtel / cpmug / cpmug090.ark / GLBUDGET.BAS < prev    next >
Encoding:
BASIC Source File  |  1984-04-29  |  2.9 KB  |  103 lines

  1.      rem This is the General Ledger Budget Analysis Printer
  2.  
  3. %INCLUDE ALL.BAS
  4.      dim n(2,12),K$(2,10),h(9),s(9),t(4,9)
  5.      RESTORE
  6. 1010 L$="##,###,###":U$="###.##"
  7. 1050 PRINT clear$:PRINT
  8. 1075 Q$="E X P E N S E  B U D G E T  A N A L Y S I S"
  9. 3000 REM READ NAME FILE SUBROUTINE
  10. 3005 a5=t%(12)
  11. 3080 Z=24:Z9=1
  12. 3090 FOR Z0=1 TO 4
  13. 3100 K$(0,Z0)=MID$(N$,Z9,Z)
  14. 3110 Z9=Z9+Z
  15. 3120 NEXT Z0
  16. 3125 REM ROUTINE TO ELIMINATE TRAILING BLANKS
  17.      l8=1
  18. 3130 FOR I=1 TO 4
  19.      l9=len(k$(0,i))
  20. 3140 for z=l9 to l8 step -1
  21. 3150 IF MID$(K$(0,I),Z,1)<>" " THEN 3170
  22. 3160 NEXT Z
  23. 3170 Z$=""
  24. 3180 FOR Z0=1 TO Z
  25. 3190 Z$=Z$+MID$(K$(0,I),Z0,1)
  26. 3200 NEXT Z0
  27. 3210 K$(0,I)="":K$(0,I)=Z$
  28. 3220 NEXT I
  29. 6000 REM PRINT EXPENSE BUDGET ANALYSIS
  30. 6005 PRINT clear$:PRINT
  31. 6010 PRINT "PRINTING EXPENSE BUDGET ANALYSIS"
  32. 6012 LPRINTER 
  33. 6015 FOR Z=0 TO 9
  34. 6020 H(Z)=0:S(Z)=0:T(0,Z)=0:T(1,Z)=0:T(2,Z)=0:T(3,Z)=0:A(Z)=0
  35. 6025 NEXT Z
  36. 6030 T1=0:T2=0:T3=0:T4=0
  37. 6105 open "b:gl" recl 138 as 1
  38.     N(2,2)=10
  39. 6200 GOSUB 9600
  40. 6255 IF N(2,2)=0 THEN 6404
  41. 6350 GOSUB 15000
  42. 6404 IF N(2,2)=0 THEN FOR Z=1 TO 56-P9:print:NEXT Z:GOSUB 9800
  43. 6405 IF N(2,2)=0 THEN 20000
  44. 6980 IF P9>56 THEN GOSUB 9700
  45. 6995 GOTO 6255
  46. 9600 REM PRINT PAGE HEADING SUBROUTINE
  47. 9605    P0=P0+1
  48. 9610 print :P9=P9+1
  49. 9615 print:P9=P9+1
  50. 9616 print TAB((t%(1)-LEN(Q$))/2);Q$:P9=P9+1
  51. 9617 print:P9=P9+1
  52. 9620 FOR Z=2 TO 4
  53. 9625 print TAB((t%(1)-LEN(K$(0,Z)))/2);K$(0,Z):P9=P9+1
  54. 9630 NEXT Z
  55. 9635 print:P9=P9+1
  56. 9640 print TAB(t%(10));"FOR PERIOD ENDING ";D$(2);TAB(t%(11));"PAGE #";P0
  57. 9642 P9=P9+1
  58. 9645 print :P9=P9+1
  59. 9650 print:print TAB(36);"ACTUAL";TAB(46);"BUDGETED";TAB(56);
  60. 9655 print "DIFFERENCE";TAB(69);"PERCENTAGE":print:P9=P9+3
  61. 9670 RETURN
  62. 9700 REM REPORT CONTINUED SUBROUTINE
  63. 9705 print 
  64. 9710 print "REPORT CONTINUED ON NEXT PAGE"
  65. 9715 print 
  66. 9720 print CHR$(12):P9=0
  67. 9725    GOSUB 9600
  68. 9740 RETURN
  69. 9800 REM END OF REPORT ROUTINE
  70. 9810 print 
  71. 9820 print "END OF REPORT"
  72. 9830 print 
  73. 9840 print CHR$(12)
  74. 9845 FOR Z=1 TO 100:NEXT Z:print CHR$(12)
  75. 9850 RETURN
  76. 15000 REM GET ACCOUNTS IN SUBHEAD RANGE AND PRINT
  77. 15005 a(9)=a(9)+1
  78. 15006 if p9>51 then gosub 9700
  79. 15010 read #1,a(9);n(2,1),n(2,2),K$(1,3),n(2,4),n(2,5),n(2,6),\
  80.            n(2,7),n(2,8),n(2,9),n(2,10)
  81. 15105 IF N(2,2)=0 THEN 15800
  82. 15110 IF N(2,10)=0 THEN 15005
  83. 15115 print K$(1,3);TAB(32);:print using L$;n(2,4);TAB(44);
  84.       print using L$;n(2,10);
  85. 15120 print TAB(56);:print using L$;n(2,4)-n(2,10);TAB(72);
  86. 15125 print using U$;(n(2,4)/n(2,10))*100;
  87.     print "%":P9=P9+1
  88. 15130 T1=T1+N(2,4):T2=T2+N(2,10)
  89. 15135 GOTO 15005
  90. 15800 print:print:
  91. 15801 IF T1=0 AND T2=0 THEN PRINT "NO BUDGET INFORMATION ON FILE"
  92. 15802 IF T1=0 AND T2=0 THEN 15995
  93. 15805 print "TOTALS";TAB(32);:print using L$;T1;TAB(44);
  94.       :print using L$;T2;TAB(56);
  95. 15810 print using L$;T2-T1;TAB(72);:print using U$;((T1/T2)*100);
  96.     print "%"
  97. 15815 P9=P9+3
  98. 15995 RETURN
  99. 20000 REM ROUTINE TO CLOSE FILES AND RETURN TO MASTER1
  100. 20005 close 1
  101. 20010 CONSOLE  
  102. 20050 chain "master1"
  103.