home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / database / pbase.zip / EXPENSE.PRG < prev    next >
Text File  |  1985-09-26  |  8KB  |  271 lines

  1. *EXPENSE.PRG (09-26.a)
  2.  
  3. SWITCH TALK OFF
  4. SWITCH ECHO OFF
  5.  
  6. DROP VARIABLE ALL
  7. RESET DATABASE
  8. RESET FORM
  9. FORM TEXT 'Type:'             AT 4  5
  10. FORM TEXT 'Date:'             AT 4 14
  11. FORM TEXT '$ Amount:'             AT 4 29
  12. FORM TEXT 'Description:'         AT 6  5
  13. FORM TEXT '1 - office    3 - mileage    5 - travel      7 - publications' AT 8 5
  14. FORM TEXT '2 - auto      4 - meals      6 - utilities' AT 9 5
  15. FORM FIELD exptype PICTURE '#>'         AT 4 11
  16. FORM FIELD expdate PICTURE '##/##/##>'  AT 4 19
  17. FORM FIELD expamt  PICTURE '##########' AT 4 39
  18. FORM FIELD expdesc WIDTH 50             AT 6 18
  19.  
  20. DOWHILE true
  21.   CLEAR SCREEN
  22.   DOMENU
  23.     MENUTYPE VERT
  24.     MENUTITLE '[ Expense Accounting Main Menu ]'
  25.     MENUOPTION 'Add new records'
  26.     MENUOPTION 'View and edit records'
  27.     MENUOPTION 'Report Expenses in DATE SEQUENCE'
  28.     MENUOPTION 'Report Expenses in TYPE SEQUENCE'
  29.     MENUOPTION 'Total Expenses by TYPE'
  30.     MENUOPTION 'Backup (EXPORT)'
  31.     MENUOPTION 'Initialize Database'
  32.     MENUOPTION 'Quit'
  33.     MENUCHOICE choice
  34.     ENDMENU
  35.   CLEAR SCREEN
  36.   DROP VARIABLE LIKE 'exp?????'
  37.   DOCASE
  38.     CASE choice = 1
  39.       CREATE CURSOR 1 FOR personal
  40.       USE CURSOR 1
  41.       FORM HEADING '[ Expense Accounting ADD Data Records ]'
  42.       FORM SHOW TEXT
  43.       FORM SHOW FIELD ALL
  44.       SHOW MESSAGE 'F1 - Help   F2 - Options'
  45.       DOWHILE true
  46.         FORM READ FIELD ALL
  47.         DOCASE
  48.       CASE KEYPRESS() = 315
  49.         CREATE WINDOW 1 19 1 4 78 112 1 '[ ADD Help ]'
  50.         USE WINDOW 1
  51.         PAUSE
  52.         DROP WINDOW 1
  53.       CASE KEYPRESS() = 316
  54.         DOMENU
  55.           MENUTYPE VERT
  56.           MENUTITLE '[ ADD Options ]'
  57.           MENUOPTION 'Accept'
  58.           MENUOPTION 'Continue'
  59.           MENUOPTION 'Quit to Main Menu'
  60.           MENUCHOICE choice
  61.           ENDMENU
  62.         DOCASE
  63.           CASE choice = 1
  64.         FORM INSERT INTO expense
  65.         FORM CLEAR FIELD ALL
  66.           CASE choice = 2
  67.           CASE choice = 3
  68.         CLEAR MESSAGE
  69.         DROP FORM
  70.         DROP CURSOR 1
  71.         EXIT
  72.           ENDCASE    
  73.       OTHERWISE
  74.         SOUND
  75.           ENDCASE
  76.         ENDWHILE
  77.     CASE choice = 2
  78.       CREATE CURSOR 1 FOR personal
  79.       USE CURSOR 1
  80.       DOWHILE true
  81.     FORM HEADING '[ Expense Accounting SEARCH Data Records ]'
  82.     FORM SHOW TEXT
  83.     FORM SHOW FIELD ALL
  84.     SHOW MESSAGE 'Enter search criteria... F1 - Help   F2 - Options'
  85.     FORM READ FIELD ALL
  86.     CLEAR MESSAGE
  87.     DOCASE
  88.       CASE KEYPRESS() = 315
  89.         CREATE WINDOW 1 19 1 4 78 112 1 '[ SEARCH Help ]'
  90.         USE WINDOW 1
  91.         PAUSE
  92.         DROP WINDOW 1
  93.       CASE KEYPRESS() = 316
  94.         DOMENU
  95.           MENUTYPE VERT
  96.           MENUTITLE '[ SEARCH Options ]'
  97.           MENUOPTION 'Search'
  98.           MENUOPTION 'Continue'
  99.           MENUOPTION 'Quit to Main Menu'
  100.           MENUCHOICE choice
  101.           ENDMENU
  102.         DOCASE
  103.           CASE choice = 1
  104.         FORM SELECT FROM expense
  105.         DROP FORM
  106.         FORM HEADING '[ Expense Accounting EDIT Data Records ]'
  107.         FORM SHOW TEXT
  108.         SHOW MESSAGE 'Edit data... F1 - Help   F2 - Options'
  109.         DOWHILE true
  110.           FETCH
  111.           IF ISEOF()
  112.             FORM CLEAR FIELD ALL
  113.             DROP FORM
  114.             EXIT
  115.             ENDIF
  116.           FORM SHOW FIELD ALL
  117.           FORM READ FIELD ALL
  118.           DOCASE
  119.             CASE KEYPRESS() = 315
  120.               CREATE WINDOW 1 19 1 4 78 112 1 '[ EDIT Help ]'
  121.               USE WINDOW 1
  122.               PAUSE
  123.               DROP WINDOW 1
  124.             CASE KEYPRESS() = 316
  125.               DOMENU
  126.                 MENUTYPE VERT
  127.                 MENUTITLE '[ EDIT Options ]'
  128.                 MENUOPTION 'Next'
  129.                 MENUOPTION 'Return to SEARCH'
  130.                 MENUOPTION 'Update'
  131.                 MENUOPTION 'Delete'
  132.                 MENUCHOICE choice
  133.                 ENDMENU
  134.               DOCASE
  135.                 CASE choice = 1
  136.                 CASE choice = 2
  137.               FORM CLEAR FIELD ALL
  138.                   DROP FORM
  139.                   EXIT
  140.                 CASE choice = 3
  141.                   FORM UPDATE expense
  142.               FORM CLEAR FIELD ALL
  143.                   DROP FORM
  144.                   EXIT
  145.                 CASE choice = 4
  146.                   FORM DELETE FROM expense
  147.               FORM CLEAR FIELD ALL
  148.                   DROP FORM
  149.                   EXIT
  150.                 ENDCASE
  151.               ENDCASE
  152.           ENDWHILE
  153.           CASE choice = 2
  154.         DROP FORM
  155.           CASE choice = 3
  156.         CLEAR MESSAGE
  157.         DROP FORM
  158.         DROP CURSOR 1
  159.         EXIT
  160.           ENDCASE    
  161.       OTHERWISE
  162.         SOUND
  163.       ENDCASE
  164.     ENDWHILE
  165.     CASE choice = 3
  166.       CREATE CURSOR 1 FOR personal
  167.       USE CURSOR 1
  168.       CLEAR SCREEN
  169.       SELECT exptype,expdate,expamt,expdesc FROM expense;
  170.     ORDER BY expdate,exptype
  171.       DOREPORT
  172.     REPORT PAGE HEADING
  173.       PRINT SYSDATE SYSTIME ' Expenses in DATE Sequence' TAB 60 'Page ' SYSPAGE SKIP;
  174.         'Type   Date    $Amount Description'
  175.       END
  176.     REPORT PAGE DETAIL
  177.       PRINT TAB 3 exptype TAB 6 expdate PICTURE '^^/^^/^^' TAB 15 expamt PICTURE '^,^^^.^^' TAB 24 expdesc
  178.       ASSIGN exptot+expamt TO exptot
  179.       END
  180.     REPORT FINAL FOOTING
  181.       PRINT SKIP 'Total:' TAB 13 exptot PICTURE '$^^,^^^.^^'
  182.       END
  183.     ENDREPORT
  184.       DROP CURSOR 1
  185.       PAUSE 'All done ... Press a key to continue ...'
  186.       CLEAR SCREEN
  187.     CASE choice = 4
  188.       CREATE CURSOR 1 FOR personal
  189.       USE CURSOR 1
  190.       CLEAR SCREEN
  191.       SELECT exptype,expdate,expamt,expdesc FROM expense;
  192.     ORDER BY exptype,expdate
  193.       DOREPORT
  194.     REPORT PAGE HEADING
  195.       PRINT SYSDATE SYSTIME ' Expenses in TYPE Sequence' TAB 60 'Page ' SYSPAGE SKIP;
  196.         'Type   Date    $Amount Description'
  197.       END
  198.     REPORT FOOTING BREAK AT exptype
  199.       PRINT 'Subtotal:' TAB 13 expstot PICTURE '$^^,^^^.^^'
  200.       ASSIGN 0 to expstot
  201.       END
  202.     REPORT HEADING BREAK AT exptype
  203.       PRINT SKIP
  204.       END
  205.     REPORT PAGE DETAIL
  206.       PRINT TAB 3 exptype TAB 6 expdate PICTURE '^^/^^/^^' TAB 15 expamt PICTURE '^,^^^.^^' TAB 24 expdesc
  207.       ASSIGN exptot+expamt TO exptot
  208.       ASSIGN expstot+expamt TO expstot
  209.       END
  210.     REPORT FINAL FOOTING
  211.       PRINT SKIP 'Total:' TAB 13 exptot PICTURE '$^^,^^^.^^'
  212.       END
  213.     ENDREPORT
  214.       DROP CURSOR 1
  215.       PAUSE 'All done ... Press a key to continue ...'
  216.       CLEAR SCREEN
  217.     CASE choice = 5
  218.       CREATE CURSOR 1 FOR personal
  219.       USE CURSOR 1
  220.       CLEAR SCREEN
  221.       SELECT exptype,expamt FROM expense ORDER BY exptype
  222.       DOREPORT
  223.     REPORT PAGE HEADING
  224.       PRINT SYSDATE SYSTIME ' Expense Summary by TYPE' TAB 60 'Page ' SYSPAGE
  225.       END
  226.     REPORT FOOTING BREAK AT exptype
  227.       PRINT TAB 22 expstot PICTURE '$^^,^^^.^^'
  228.       ASSIGN 0 to expstot
  229.       END
  230.     REPORT HEADING BREAK AT exptype
  231.       PRINT SKIP 'Subtotal for type ' exptype SKIP 0
  232.       END
  233.     REPORT PAGE DETAIL
  234.       ASSIGN exptot+expamt TO exptot
  235.       ASSIGN expstot+expamt TO expstot
  236.       END
  237.     REPORT FINAL FOOTING
  238.       PRINT SKIP 'Total for all types: ' TAB 22 exptot PICTURE '$^^,^^^.^^'
  239.       END
  240.     ENDREPORT
  241.       DROP CURSOR 1
  242.       PAUSE 'All done ... Press a key to continue ...'
  243.       CLEAR SCREEN
  244.     CASE choice = 6
  245.       CREATE CURSOR 1 FOR personal
  246.       USE CURSOR 1
  247.       CLEAR SCREEN
  248.       PAUSE 'Insert backup discette into drive a ... press a key'
  249.       SHOW 'EXPORTing table expense to a:expense.dat'
  250.       SELECT exptype,expdate,expamt,expdesc FROM expense
  251.       EXPORT TO a:expense.dat
  252.       DROP CURSOR 1
  253.       CLEAR SCREEN
  254.     CASE choice = 7
  255.        IF ISYES("Are you sure?")
  256.          CLEAR SCREEN
  257.          SHOW 'Creating database PERSONAL'
  258.          CREATE DATABASE personal
  259.          SHOW 'Creating table EXPENSE'
  260.          CREATE CURSOR 1 FOR personal
  261.          USE CURSOR 1
  262.          CREATE TABLE expense;
  263.            (exptype CHAR(1),expdate CHAR(8),expamt NUMBER,expdesc CHAR(50))
  264.          DROP CURSOR 1
  265.          ENDIF
  266.       CLEAR SCREEN
  267.     CASE choice = 8
  268.       RETURN
  269.     ENDCASE
  270.   ENDWHILE
  271.