EXECUTE "SET-THOUS ."
EXECUTE "SET-DEC ,"
EXECUTE "DATE.FORMAT"
OPEN "", "CONTRAT" TO F.CONTRAT ELSE STOP
OPEN "", "CONTRATANC" TO F.CONTRATANC ELSE STOP
OPEN "", "FACTURAIDE" TO F.FACTURAIDE ELSE STOP
OPEN "", "CIVILAIDE" TO F.CIVILAIDE ELSE STOP

GOSUB 200
W_FinFact = ""
W_CodeAideFact = 99999
EXECUTE 'SELECT CONTRAT AVEC 8 >= "12540" OR = "" AND AVEC 1 = "02" AND AVEC 65 # "O" PAR-DECR 3'
EXECUTE 'SAUVE-LISTE W_Contrats'
EXECUTE 'LISTE W_Contrats' RETURNING MSGCODE

a = 0
b = 0
c = 0
W_Total85 = 0
W_Total86 = 0
W_TotalAnc85 = 0
W_TotalAnc86 = 0
W_DiffGene = 0
W_AideTraite = "V"
IF MSGCODE<1> # "209" THEN

	SELECT F.CONTRAT TO W_Contrats

	EXECUTE 'COMO ON VerifProv.txt'

	W_TamponAide  = ""
	W_Fin = "F"
	LOOP
		READNEXT W_Cle FROM W_Contrats ELSE W_Fin = "O"
	WHILE W_Fin = "F"
		
		READ ENR_CONTRAT FROM F.CONTRAT, W_Cle THEN

		   IF ENR_CONTRAT<3> # W_TamponAide THEN

			IF W_TamponAide # "" THEN
				
				GOSUB 100

				W_Total85 = W_Total85 + W_Cumul85
				W_Total86 = W_Total86 + W_Cumul86
				W_TotalAnc85 = W_TotalAnc85 + W_CumulAnc85
				W_TotalAnc86 = W_TotalAnc86 + W_CumulAnc86
			
			END

			W_TamponAide = ENR_CONTRAT<3>
			
			W_Cumul85 = 0
			W_Cumul86 = 0
			W_CumulAnc85 = 0
			W_CumulAnc86 = 0

		   END

		   W_Cumul85 = W_Cumul85 + ENR_CONTRAT<85>
		   W_Cumul86 = W_Cumul86 + ENR_CONTRAT<86>

		END

		READ ENR_CONTRATANC FROM F.CONTRATANC, W_Cle THEN

		   W_CumulAnc85 = W_CumulAnc85 + ENR_CONTRATANC<85>
		   W_CumulAnc86 = W_CumulAnc86 + ENR_CONTRATANC<86>

		END



	REPEAT

	PRINT "Dernier aide ":W_TamponAide
	GOSUB 100

	W_Total85 = W_Total85 + W_Cumul85
	W_Total86 = W_Total86 + W_Cumul86
	W_TotalAnc85 = W_TotalAnc85 + W_CumulAnc85
	W_TotalAnc86 = W_TotalAnc86 + W_CumulAnc86

	GOSUB 500

	PRINT " "
	PRINT " *********** Bilan ***********************************"
	PRINT " "
	PRINT a:" cas prsentant des diffrences."
	PRINT b:" factures parcourues."
	PRINT " "
	PRINT "Difference totale : ":W_DiffGene/100"R2"
	PRINT " "
	PRINT " Total des provisions a consommer en mai             : ":W_TotalAnc85/100"R2"
	PRINT " Total des provisions en cours d'acquisition en mai  : ":W_TotalAnc86/100"R2"
	PRINT " "
	PRINT " Total des provisions a consommer en juin            : ":W_Total85/100"R2"
	PRINT " Total des provisions en cours d'acquisition en juin : ":W_Total86/100"R2"
	PRINT " "
	PRINT " Total des provisions appelles sur fact. mai : ":W_TotalProv/100"R2"
	PRINT " Total des reprises appelles sur fact. mai    : ":W_TotalRepr/100"R2"
	PRINT " "
	PRINT c:" cas en tout ou la provision a consommer d'avril = reprise sur facture mai"
	EXECUTE 'COMO OFF'

END
STOP

100


IF W_CodeAideFact = W_TamponAide THEN
	GOSUB 600
	W_AideTraite = "V"
END ELSE
	IF W_CodeAideFact > INT(W_TamponAide) THEN
		GOSUB 500
		IF W_CodeAideFact = W_TamponAide THEN
			GOSUB 600
			W_AideTraite = "V"
		END ELSE
			W_Prov = 0
			W_Repr = 0
			W_LibCleFact = "Aucune"		
			W_Total = W_CumulAnc86 + W_CumulAnc85 + W_Prov + W_Repr - W_Cumul86
			IF W_Total # W_Cumul85 THEN
				W_LibCleFact = W_CleFact	
				GOSUB 300
			END  
			
		END
	END ELSE
		
		W_Prov = 0
		W_Repr = 0
		W_LibCleFact = "Aucune"		
		W_Total = W_CumulAnc86 + W_CumulAnc85 + W_Prov + W_Repr - W_Cumul86
		IF W_Total # W_Cumul85 THEN
			W_LibCleFact = W_CleFact	
			GOSUB 300
		END  
	END
END

RETURN


200
EXECUTE 'SELECT FACTURAIDE = "[001M200205]" PAR-DECR @ID'
EXECUTE 'SAUVE-LISTE W_Factures'
EXECUTE 'LISTE W_Factures' RETURNING MSGCODE
IF MSGCODE<1> # "209" THEN
	SELECT F.FACTURAIDE TO W_Factures
END
RETURN


300
PRINT " "
PRINT " "
PRINT " "

READ ENR_CIVILAIDE FROM F.CIVILAIDE, W_TamponAide THEN
	PRINT "Aide : ":W_TamponAide:" - ":ENR_CIVILAIDE<2>:" ":ENR_CIVILAIDE<3>
END

PRINT "Provision a cons. apres juin  : ":W_Cumul85/100
PRINT "Provision a cons. avant juin  : ":W_CumulAnc85/100
PRINT "Provision en cours apres juin : ":W_Cumul86/100
PRINT "Provision en cours avant juin : ":W_CumulAnc86/100
		
PRINT "Facture : ":W_LibCleFact
PRINT "Provision pour conges : ":W_Prov/100
PRINT "Reprise provisions    : ":W_Repr/100



a = a + 1
*IF a = 3 THEN
	*DEBUG
*END

RETURN



500

W_SauveAide = W_CodeAideFact

IF W_AideTraite = "F" THEN
	PRINT " "
	PRINT " ******************************* "
	PRINT " Facture ":W_CleFact:" sans contrats !"
	PRINT " "
END
LOOP
	READNEXT W_CleFact FROM W_Factures ELSE W_FinFact = "V"
	W_CodeAideFact = INT(W_CleFact[1,5])
WHILE W_FinFact = "" AND W_CodeAideFact > INT(W_TamponAide)
	IF W_CodeAideFact > INT(W_TamponAide) AND W_SauveAide # W_CodeAideFact THEN
		PRINT " "
		PRINT " ******************************* "
		PRINT " Facture ":W_CleFact:" sans contrats !"
		PRINT " "
	END
	W_SauveAide = W_CodeAideFact
REPEAT
W_AideTraite = "F"
RETURN


600
READ ENR_FACTURAIDE FROM F.FACTURAIDE, W_CleFact THEN
b=b+1
	W_Repr = 0
	W_Prov = 0	
	
	i = 0
	W_Trouve = "F"
	LOOP
		i = i + 1
	WHILE ENR_FACTURAIDE<2,i> # "" AND W_Trouve = "F"
		IF ENR_FACTURAIDE<2,i>[1,21] = "PROVISION POUR CONGES" THEN
			W_Prov = INT(ENR_FACTURAIDE<5,i>)
		END
		IF ENR_FACTURAIDE<2,i>[1,30] = "REPRISE PROVISIONS POUR CONGES" THEN
			W_Repr = INT(ENR_FACTURAIDE<5,i>)
		END
	REPEAT

	IF W_Repr = W_CumulAnc85 * -1 THEN
		c = c + 1
	END

	W_TotalProv = W_TotalProv + W_Prov
	W_TotalRepr = W_TotalRepr + W_Repr
	W_Total = W_CumulAnc86 + W_CumulAnc85 + W_Prov + W_Repr - W_Cumul86
	IF W_Total # W_Cumul85 THEN
		W_DiffGene = W_DiffGene + W_Total - W_Cumul85
		W_LibCleFact = W_CleFact	
		GOSUB 300
	END  
END 
RETURN
