home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #31 / NN_1992_31.iso / spool / comp / database / 8744 < prev    next >
Encoding:
Text File  |  1992-12-31  |  2.3 KB  |  87 lines

  1. Newsgroups: comp.databases
  2. Path: sparky!uunet!almserv!mimas!g9utxu
  3. From: g9utxu@fnma.COM (Tanin Uthayanaka)
  4. Subject: Debug Clipper
  5. Message-ID: <1992Dec31.171140.1262@almserv.uucp>
  6. Sender: usenet@almserv.uucp
  7. Nntp-Posting-Host: mimas
  8. Reply-To: g9utxu@fnma.COM
  9. Organization: Fannie Mae
  10. Date: Thu, 31 Dec 1992 17:11:40 GMT
  11. Lines: 74
  12.  
  13. There is a bug in this program. Let's see if anyone can find it
  14.  
  15. RATE.DBF        Record  RATE    START_DATE      END_DATE        STATUS
  16.                 1       15000   07/01/91        06/30/92        Covered
  17.                 2       20000   07/01/92        06/30/93        Covered
  18.  
  19. dStart = 01/01/92
  20. dEnd   = 12/31/93
  21.  
  22. RESULTS: 01/01/92 - 06/30/92 Covered
  23.          07/01/92 - 06/30/93 Covered
  24.          07/01/93 - 12/31/93 Uncovered
  25.  
  26. **NOTE: The program did not assume that between 01/01/92 and 06/30/93 the statuses are 
  27.         both "Covered" because one record could have been "Provisional"
  28.  
  29. The program is listed below
  30.  
  31. CLEAR
  32. dStart:=dEnd:=CTOD("  /  /  ")
  33. @ 3,5 SAY "Starting Date: " GET dStart PICTURE "99/99/99"
  34. @ 4,5 SAY "  Ending Date: " GET dEnd PICTURE "99/99/99"
  35. READ
  36.  
  37. @ 10,10 SAY "Subcontract Period: "+DTOC(dStart)+" - "+DTOC(dEnd)
  38. @ 11,0  SAY ""
  39. USE RATE
  40. INDEX ON START_DATE TO START
  41. SET SOFTSEEK ON
  42. SEEK dStart
  43. IF ! EOF()
  44.    SKIP -1
  45.    IF RATE->END_DATE >= dStart
  46.       @ ROW()+1,15 SAY DTOC(dStart)+" - "+DTOC(RATE->END_DATE)
  47.       @ ROW(),  40 SAY RATE->STATUS
  48.    ENDIF
  49.    SKIP +1
  50.    DO WHILE RATE->START_DATE >= dStart
  51.       IF RATE->END_DATE <= dEnd
  52.          @ ROW()+1,15 SAY DTOC(RATE->START_DATE)+" - "+DTOC(RATE->END_DATE)
  53.          @ ROW(),  40 SAY RATE->STATUS
  54.       ELSE
  55.          @ ROW()+1,15 SAY DTOC(RATE->END_DATE+1)+" - "+DTOC(dEnd)
  56.          @ ROW(),  40 SAY "Uncovered"
  57.          EXIT
  58.       ENDIF
  59.       SKIP +1
  60.       IF EOF()
  61.          SKIP -1
  62.          @ ROW()+1,15 SAY DTOC(RATE->END_DATE+1)+" - "+DTOC(dEnd)
  63.          @ ROW(),  40 SAY "Uncovered"
  64.          EXIT
  65.       ENDIF
  66.    ENDDO
  67. ELSE
  68.    SKIP -1
  69.    IF RATE->END_DATE >= dStart
  70.       @ ROW()+1,15 SAY DTOC(dStart)+" - "+DTOC(RATE->END_DATE)
  71.       @ ROW(),  40 SAY RATE->STATUS
  72.       @ ROW()+1,15 SAY DTOC(RATE->END_DATE+1)+" - "+DTOC(dEnd)
  73.       @ ROW(),  40 SAY "Uncovered"
  74.    ELSE
  75.       @ ROW()+1,15 SAY DTOC(dStart)+" - "+DTOC(dEnd)
  76.       @ ROW(),  40 SAY "Uncovered"
  77.    ENDIF
  78. ENDIF
  79. SET SOFTSEEK OFF
  80. SET INDEX TO
  81. USE
  82.  
  83.  
  84.  
  85.  
  86.  
  87.