local cond,c,t,i,a,m.amortlun
cond='month(datapif)=val(m.nl) and year(datapif)=val(m.an) and uzuraprec=0'
sele mf
scan
do case
	case UPPER(left(tipamort,1))='L'&&LINIARA
		repl amortlun with IIF(UZURA>NORMAT or &cond ,0,iif(uzura=normat,valoare-AMORTprec,ROUND((valoare-AMORTprec)/(normat-UZURA+1),0)))
		repl amortan with amortlun*12
	case UPPER(left(tipamort,1))='A'&&ACCELERATA
		IF (P>0 AND P<=0.5) AND UZURA<=12
			repl amortlun with IIF(UZURA>NORMAT or &cond ,0,iif(uzura=normat,valoare-AMORTprec,ROUND(valoare*P/12,0)))
		ELSE
			repl amortlun with IIF(UZURA>NORMAT or &cond ,0,iif(uzura=normat,valoare-AMORTprec,ROUND((valoare*(1-p))/(normat-12),0)))
		ENDIF
		repl amortan with amortlun*12
	case UPPER(left(tipamort,1))='D'&&DEGRESIVA
		if mod(uzura,12)=1
			c=12*k/normat
			repl amortan with iif(uzura>normat,0,round((valoare-amortprec)*c,0))
		    if amortan<12*valoare/normat
				repl amortan with iif(uzura>normat,0,(valoare-amortprec)/(normat/12-round(uzura/12,0)))
		    endif
		endif
		
		REPL AMORTLUN WITH IIF(UZURA>NORMAT or &cond ,0,iif(uzura=normat,valoare-AMORTprec,round(amortan/12,0)))
ENDCASE	
repl amorttot with amortprec+amortlun
endscan