********************************************************
* RECALCULE LES REDUCTIONS FILLON SUR LES DETAILCALCUL *
*                                                      *
* 26/01/05                                    STEPHANE *
********************************************************

EXECUTE "SET-THOUS ."
EXECUTE "SET-DEC ,"
EXECUTE "DATE.FORMAT"
OPEN "","DETAILCALCUL" TO F.DETAILCALCUL ELSE STOP
OPEN "","ETABLISSEMENT" TO F.ETABLISSEMENT ELSE STOP

PRINT "PERIODE A RATTRAPER (AAAAMM)"
INPUT W_PERIODE

PRINT "ENTITE A TRAITER"
INPUT W_CODEENTITE

LISTEFILLON = ""

READ ENR_ETABLISSEMENT FROM F.ETABLISSEMENT,W_CODEENTITE:"001" ELSE 
	PRINT "ERREUR LECTURE ETABLISSEMENT ":W_CODEENTITE:"001"
	STOP
END

EXECUTE 'SELECT DETAILCALCUL AVEC PeriodeDetailCalcul = "':W_PERIODE:'" AND AVEC 8 = "904" AND AVEC CodAssoContratDetailCalcul = "':W_CODEENTITE:'"'
EXECUTE 'SAUVE-LISTE LISTEFILLON'
EXECUTE "LISTE LISTEFILLON" RETURNING W_MSG

SELECT F.DETAILCALCUL TO LISTEFILLON

W_FIN = 0
LOOP
	READNEXT CLE FROM LISTEFILLON ELSE W_FIN = 1
	UNTIL W_FIN = 1 DO


	READ ENR_DETAILCALCUL FROM F.DETAILCALCUL,CLE ELSE ENR_DETAILCALCUL = ""	

	I = 1
	LOOP
		UNTIL ENR_DETAILCALCUL<8,I> = "904" OR ENR_DETAILCALCUL<8,I> = "" DO
		I = I + 1
	REPEAT

	IF ENR_DETAILCALCUL<8,I> = "904" THEN
		W_SALSOUMIS = ENR_DETAILCALCUL<9,I>
		W_BASECALCUL = ENR_DETAILCALCUL<9,I>
	
		W_HRESPAYEES = ENR_DETAILCALCUL<6>
		W_HRESMALADIE = ENR_DETAILCALCUL<31>
		W_HRESTOTALE = W_HRESPAYEES + W_HRESMALADIE

		* CALCUL
		W_COEF = INT((0.26 / 0.6) * ((1.6 * (ENR_ETABLISSEMENT<31>/100) * W_HRESTOTALE / W_BASECALCUL) - 1)*1000)
		W_COEF = W_COEF / 1000

		W_REDUCTION = -INT((W_BASECALCUL * W_COEF)+1/2)
	
		IF W_COEF > 0 THEN
			ENR_DETAILCALCUL<14,I> = W_REDUCTION
			ENR_DETAILCALCUL<32> = W_COEF*1000
		END ELSE
			ENR_DETAILCALCUL<14,I> = 0
			ENR_DETAILCALCUL<32> = 0
		END
		WRITE ENR_DETAILCALCUL ON F.DETAILCALCUL,CLE
	END

REPEAT

