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 / MBUG / MBUG102.ARC / RITEBACK.CMD < prev    next >
OS/2 REXX Batch file  |  1979-12-31  |  6KB  |  253 lines

  1. *RITEBACK.PRG
  2. *A PROGRAM DESIGNED TO ALLOW BACKORDERS TO BE SEARCHED ,REWRITTEN ,CANCELLED;
  3. *OR AMENDED
  4. SET TALK OFF
  5. RELEASE ALL
  6. STORE 1 TO POINTER
  7. DO WHILE T        
  8. ERASE
  9. @ 2,0 SAY 'THIS PROGRAM ALLOWS THE CANCELLATION OR RE-WRITING OF BACKORDERS'
  10. STORE '?' TO DEC
  11. @ 3,0 SAY 'PRESS (CR) TO CONTINUE OR (R)ETURN' GET DEC PICT '!'
  12. READ
  13. IF DEC='R'
  14. RETURN
  15. ENDIF
  16. ERASE
  17. STORE 0 TO GROUP
  18. @ 1,0 SAY 'SEARCH FOR SPECIFIC CUSTOMER                   PRESS  1 '
  19. @ 2,0 SAY 'SEARCH FOR CUSTOMER & BRAND                    PRESS  2 '
  20. @ 3,0 SAY 'SEARCH FOR BRAND ONLY                          PRESS  3 '
  21. @ 4,0 SAY 'SEARCH FOR ITEM ONLY                           PRESS  4 '
  22. @ 5,0 SAY 'SEARCH FOR ALL BACK ORDERS                     PRESS  5 ';
  23. GET GROUP PICT '9'
  24. @ 6,0 SAY 'WHICH DATABASE TO SEARCH (C)URRENT OR (P)REVIOUS';
  25. GET DEC PICT '!'
  26. READ
  27. ********************SELECTION OF DATABASE***************
  28. IF DEC='C'
  29. STORE 'DATAFILE' TO DATABASE
  30. ELSE
  31. STORE 'DATARCH' TO DATABASE
  32. STORE 1 TO POINTER
  33. ENDIF
  34. STORE '?' TO DEC
  35. *******************GETTING END OF FILE MARKER***************
  36. USE &DATABASE
  37. GO BOTTOM
  38. STORE # TO END
  39. GO TOP
  40. DO WHILE T
  41. IF POINTER = END
  42. RETURN
  43. ENDIF
  44. GOTO POINTER
  45. IF DEC='N' .OR. DEC='C' .OR. DEC='W' .OR. DEC=' '
  46. CONTINUE
  47. ELSE
  48. **********************************
  49. IF GROUP=1
  50. ERASE
  51. STORE T TO CHECK1
  52. DO WHILE CHECK1
  53. @ 2,0 SAY ' ENTER NAME OF CUSTOMER FOR WHICH BACK ORDERS ARE REQUIRED '
  54. ACCEPT TO CUST
  55. STORE !(CUST) TO CUST
  56. USE NAMELIST INDEX NAME
  57. FIND &CUST
  58. IF #=0
  59. ? 'CUSTOMER NOT FOUND, TRY AGAIN '
  60. LOOP
  61. ENDIF
  62. @ 5,0 SAY NAME
  63. @ 5,40 SAY CITYPC
  64. @ 7,0 SAY 'IS THIS THE CORRECT CUSTOMER <CR> OR (N)OT ? '
  65. WAIT TO CHECK2
  66. STORE !(CHECK2) TO CHECK2
  67. IF CHECK2='N'
  68. LOOP
  69. ENDIF
  70. STORE F TO CHECK1
  71. STORE ACCNUM TO ACCNUMA
  72. ERASE
  73. ENDDO
  74. USE &DATABASE
  75. @ 12,0 SAY '***************SEARCHING DATABASE **************************'
  76. LOCATE FOR ACCNUM=ACCNUMA .AND. SPECIAL
  77. ENDIF
  78. ************************************
  79. IF GROUP=2
  80. ERASE
  81. STORE T TO CHECK1
  82. DO WHILE CHECK1
  83. @ 2,0 SAY ' ENTER NAME OF CUSTOMER FOR WHICH BACK ORDERS ARE REQUIRED '
  84. ACCEPT TO CUST
  85. STORE !(CUST) TO CUST
  86. USE NAMELIST INDEX NAME
  87. FIND &CUST
  88. IF #=0
  89. ? 'CUSTOMER NOT FOUND, TRY AGAIN '
  90. LOOP
  91. ENDIF
  92. @ 5,0 SAY NAME
  93. @ 5,40 SAY CITYPC
  94. @ 7,0 SAY 'IS THIS THE CORRECT CUSTOMER <CR> OR (N)OT ? '
  95. WAIT TO CHECK2
  96. STORE !(CHECK2) TO CHECK2
  97. IF CHECK2='N'
  98. LOOP
  99. ENDIF
  100. STORE F TO CHECK1
  101. STORE ACCNUM TO ACCNUMA
  102. STORE NAME TO NAMEA
  103. ERASE
  104. ENDDO
  105. USE &DATABASE
  106. @ 1,0 SAY 'CUSTOMERS NAME '
  107. @ 1,20 SAY NAMEA
  108. @ 4,0 SAY 'WHAT IS THE BRAND TO BE SEARCHED FOR '
  109. ACCEPT TO BRAND
  110. USE &DATABASE
  111. @ 12,0 SAY '**************************SEARCHING DATABASE********************'
  112. LOCATE FOR ACCNUM=ACCNUMA .AND. ITEM=BRAND .AND. SPECIAL
  113. ENDIF
  114. ******************
  115. IF GROUP=3
  116. ERASE
  117. USE &DATABASE
  118. @ 2,0 SAY 'WHAT IS BRAND TO SEARCH BACK ORDERS FOR '
  119. ACCEPT TO BRAND
  120. ERASE
  121. @ 12,0 SAY '****************************SEARCHING**************************'
  122. LOCATE FOR ITEM=BRAND .AND. SPECIAL
  123. ENDIF
  124. *********************
  125. IF GROUP=4
  126. ERASE
  127. STORE T TO CHECK1
  128. DO WHILE CHECK1
  129. @ 2,0 SAY 'WHAT IS THE ITEM (CODE NUMBER ) TO BE SEARCHED FOR '
  130. ACCEPT TO CODEA
  131. USE PRICELIS INDEX PRICECOD
  132. FIND &CODEA
  133. @ 5,0 SAY CODE
  134. @ 5,15 SAY ITEM
  135. @ 7,0 SAY 'IS THIS CORRECT <CR> OR (N)OT? '
  136. WAIT TO CHECK2
  137. STORE !(CHECK2) TO CHECK2
  138. IF CHECK2='N'
  139. ERASE
  140. LOOP
  141. ENDIF
  142. STORE F TO CHECK1
  143. ENDDO
  144. USE &DATABASE
  145. ? '*****************************SEARCHING DATABASE********************'
  146. LOCATE FOR CODE=CODEA .AND. SPECIAL
  147. ENDIF
  148. **********************
  149. IF GROUP=5
  150. LOCATE FOR SPECIAL
  151. ENDIF
  152. *********************
  153. ENDIF
  154. *********************
  155. STORE INVNUM TO INVNUMA
  156. STORE DATE:ORD TO DATE:ORDA
  157. STORE ACCNUM TO ACCNUMA
  158. STORE CODE TO CODEA
  159. STORE ITEM TO ITEMA
  160. STORE COST TO COSTA
  161. STORE TAX TO TAXA
  162. STORE S:TAX TO S:TAXA
  163. STORE ORD:COM TO ORD:COMA
  164. STORE QTY:BACKO TO QTY
  165. STORE METH:SHIP TO METH:SHIPA
  166. STORE # TO POINTER
  167. IF DEC='P' .OR. DEC='?'
  168. ERASE
  169. ENDIF
  170. USE NAMELIST INDEX NAMENUM
  171. FIND &ACCNUMA
  172. STORE NAME TO NAMEA
  173. STORE CITYPC TO CITYPCA
  174. IF .NOT. EOF
  175. @ 2,0 SAY 'NAME OF CUSTOMER'
  176. @ 2,20 SAY NAMEA
  177. @ 3,0 SAY 'ADDRESS'
  178. @ 3,20 SAY CITYPCA
  179. @ 4,0 SAY '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'
  180. @ 5,0 SAY 'DATE ORDERED'
  181. @ 5,20 SAY DATE:ORDA
  182. @ 5,30 SAY 'INVOICE #'
  183. @ 5,50 SAY INVNUMA
  184. @ 6,0 SAY'-----------------------------------------------------------------'
  185. @ 7,0 SAY 'QUANTITY BACK ORDERED 'GET QTY
  186. @ 8,0 SAY 'ITEM ' GET ITEMA
  187. @ 9,0 SAY 'ORDERED COMMENTS ' GET ORD:COMA
  188. @ 10,0 SAY 'SHIPPED BY ' GET METH:SHIPA
  189. @ 11,0 SAY'CHANGE THE ABOVE IF NECESSARY'
  190. @ 13,0 SAY 'PRESS (?) TO: (C)ANCEL , (N)EXT  (W)RITE  (E)ND' GET DEC PICT '!'
  191. @ 15,0 SAY 'IF W IS SELECTED, ORDER WILL BE WRITTEN FOR QUANTITY'
  192. @ 16,0 SAY 'SHOWN AS BACKORDERED AND THE BACKORDER CANCELLED.'
  193. STORE ' ' TO DEC
  194.  
  195. @ 17,0 SAY '================================================================'
  196. READ
  197. ENDIF
  198. IF EOF
  199. ERASE
  200. RETURN
  201. ENDIF
  202. IF DEC='E'
  203. RETURN
  204. ENDIF
  205. IF DEC='C'
  206. USE &DATABASE
  207. GOTO POINTER
  208. REPLACE SPECIAL WITH F
  209. CLEAR GETS
  210. LOOP
  211. ENDIF
  212. IF DEC='W'
  213. USE &DATABASE
  214. GOTO POINTER
  215. REPLACE SPECIAL WITH F
  216. USE DATAFILE
  217. APPEND BLANK
  218. REPLACE DATE:ORD WITH DATE:ORDA, ACCNUM WITH ACCNUMA,CODE WITH CODEA,;
  219. ITEM WITH ITEMA,COST WITH COSTA,TAX WITH TAXA, ORD:COM WITH ORD:COMA
  220. REPLACE QTY:ORD WITH QTY ,METH:SHIP WITH METH:SHIPA , PACKED WITH F,;
  221. INVOICED WITH F,SPECIAL WITH F ,S:TAX WITH S:TAXA , ORD:NUM WITH 'BACKORDR'
  222. *************************STOCK CONTROL**************************
  223. USE PRICELIS INDEX PRICECOD
  224. FIND &CODEA
  225. REPLACE ORDERED WITH ORDERED+QTY
  226. REPLACE B:ORDERED WITH B:ORDERED-QTY
  227. REPLACE DATE:ORD WITH DATE()
  228. *****************************************************************
  229. CLEAR GETS
  230. USE &DATABASE
  231. LOOP
  232. ENDIF
  233. IF DEC='N'   .OR. DEC=' '
  234. CLEAR GETS
  235. USE &DATABASE
  236. LOOP
  237. ENDIF
  238. ENDDO
  239. LOOP
  240. ENDDO
  241. 
  242. ERASE
  243. ENDDO
  244. USE &DATABASE
  245. @ 12,0 SAY '***************SEARCHING DATABASE **************************'
  246. LOCATE FOR ACCNUM=ACCNUMA .AND. SPECIAL
  247. ENDIF
  248. ************************************
  249. IF GROUP=2
  250. ERASE
  251. STORE T TO CHECK1
  252. DO WHILE CHECK1
  253. @ 2,0 SAY ' ENTER NAME OF C