** THE PURPOSE OF THE PRG. IS TO CALCULATE INTEREST ON SAVINGS BANK A/C ** THE SPECIALITY IS TO FIND MINIMUM BALANCE ** THE FOLLOWING A/C DETAILS WILL BE HELPFUL TO UNDERSTAND THE SYSTEM OF ** FINDING MINIMUM BALANCE * A/C DATE DEBIT CREDIT BALANCE * 1 07/08/2004 2000.00 * 1 12/12/2004 1000.00 1000.00 * 1 09/01/2005 2000.00 3000.00 * 1 10/01/2005 5000.00 8000.00 * 1 25/01/2005 3000.00 5000.00 *MINIMUM BALANCE FOR AUG=2000;SEP=2000;OCT=2000;NOV=2000;DEC=1000; * JAN=5000. I.E. FROM 10TH TO LAST DATE MINIMUM BALANCE IS TO BE CONSEDERED. * ANY DEPOSIT(CREDIT) AFTER 10TH WILL BE IGNORED FOR THAT MONTH CLOSE ALL database clea MDATE=CTOD(" ") CMONTH=CTOD("MDATE") lnInt=0 @13,50 SAY "DATE:" FONT "ARIAL",12 COLO RB+ @13,63 GET MDATE FONT "ARIAL",12 COLO RB+ @16,38 SAY "ENTER ANY DATE OF THE MONTH" FONT "ARIAL",12 STYLE 'B' COLO GR+ @18,42 SAY "PRESS ENTER TO CONTINUE " FONT "ARIAL",12 COLO W+/B+ READ CLEA CP=0 W=SPACE(1) sele a use dep && MASTER TABLE sele B USE GH && FIELDS ARE MONTH;YEAR,ACNO,MIN_BAL; SELE C USE MBAL && ACNO UNIQUE SELE GH INDEX ON STR(YEAR)+MONTH TO SS GOTO TOP DO WHILE .NOT. EOF() IF MONTH=CMONTH(MDATE) .AND. YEAR=YEAR(MDATE) CP=1 ENDIF SKIP ENDDO SELE MBAL INDEX ON ACNO TO SRE sele GH index on acno to sst sele DEP index on date to ss STORE 0 TO lnB,lnMb,lnLb,lnAc_no,lnK,lnP,lnS a=0 MM=SPACE(2) AAAA=0 SELE mbal GOTO TOP DO WHILE .NOT. EOF() SELE mbal AAAA=ACNO SELE A lnB=0 lnMb=0 lnLb=0 lnAc_no=AAAA goto top do while .not. eof() if month(date)<month(Mdate) AND lnAc_no=acno AND year(Mdate)=year(date) lnLb=balance ENDIF skip enddo if lnLlb=0 goto bottom do while .not. bof() if a=acno AND year(Mdate)>year(date) and lnLb=0 and month(date)<month(Mdate)+12 lnLb=balance endif skip -1 enddo endif ********* goto bottom do while .not. bof() if lnAc_no=acno and MONTH(date)=MONTH(Mdate) and day(date)<=10 and year(Mdate)=year(date) lnB=balance exit do endif skip -1 enddo **** if lnB<=0 lnS=lnLb else lnS=lnB endif if lnB=>0 OR lnLb>0 goto top do while .not. eof() if lnAc_no=acno and MONTH(date)=MONTH(Mdate) and day(date)>10 and year(Mdate)=year(date) and lnS>balance lnB=balance exit do endif skip enddo goto top do while .not. eof() if lnAc_no=acno .and. MONTH(date)=MONTH(Mdate) .and. day(date)>10 .and. year(Mdate)=year(date) .and. lnB>balance lnMb=balance lnB=lnMb else lnMb=lnB endif skip enddo sele b if lnMb=0 if lnLb>0 INSERT INTO GH(DATE,MONTH,ACNO,MINBAL,YEAR); VALUES(MDATE,CMONTH(MDATE),A,LB,YEAR(MDATE)) else if lnMb>0 INSERT INTO GH(DATE,MONTH,ACNO,MINBAL,YEAR); VALUES(MDATE,CMONTH(MDATE),A,LB,YEAR(MDATE)) ENDIF ********** ENTERED BY ME **************** ENDIF ENDIF sele dep K=K+1 IF K=P EXIT FOR ENDIF ENDIF SELE mbal SKIP ENDDO CLOSE ALLthanks