EXECUTE "SET-THOUS ."
EXECUTE "SET-DEC ,"
EXECUTE "DATE.FORMAT"
OPEN "", "DETAILCALCUL" TO F.DETAILCALCUL ELSE STOP
OPEN "", "HISTORCUMUL" TO F.HISTORCUMUL ELSE STOP
OPEN "", "RUBCHARGE" TO F.RUBCHARGE ELSE STOP
OPEN "", "ASSOCIATION" TO F.ASSOCIATION ELSE STOP
OPEN "", "CONVENTIONCOL" TO F.CONVENTIONCOL ELSE STOP
OPEN "", "CIVILAIDANT" TO F.CIVILAIDANT ELSE STOP
OPEN "", "CONSTANTESPAIE" TO F.CONSTANTESPAIE ELSE STOP
OPEN "", "CONTRAT" TO F.CONTRAT ELSE STOP
OPEN "", "CONTRATBIS" TO F.CONTRATBIS THEN
	EXECUTE 'VIDER-FICHIER CONTRATBIS'
END ELSE
	EXECUTE 'CREER-FICHIER CONTRATBIS 7,1'
	OPEN "", "CONTRATBIS" TO F.CONTRATBIS ELSE STOP
END

W_MoisDeb = "200101"
W_MoisFin = "200112"
W_CodeAsso = "001"
W_MoisCause = "200104"

W_Ok = "V"
LOOP WHILE W_Ok = "F"
PRINT "Entrez le mois de debut de l'anne de dclaration (AAAAMM)"
INPUT W_MoisDeb
IF W_MoisDeb MATCHES "6N" THEN
	W_Ok = "V"
END
REPEAT

W_Ok = "V"
LOOP WHILE W_Ok = "F"
PRINT "Entrez le mois de fin de l'anne de dclaration (AAAAMM)"
INPUT W_MoisFin
IF W_MoisFin MATCHES "6N" THEN
	*IF W_MoisFin - W_MoisDeb = 11 OR W_MoisFin - W_MoisDeb = 99 THEN
		W_Ok = "V"
	*END
END
REPEAT

W_Ok = "V"
LOOP WHILE W_Ok = "F"
PRINT "Saisissez l'entit de la dclaration"
INPUT W_CodeAsso
READ ENR_ASSO FROM F.ASSOCIATION, W_CodeAsso THEN
	W_Ok = "V"
END ELSE
	PRINT "Cette association n'existe pas !"
END
REPEAT

*W_Ok = "F"
*LOOP WHILE W_Ok = "F"
*PRINT "Saisissez le code de l'aidant  vrifier"
*INPUT W_CodeAidant
*READ ENR_CIVILAIDANT FROM F.CIVILAIDANT, W_CodeAidant THEN
*	W_Ok = "V"
*END ELSE
*	PRINT "Cette rubrique n'existe pas !"
*END
*REPEAT

W_DateFinPer = ICONV("01/":W_MoisFin[5,2]:"/":W_MoisFin[1,4],"D4/")

W_Str =  'SELECT DETAILCALCUL AVEC CodAssoContratDetailCalcul = "':W_CodeAsso:'" AND AVEC ConvColContratDetailCalcul # "02" AND AVEC PeriodeDetailCalcul >= "':W_MoisDeb:'" AND AVEC PeriodeDetailCalcul <= "':W_MoisFin:'" PAR CodeAidantDetailCalcul PAR CodeAideDetailCalcul PAR PeriodeDetailCalcul'

EXECUTE W_Str
*PRINTER ON
W_TamponAidant = ""
W_CumulBrut = 0
W_NbAidants = 0
W_NbAidantsMod = 0
W_BrutAvr  = 0
W_CleCont = ""
W_IndCont = 1
READ ENR_CONSTANTESPAIE FROM F.CONSTANTESPAIE,"1" ELSE ENR_CONSTANTESPAIE<9>= "0"
W_TabCumulBull = ""

*PRINTER ON

IF W_DateFinPer >= ENR_CONSTANTESPAIE<9> THEN
	W_Conv = "F"
END ELSE
	W_Conv = "V"
END
W_TamponAide = ""
W_Fin = "F"
LOOP
	READNEXT W_Cle ELSE W_Fin = "V"
WHILE W_Fin = "F"
	READ ENR_CONTRAT FROM F.CONTRAT, W_Cle[1,8] ELSE ENR_CONTRAT = ""
	IF ENR_CONTRAT<3> # W_TamponAide OR W_Cle[1,5] # W_TamponAidant THEN
		IF W_TamponAide # "" THEN
			READ ENR_CIVILAIDANT FROM F.CIVILAIDANT, W_TamponAidant THEN
			GOSUB 400
			END
		END
		W_TamponAidant = W_Cle[1,5]
		W_TamponAide = ENR_CONTRAT<3>
	END
	READ ENR_DETAILCALCUL FROM F.DETAILCALCUL, W_Cle ELSE ENR_DETAILCALCUL = ""
		W_DateBull = ICONV("01/":W_Cle[13,2]:"/":W_Cle[9,4],"D4/")
		IF W_DateBull >= ENR_CONSTANTESPAIE<9> AND W_Conv = "F" THEN
				*FOR i = 1 TO 999
				*	W_TabCumulBull<i> = INT(W_TabCumulBull<i> / 6.55957 + 1/2)
				*NEXT i 
			W_CumulBrut = INT(W_CumulBrut / 6.55957 + 1/2)
			W_Conv = "V"
		END
		*i = 0
		*LOOP
		*	i = i + 1
		*WHILE ENR_DETAILCALCUL<8,i> # ""
							
		*		W_TabCumulBull<INT(ENR_DETAILCALCUL<8,i>)>= W_TabCumulBull<INT(ENR_DETAILCALCUL<8,i>)> + ENR_DETAILCALCUL<9,i>	
				
		*REPEAT
		IF W_Cle[9,6] = W_MoisCause THEN
			W_BrutAvr = W_BrutAvr + INT(ENR_DETAILCALCUL<7>/6.55957 + 1/2)
			W_CleCont<W_IndCont> = W_Cle[1,8]
			W_IndCont = W_IndCont + 1
		END
	W_CumulBrut = W_CumulBrut + ENR_DETAILCALCUL<7>
REPEAT

GOSUB 400

PRINT 	W_NbAidants:" parcourus, ":W_NbAidantsMod:" prsentaient une anomalie "


STOP

100
* Impression de la rubrique
*READ ENR_RUB FROM F.RUBCHARGE, ENR_HISTORCUMUL<15,i> ELSE ENR_RUB = ""
W_Diff = W_CumulBrut - ENR_HISTORCUMUL<5>
IF W_Diff > 1 OR W_Diff < -1 THEN
W_NbAidantsMod = W_NbAidantsMod + 1
IF (W_Diff - W_BrutAvr)< 1.1 AND (W_Diff - W_BrutAvr) > -1.1 THEN
	GOSUB 1000
END
PRINT W_TamponAidant:" ":ENR_CIVILAIDANT<4>:" ":ENR_CIVILAIDANT<2>:" ":ENR_CIVILAIDANT<3>:" ":W_TamponAide
PRINT "    Declar : ":ENR_HISTORCUMUL<5>/100"R2 8":" Cumul : ":W_CumulBrut/100"R2 8":" Diffrence : ":W_Diff/100"R2 8":" Brut ":W_LibMois:" : ":W_BrutAvr/100"R2 8"
*W_TabCumulBull<INT(ENR_HISTORCUMUL<15,i>)>=0
END
RETURN

200
* Pas de DADS
IF W_CumulBrut > 1 OR W_CumulBrut < -1 THEN
	W_NbAidantsMod = W_NbAidantsMod + 1
	PRINT W_TamponAidant:" ":ENR_CIVILAIDANT<4>:" ":ENR_CIVILAIDANT<2>:" ":ENR_CIVILAIDANT<3>:" ":W_TamponAide
	PRINT "Cet aidant n'a pas de DADS ! Cumul des bruts : ":W_CumulBrut/100"R2 8":" Brut ":W_LibMois:" : ":W_BrutAvr/100"R2 8"
	W_Diff = W_CumulBrut - W_BrutAvr
	IF (W_Diff)< 1.1 AND (W_Diff) > -1.1 THEN
		GOSUB 1000
	END
END
RETURN
*300
** Impression de la rubrique
*W_CodeRub = i"R%3"
*READ ENR_RUB FROM F.RUBCHARGE, W_CodeRub ELSE ENR_RUB = ""
*PRINT W_CodeRub:" ":ENR_RUB<1>"L 50":"    Declar :      0,00":" Cumul : ":W_TabCumulBull<i>/100"R2 8"
*W_TabCumulBull<i>=0
*RETURN


***************************************
* Total Aide
******************************************			
400


IF W_Conv = "F" THEN
	*FOR i = 1 TO 999
	*	W_TabCumulBull<i> = INT(W_TabCumulBull<i> / 6.55957 + 1/2)

	*NEXT i 
	W_CumulBrut = INT(W_CumulBrut / 6.55957 + 1/2)
	W_Conv = "V"
END

				
W_NbAidants = W_NbAidants + 1
READ ENR_HISTORCUMUL FROM F.HISTORCUMUL, W_TamponAidant[1,5]:W_MoisFin[1,4]:W_TamponAide[1,3] THEN

	
	IF W_CumulBrut # ENR_HISTORCUMUL<5> THEN	
		
		GOSUB 100
		
	END
		
	
END ELSE
	ENR_HISTORCUMUL = ""
	GOSUB 200
END
W_CumulBrut = 0
W_BrutAvr  = 0
W_CleCont = ""
W_IndCont = 1
IF W_DateFinPer >= ENR_CONSTANTESPAIE<9> THEN
	W_Conv = "F"
END ELSE
	W_Conv = "V"
END

IF W_TabCumulBull # "" THEN
	*FOR i = 1 TO 999
	*	IF INT(W_TabCumulBull<i>) # 0 THEN
	*	GOSUB 300
	*	END
	*NEXT i
END

RETURN

********************************************************
* CREATION CONTRATBIS
********************************************************
1000
d = 0
LOOP
	d = d + 1
WHILE W_CleCont<d> # ""
	READ ENR_CONTRAT2 FROM F.CONTRAT, W_CleCont<d> THEN
	READ ENR_DET2 FROM F.DETAILCALCUL, W_CleCont<d>:W_MoisCause THEN
		ENR_CONTRAT2<81> = "200104"
		ENR_CONTRAT2<63> = "200103"
		*WRITE ENR_CONTRAT2 ON F.CONTRATBIS, W_CleCont<d>
	END
	END
REPEAT
W_CleCont = ""
W_IndCont = 1
RETURN

****************************
* Libelle du mois en cause *
****************************
2000
W_LibMois=""
BEGIN CASE
	CASE W_MoisCause[5,2] MATCHES "01"
		W_LibMois = "janvier"
	CASE W_MoisCause[5,2] MATCHES "02"
		W_LibMois = "fevrier"
	CASE W_MoisCause[5,2] MATCHES "03"
		W_LibMois = "mars"
	CASE W_MoisCause[5,2] MATCHES "04"
		W_LibMois = "avril"
	CASE W_MoisCause[5,2] MATCHES "05"
		W_LibMois = "mai"
	CASE W_MoisCause[5,2] MATCHES "06"
		W_LibMois = "juin"
	CASE W_MoisCause[5,2] MATCHES "07"
		W_LibMois = "juillet"
	CASE W_MoisCause[5,2] MATCHES "08"
		W_LibMois = "aout"
	CASE W_MoisCause[5,2] MATCHES "09"
		W_LibMois = "septembre"
	CASE W_MoisCause[5,2] MATCHES "10"
		W_LibMois = "octobre"
	CASE W_MoisCause[5,2] MATCHES "11"
		W_LibMois = "novembre"
	CASE W_MoisCause[5,2] MATCHES "12"
		W_LibMois = "decembre"
END CASE
RETURN

