home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / simtel / cpmug / cpmug087.ark / FGALERT.BAS < prev    next >
Encoding:
BASIC Source File  |  1986-10-20  |  3.2 KB  |  116 lines

  1.      rem This is the Finished Goods Inventory Alert Printer
  2.  
  3. %INCLUDE ALL.BAS
  4.      RESTORE
  5. 1005 DIM N(2,20)
  6.      dim k$(3,20)
  7.      z5$="b:fg"
  8.      fmt1$="$$#,###,###.##"
  9.      fmt2$="#,###,###"
  10.      for z=1 to 130:repeat1$=repeat1$+"-":repeat2$=repeat2$+"="
  11.      repeat3$=repeat3$+"*":next z
  12. 1020 DIM H(9),S(9),T(4,9)
  13. 1025 PRINT clear$:PRINT
  14. 1050 Q$="F I N I S H E D  G O O D S  (I N V E N T O R Y)  A L E R T"
  15. 1065 L$="###,###.##"
  16. 1070 U$="#,###.#"
  17.      for z=3 to 9:read n(1,z):next z
  18.      data 7,12,24,24,8,8,10
  19. 1100 REM GET DATES ROUTINE
  20. 1145 Z9=0
  21. 1200 REM READ TAB VALUES ROUTINE
  22.     JRF%=T%(1)
  23. 1235 T%(1)=130
  24. 3000 REM READ NAME FILE SUBROUTINE
  25. 3005 a5=T%(12)
  26. 3080 Z=24:Z9=1
  27. 3090 FOR Z0=1 TO 4
  28. 3100 K$(0,Z0)=MID$(N$,Z9,Z)
  29. 3110 Z9=Z9+Z
  30. 3120 NEXT Z0
  31. 3125 REM ROUTINE TO ELIMINATE TRAILING BLANKS
  32.      l8=1
  33. 3130 FOR I=1 TO 4
  34.      l9=len(k$(0,i))
  35. 3140 for z=l9 to l8 step -1
  36. 3150 IF MID$(K$(0,I),Z,1)<>" " THEN 3170
  37. 3160 NEXT Z
  38. 3170 Z$=""
  39. 3180 FOR Z0=1 TO Z
  40. 3190 Z$=Z$+MID$(K$(0,I),Z0,1)
  41. 3200 NEXT Z0
  42. 3210 K$(0,I)="":K$(0,I)=Z$
  43. 3220 NEXT I
  44. 6000 REM PRINT FINISHED GOODS ALERT
  45.     P9=0
  46. 6005 PRINT clear$:PRINT:PRINT "PRINTING FINISHED GOODS ALERT":P0=1
  47. 6010 lprinter
  48.     N(2,2)=1
  49.      open z5$ recl 256 as 1
  50.     IF END#1 THEN 6060
  51. 6020 GOSUB 9600
  52. 6030 GOSUB 9100
  53. 6040 IF P9>56 THEN GOSUB 9300
  54. 6050 IF N(2,2)<>0 THEN 6030
  55. 6060 GOSUB 9800
  56. 6070 GOTO 9900
  57. 9100 N$=""
  58. 9105 A9=A9+1
  59.      read #1,a9;n(2,1),n(2,2),n$,f0,f1,f2,f3,f4,f5,f6,f7,f8,f9
  60. 9115 Z9=1:FOR Z=3 TO 9:K$(3,Z)=MID$(N$,Z9,N(1,Z)):Z9=Z9+N(1,Z):NEXT Z
  61. 9120 IF N(2,2)=0 THEN 9295
  62. 9125 IF F3>F9 THEN 9150
  63. 9130 IF F3<F8 THEN 9150
  64. 9140 GOTO 9295
  65. 9150 print A9;TAB(11);K$(3,9);TAB(26);F0
  66. 9152 print N(2,1);TAB(6);N(2,2);TAB(18);K$(3,3);TAB(27);
  67. 9155 print K$(3,4);TAB(41);K$(3,5);TAB(67);K$(3,6);TAB(93);K$(3,7);
  68. 9160 print TAB(105);K$(3,8)
  69. 9165 print:P9=P9+3
  70. 9170 IF F3>F9 THEN print "QUANTITY OVER MAXIMUM BY ";F3-F9;
  71. 9175 IF F3>F9 THEN print TAB(61);"QUANTITY ON ORDER ";F4
  72. 9180 IF F3<F8 THEN print "QUANTITY UNDER MINIMUM BY ";F8-F3;
  73. 9185 IF F3<F8 THEN print TAB(61);"QUANTITY ON ORDER ";F4
  74. 9200 print repeat1$
  75. 9205 print:P9=P9+3
  76. 9295 RETURN
  77. 9300     P9=0
  78.     IF N(2,2)=0 THEN 9350
  79. 9305 print
  80.      print repeat2$
  81.      print "alert continues on next page"
  82.      print repeat2$
  83. 9340 print chr$(12)
  84.     GOSUB 9600
  85. 9350 RETURN
  86. 9600 REM PRINT PAGE HEADING SUBROUTINE
  87. 9605 IF N(2,2)=0 THEN 9795
  88. 9610 print repeat3$:P9=P9+1
  89. 9615 print:P9=P9+1
  90. 9616 print TAB((T%(1)-LEN(Q$))/2);Q$:P9=P9+1
  91. 9617 print:P9=P9+1
  92. 9620 FOR Z=2 TO 4
  93. 9625 print TAB((T%(1)-LEN(K$(0,Z)))/2);K$(0,Z):P9=P9+1
  94. 9630 NEXT Z
  95. 9635 print:P9=P9+1
  96. 9640 print TAB(T%(10));"FOR PERIOD ENDING ";D$(2);TAB(T%(11));"PAGE #";P0
  97. 9642 P9=P9+1
  98. 9645 print repeat2$:P9=P9+1
  99. 9650 print "RECORD #";TAB(11);"VEND CODE";TAB(26);"VEND TAG #"
  100. 9652 print "TAG";TAB(6);"ACCT #";TAB(18);
  101. 9655 print "ITEM #";TAB(27);"PART #";TAB(41);"DESCRIPTION";TAB(67);
  102. 9660 print "LOCATION";TAB(93);"LAST ISSUE";TAB(105);"LAST RECEIPT"
  103. 9670 print:P9=P9+3
  104. 9710 print repeat2$:P9=P9+2
  105.     P0=P0+1
  106. 9795 RETURN
  107. 9800 print repeat2$
  108.      print "end of alert"
  109.      print repeat3$
  110. 9895 RETURN
  111. 9900    PRINT CHR$(12)
  112. 9910 close 1
  113. 9915 console
  114. 9920     T%(1)=JRF%
  115.     CHAIN "master4"
  116.