*************************************************************
* PROGRAMME DE VERIFICATION DE L'EQUILIBRE ENTRE 
* DETAILECRITUREGENE ET BALANCEANAL + ENTRE BALANCEANAL ET
* BALANCEGENE // SECTION ANALYTIQUE ET COMPTE COMPTABLE
*
* 07 MAI 04				
* STEPHANE
*************************************************************

EXECUTE "SET-THOUS ."
EXECUTE "SET-DEC ,"
EXECUTE "DATE.FORMAT"
OPEN "","DETAILECRITUREGENE" TO F.DETAILECRITUREGENE ELSE STOP
OPEN "","BALANCEANAL" TO F.BALANCEANAL ELSE STOP
OPEN "","BALANCEGENE" TO F.BALANCEGENE ELSE STOP
 

EXECUTE 'SELECT DETAILECRITUREGENE AVEC 0 = "[N0]" AND AVEC 3 = "0016]" OR = "0017]" PAR 3 PAR 10'

W_FIN=0
W_TOTALC=0
W_TOTALD=0

W_TOTALSECTD=0
W_TOTALSECTC=0
W_OLDCPTE=""
W_OLDSECT=""


LOOP
	READNEXT CLE ELSE W_FIN=1
	UNTIL W_FIN=1 DO

	READ ENR_DETAILECRITUREGENE FROM F.DETAILECRITUREGENE,CLE ELSE ENR_DETAILECRITUREGENE=""	

	IF W_OLDSECT#ENR_DETAILECRITUREGENE<10> AND W_OLDSECT#"" OR W_OLDCPTE#ENR_DETAILECRITUREGENE<3>  AND W_OLDCPTE#"" THEN 
		* VERIF BALANCEANAL
		READ ENR_BALANCEANAL FROM F.BALANCEANAL,"N0":W_OLDCPTE:W_OLDSECT ELSE ENR_BALANCEANAL=""
			IF ENR_BALANCEANAL<1>#W_TOTALSECTD AND ENR_BALANCEANAL<1>#"" THEN 
				PRINT ENR_BALANCEANAL<1>:" ":W_TOTALSECTD
				PRINT "ERREUR ANAL COMPTE DEBIT ":ENR_DETAILECRITUREGENE<3>:ENR_DETAILECRITUREGENE<10> 
				DEBUG
			END
			IF ENR_BALANCEANAL<2>#W_TOTALSECTC AND ENR_BALANCEANAL<2>#"" THEN 
				PRINT ENR_BALANCEANAL<2>:" ":W_TOTALSECTC
				PRINT "ERREUR ANAL COMPTE CREDIT ":ENR_DETAILECRITUREGENE<3>:ENR_DETAILECRITUREGENE<10> 
				DEBUG
			END
			W_TOTALSECTD=0
			W_TOTALSECTC=0
		
	END

	IF W_OLDCPTE#ENR_DETAILECRITUREGENE<3> AND W_OLDCPTE#"" THEN 
		* VERIF BALANCEANAL
		READ ENR_BALANCEGENE FROM F.BALANCEGENE,"N0":W_OLDCPTE ELSE ENR_BALANCEGENE=""
			IF ENR_BALANCEGENE<1>#W_TOTALD AND ENR_BALANCEGENE<1>#"" THEN 
				PRINT "ERREUR GENE COMPTE DEBIT ":ENR_DETAILECRITUREGENE<3>
				DEBUG
			END
			IF ENR_BALANCEGENE<2>#W_TOTALC AND ENR_BALANCEGENE<2>#"" THEN 
				PRINT "ERREUR GENE COMPTE CREDIT ":ENR_DETAILECRITUREGENE<3>
				DEBUG
			END
			W_TOTALD=0
			W_TOTALC=0
		
	END
	
	W_TOTALSECTD=W_TOTALSECTD+ENR_DETAILECRITUREGENE<6>
	W_TOTALSECTC=W_TOTALSECTC+ENR_DETAILECRITUREGENE<7>
	W_TOTALD=W_TOTALD+ENR_DETAILECRITUREGENE<6>
	W_TOTALC=W_TOTALC+ENR_DETAILECRITUREGENE<7>

	W_OLDSECT=ENR_DETAILECRITUREGENE<10>
	W_OLDCPTE=ENR_DETAILECRITUREGENE<3>

REPEAT
