home *** CD-ROM | disk | FTP | other *** search
/ Software Du Jour / SoftwareDuJour.iso / BUSINESS / DBASE / DB3.ARC / TIMECALC.PRG < prev    next >
Text File  |  1984-10-25  |  5KB  |  143 lines

  1.      **********  Timecalc COMMAND FILE **********
  2. * Verifies that employee name and number match, then
  3. * calculates billing charges for employee time.
  4. ********************************************************
  5. *
  6. RESTORE FROM Konstant ADDI
  7. CLEAR
  8. *
  9. *
  10. SELECT 2
  11. DO WHILE .NOT. EOF()
  12.    CLEAR
  13.    @  4,20 SAY '     ** DO NOT INTERRUPT **       '
  14.    @  5,20 SAY '     PROCESSING TIME CHARGES      '
  15.    *
  16.    * A job number of 31 means that the entry in the Postfile is a salary
  17.    * salary payment, not an entry for time worked on a client job, so we
  18.    * skip it.  We also skip deleted records.  The only valid entries for
  19.    * employee time sheets have '---' entered as the check number by our
  20.    * Costtime command file.
  21.    *
  22.    IF DELETED() .OR. Job_Nmbr = 31 .OR. Check_Nmbr <> '---'
  23.       SKIP
  24.    ELSE
  25.       * We first check to see that some time has been entered against a job.
  26.       * If not, the operator can correct the entry or delete the record.
  27.       REPLACE Client WITH UPPER(Client),Name WITH UPPER(Name)
  28.       Number = STR(RECNO(),4)
  29.       @  7,20 SAY '         Record # '+Number
  30.       @  8,20 SAY '         '+Name
  31.       ?
  32.       IF Hours <= 0 
  33.          CLEAR
  34.          REPLACE Hours WITH Hours*1.00
  35.          @ 4,0
  36.          DISPLAY
  37.          @ 6,16 SAY 'HOURS='
  38.          ?
  39.          ? 'Press &F6 to delete the record,'
  40.          ? 'any other key to correct the HOURS.'
  41.          WAIT ' ' TO Choice
  42.          IF UPPER(Choice) = 'D'
  43.             CLEAR
  44.             DELETE
  45.             DISPLAY
  46.             ?
  47.             ? 'THIS RECORD HAS BEEN DELETED.'
  48.             WAIT
  49.          ELSE
  50.             @ 6,22 GET Hours
  51.             READ
  52.          ENDIF
  53.       ELSE
  54.          SELECT 5
  55.          GO TOP
  56.          Looking = .T.
  57.          DO WHILE Looking .AND. .NOT. EOF()
  58.             Names = Name = SUBSTR(B->Name,1,10)
  59.             Numbers = (Emp_Nmbr = B->Emp_Nmbr)
  60.             DO CASE
  61.                CASE .NOT. Names .AND. .NOT. Numbers
  62.                   SKIP
  63.                CASE Names .AND. .NOT. Numbers
  64.                   SELECT 2
  65.                   CLEAR
  66.                   @ 4,0
  67.                   DISPLAY
  68.                   @ 6,33 SAY '=EMPLOYEE NUMBER'
  69.                   @ 8,0
  70.                   ? TRIM(E->Name)
  71.                   ?? ' is Employee Number '
  72.                   ?? E->Emp_Nmbr
  73.                   ?
  74.                   ? 'Press ANY KEY to change the EMPLOYEE NUMBER'
  75.                   ? 'or press &F6 to DELETE the entry.'
  76.                   WAIT ' ' TO Choice
  77.                   IF UPPER(Choice) <> 'D'
  78.                      REPLACE Emp_Nmbr WITH E->Emp_Nmbr
  79.                      SELECT 5
  80.                      GO TOP
  81.                   ELSE
  82.                      DELETE
  83.                      Looking = .F.
  84.                   ENDIF Employee number
  85.                   CLEAR
  86.                CASE Numbers .AND. .NOT. Names
  87.                   SELECT 2
  88.                   CLEAR
  89.                   @ 4,0
  90.                   DISPLAY
  91.                   @ 6,33 SAY '=EMPLOYEE NUMBER'
  92.                   ?
  93.                   ? TRIM(E->Name)
  94.                   ?? ' is Employee Number '
  95.                   ?? E->Emp_Nmbr
  96.                   ?
  97.                   ? 'Press ANY KEY to change the NAME'
  98.                   ? 'or press &F6 to DELETE the entry.'
  99.                   WAIT ' ' TO Choice
  100.                   IF UPPER(Choice) <> 'D'
  101.                      REPLACE Emp_Nmbr WITH E->Emp_Nmbr
  102.                      SELECT 5
  103.                      GO TOP
  104.                   ELSE
  105.                      DELETE
  106.                      Looking = .F.
  107.                   ENDIF Employee number
  108.                   CLEAR
  109.                CASE Names .AND. Numbers
  110.                   SELECT 2
  111.                   REPLACE Amount WITH E->Pay_Rate*2.6*Hours/65
  112.                   SELECT 5
  113.                   Looking = .F.
  114.             ENDCASE
  115.             *
  116.             IF EOF()
  117.                CLEAR
  118.                SELECT 2
  119.                @ 4,0
  120.                DISPLAY
  121.                ? 'This name is not listed in the Personnel file,'
  122.                ? 'so time charges were not calculated.'
  123.                ? 'Press any key to edit the entry,'
  124.                ? 'or press &F6 to DELETE.'
  125.                WAIT ' ' TO Change
  126.                IF UPPER(Change)<> 'D'
  127.                   EDIT
  128.                   REPLACE Name WITH UPPER(Name)
  129.                   SKIP -1
  130.                ELSE
  131.                   DELETE
  132.                ENDIF Change
  133.                SELECT 5
  134.             ENDIF no name
  135.          ENDDO Looking
  136.          SELECT 2
  137.          SKIP
  138.       ENDIF
  139.    ENDIF deleted
  140. ENDDO billing calculations
  141. *
  142. RETURN
  143.