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

EXECUTE 'SELECT DETAILCALCUL AVEC @ID = "[200204" AND AVEC CodAssoContratDetailCalcul = "002" PAR CodEtabContrat PAR NomAideDetailCalcul'

EXECUTE 'COMO ON Verif117.txt'
W_Fin = "F"
W_MtntAide = 0
W_TamponAide = ""
W_MtntCorrige = 0
W_CumulErr = 0
W_Cumul117 = 0
W_Cumul51 = 0
LOOP
	READNEXT W_Cle ELSE W_Fin = "V"
WHILE W_Fin = "F"
	READ ENR_CONTRAT FROM F.CONTRAT, W_Cle[1,8] THEN
	    IF ENR_CONTRAT<3> # W_TamponAide THEN
			IF W_TamponAide # "" AND W_MtntAide # 0 THEN
				GOSUB 100
			END
			W_TamponAide = ENR_CONTRAT<3>
			W_MtntCorrige = W_MtntCorrige + W_MtntAide
			W_MtntAide = 0
	    END
	    READ ENR_DETAILCALCUL FROM F.DETAILCALCUL, W_Cle THEN
		i = 0
		W_ValeurUn = ""
		W_TrouveUn = "F"
		LOOP
		   i = i + 1
		WHILE ENR_DETAILCALCUL<8,i> # ""
		   IF ENR_DETAILCALCUL<8,i> = "117" THEN			
			IF W_TrouveUn = "F" THEN
				W_ValeurUn = ENR_DETAILCALCUL<14,i>
				W_TrouveUn = "V"			
			END ELSE
				IF W_ValeurUn = ENR_DETAILCALCUL<14,i> THEN
					W_MtntAide = W_MtntAide + W_ValeurUn					
					W_ValeurUn = ""
				END ELSE
					PRINT "Bulletin ":W_Cle:", aide ":W_TamponAide:" : 2 fois la rubrique avec des montants diffrents..."
				END
			END
		   END
		REPEAT
		IF W_TrouveUn = "V" THEN
			IF W_ValeurUn # "" THEN
				PRINT " "
				PRINT "Bulletin ":W_Cle:", aide ":W_TamponAide:" : Une seule fois la rubrique..."
				IF ENR_CONTRAT<29> # "04" THEN
					READ ENR_CIVILAIDANT FROM F.CIVILAIDANT, W_Cle[1,5] ELSE ENR_CIVILAIDANT = ""
					PRINT "Aidant ":W_Cle[1,5]:" ":ENR_CIVILAIDANT<2>:" ":ENR_CIVILAIDANT<3>:", contrat ":W_Cle[6,3]:" : pas li au contrat prvoyance.."
					W_CumulErr = W_CumulErr + W_ValeurUn
				END ELSE
					PRINT "Valeur rub 117 : ":W_ValeurUn/100
				END
				PRINT " "
			END
		END ELSE
			IF INDEX(ENR_DETAILCALCUL<8>,"051",1) # 0 THEN
				PRINT "Bulletin ":W_Cle:" : Pas de rub 117, mais une rub 051..."
			END
		END
	    END
	END
REPEAT

IF W_MtntAide # 0 THEN
	GOSUB 100
END

W_MtntCorrige = W_MtntCorrige + W_MtntAide

PRINT "Total de ":W_MtntCorrige/100:" euros appells en trop sur les bulletins..."
PRINT W_CumulErr/100:" appells sur des contrats sans prvoyance..."
EXECUTE 'COMO OFF'

STOP

100
****************************************
* Ecriture ComplFact
****************************************
READ ENR_COMPLFACT FROM F.COMPLFACT, W_TamponAide:"002M" ELSE ENR_COMPLFACT = ""
IF ENR_COMPLFACT<1> = "" THEN
	* 1 seule MV ou vide, mais il faut insrer la 2eme...
	i = 0
END ELSE
	i = DCOUNT(ENR_COMPLFACT<1>, CHAR(253))
END
ENR_COMPLFACT<1,i+1> = "AVOIR IRCEM AVR 02"
ENR_COMPLFACT<2,i+1> = "-100"
ENR_COMPLFACT<3,i+1> = W_MtntAide
ENR_COMPLFACT<4,i+1> = -1*W_MtntAide
* Code comptable
ENR_COMPLFACT<5,i+1> =  "4386200000"            
* Code section analytique
ENR_COMPLFACT<6,i+1> = ""
ENR_COMPLFACT<7,i+1> = "0"
ENR_COMPLFACT<8,i+1> = ""
WRITE ENR_COMPLFACT ON F.COMPLFACT, W_TamponAide:"002M"
RETURN


