home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 5 / 05.iso / a / a070 / 3.ddi / FOXPRO / SAMPLE / SALES.PRG < prev    next >
Encoding:
Text File  |  1989-11-07  |  4.0 KB  |  165 lines

  1. * ┌─────────────────────────────────────────────────────────────────────┐ *
  2. * │  PROG NAME: SALES.PRG - Sales person File Maintenance.              │ *
  3. * │  Copyright (c) 1989 Tech III, Inc. All rights reserved.             │ *
  4. * │  Tech III of San Pedro, California      (213) 547-2191.             │ *
  5. * │  "The bridge connecting people and technology."(tm)                 │ *
  6. * └─────────────────────────────────────────────────────────────────────┘ *
  7. DO setup_rep
  8. SELECT salesrep
  9. SET ORDER TO sal_sal
  10. IF EOF()
  11.   GO TOP
  12. ENDIF
  13. STORE soldby TO msoldby
  14. DO disp_rep
  15. DO show_rep
  16. STORE .t. TO in_rep
  17. DO WHILE in_rep
  18.   ACTIVATE MENU salesrep PAD search
  19.   IF .NOT. in_prodemo
  20.       DEACTIVATE MENU
  21.   ENDIF
  22. ENDDO
  23. SELECT invoice
  24. CLEAR
  25. RELEASE MENU salesrep
  26. RETURN
  27.  
  28. PROCEDURE add_rep
  29.   DO disp_rep
  30.   STORE SPACE(3) TO msoldby
  31.   @ 01,28 GET msoldby PICTURE '!!!'
  32.   READ
  33.   SEEK msoldby
  34.   IF FOUND()
  35.     DO show_rep
  36.     DO standby WITH "Can't add this sales rep: rep is already on file."
  37.     RETURN
  38.   ELSE
  39.     APPEND BLANK
  40.     REPLACE NEXT 1 soldby WITH msoldby
  41.   ENDIF
  42.   DO edit_rep
  43.   RETURN
  44.   
  45. PROCEDURE del_rep
  46.   STORE .f. TO do_it
  47.   ACTIVATE WINDOW msg2user
  48.   @ 01,02 SAY 'Are you sure you want to delete this sales rep? ' GET do_it PICT 'Y'
  49.   READ
  50.   DEACTIVATE WINDOW msg2user
  51.   IF .NOT. do_it
  52.     RETURN
  53.   ENDIF
  54.   DELETE NEXT 1
  55.   IF .NOT. EOF()
  56.     SKIP
  57.   ENDIF
  58.   IF EOF()
  59.     GO BOTTOM
  60.   ENDIF
  61.   DO show_rep
  62.   RETURN
  63.   
  64. PROCEDURE disp_rep
  65.   CLEAR
  66.   @ 00,01 TO 02,35
  67.   @ 01,03 SAY "Sales Rep Initials:"
  68.   @ 02,01 TO 21,75
  69.   @ 02,01 SAY "├"
  70.   @ 02,35 SAY "┴"
  71.   @ 08,11 SAY '           Name:'
  72.   @ 09,11 SAY '     Date Hired:'
  73.   @ 10,11 SAY '  Date of Birth:'
  74.   @ 12,11 SAY 'Commission Rate:'
  75.   RETURN
  76.   
  77. PROCEDURE edit_rep
  78.   @ 01,28 GET soldby PICTURE '!!!'
  79.   CLEAR GETS
  80.   @ 08,28 GET salename
  81.   @ 09,28 GET hiredate
  82.   @ 10,28 GET birthdate
  83.   @ 12,28 GET commrate PICTURE '##.##'
  84.   READ
  85.   
  86. PROCEDURE last_rep
  87.   GO BOTTOM
  88.   DO show_rep
  89.   RETURN
  90.   
  91. PROCEDURE next_rep
  92.   SKIP
  93.   IF EOF()
  94.     GO BOTTOM
  95.     DO standby WITH "End of file: there is no NEXT sales rep."
  96.   ELSE
  97.     DO show_rep
  98.   ENDIF
  99.   RETURN
  100.   
  101. PROCEDURE prev_rep
  102.   SKIP -1
  103.   IF BOF()
  104.     GO TOP
  105.     DO standby WITH "Beginning of file: there is no PREVIOUS sales rep."
  106.   ELSE
  107.     DO show_rep
  108.   ENDIF
  109.   RETURN
  110.   
  111. PROCEDURE quit_rep
  112.   STORE .f. TO in_rep
  113.   DEACTIVATE MENU
  114.   RETURN
  115.   
  116. PROCEDURE setup_rep
  117.   DEFINE MENU salesrep COLOR SCHEME 3
  118.   DEFINE PAD NEXT   OF salesrep PROMPT '\<Next'   AT 17,3
  119.   DEFINE PAD prev   OF salesrep PROMPT '\<Prev'   AT 17,10
  120.   DEFINE PAD first  OF salesrep PROMPT '\<First'  AT 17,17
  121.   DEFINE PAD LAST   OF salesrep PROMPT '\<Last'   AT 17,25
  122.   DEFINE PAD search OF salesrep PROMPT '\<Search' AT 17,32
  123.   DEFINE PAD EDIT   OF salesrep PROMPT '\<Edit'   AT 17,41
  124.   DEFINE PAD APPEND OF salesrep PROMPT '\<Add'    AT 17,48
  125.   DEFINE PAD DELETE OF salesrep PROMPT '\<Delete' AT 17,54
  126.   DEFINE PAD QUIT   OF salesrep PROMPT '\<Quit'   AT 17,63
  127.   ON SELECTION PAD NEXT       OF salesrep DO next_rep
  128.   ON SELECTION PAD prev       OF salesrep DO prev_rep
  129.   ON SELECTION PAD first      OF salesrep DO top_rep
  130.   ON SELECTION PAD LAST       OF salesrep DO last_rep
  131.   ON SELECTION PAD search     OF salesrep DO srch_rep
  132.   ON SELECTION PAD EDIT       OF salesrep DO edit_rep
  133.   ON SELECTION PAD APPEND     OF salesrep DO add_rep
  134.   ON SELECTION PAD DELETE     OF salesrep DO del_rep
  135.   ON SELECTION PAD QUIT       OF salesrep DO quit_rep
  136.   RETURN
  137.   
  138. PROCEDURE show_rep
  139.   @ 01,28 SAY soldby PICTURE '!!!'
  140.   @ 08,28 SAY salename
  141.   @ 09,28 SAY hiredate
  142.   @ 10,28 SAY birthdate
  143.   @ 12,28 SAY commrate PICTURE '##.##'
  144.   RETURN
  145.   
  146. PROCEDURE srch_rep
  147.   last_rec=RECNO()
  148.   STORE SPACE(3) TO msoldby
  149.   @ 01,28 GET msoldby PICTURE '!!!'
  150.   READ
  151.   SEEK msoldby
  152.   IF .NOT. FOUND()
  153.     DO standby WITH "There is no such sales rep on file."
  154.     GO last_rec
  155.   ENDIF
  156.   DO show_rep
  157.   RETURN
  158.   
  159. PROCEDURE top_rep
  160.   GO TOP
  161.   DO show_rep
  162.   RETURN
  163.   
  164.   * EOF
  165.