***************************
* VERIFICATION DES CUMULS *
* ALAIN 12/12/2003        *
***************************

EXECUTE "SET-THOUS ."
EXECUTE "SET-DEC ,"
EXECUTE "DATE.FORMAT"
OPEN "","CIVILAIDANT" TO F.CIVILAIDANT ELSE STOP
OPEN "","DETAILCALCUL" TO F.DETAILCALCUL ELSE STOP
OPEN "","HRESHISTOR" TO F.HRESHISTOR ELSE STOP
OPEN "","RUBSAISIE" TO F.RUBSAISIE ELSE STOP
OPEN "","TAMPON" TO F.TAMPON ELSE STOP

EXECUTE 'VIDER-FICHIER TAMPON'
W_RESULTAT = ""
W_Periode = ""

PRINT "Saisissez la priode sous la forme AAAAMM"
INPUT W_Periode

EXECUTE 'SSELECT HRESHISTOR AVEC PeriodeHresHistor = "':W_Periode:'" AND AVEC EntiteHresHistor = "001" PAR 0 '
EXECUTE 'SAUVE-LISTE W_RESULTAT' 
EXECUTE "LISTE W_RESULTAT" RETURNING MSGCODE

SELECT F.HRESHISTOR TO W_RESULTAT

W_FINI = "FAUX"

LOOP
	READNEXT CLE FROM W_RESULTAT ELSE W_FINI = "VRAI"
WHILE W_FINI = "FAUX"

	READ ENR_HRESHISTOR FROM F.HRESHISTOR,CLE ELSE ENR_HRESHISTOR = ""

	I = 1

	LOOP
	WHILE ENR_HRESHISTOR<1,I> # "" DO
		READ ENR_TAMPON FROM F.TAMPON,ENR_HRESHISTOR<1,I> ELSE ENR_TAMPON = "VIDE"
		IF ENR_TAMPON = "VIDE" THEN
			ENR_TAMPON=""
			ENR_TAMPON<1> = ENR_HRESHISTOR<2,I>
		END ELSE
			ENR_TAMPON<1> = ENR_TAMPON<1> + ENR_HRESHISTOR<2,I>
		END
		WRITE ENR_TAMPON ON F.TAMPON,ENR_HRESHISTOR<1,I>
		I = I + 1
	REPEAT	

REPEAT

W_RESULTAT2 = ""

EXECUTE 'SSELECT TAMPON PAR @ID '
EXECUTE 'SAUVE-LISTE W_RESULTAT2' 
EXECUTE "LISTE W_RESULTAT2" RETURNING MSGCODE

SELECT F.TAMPON TO W_RESULTAT2
*PRINTER ON
EXECUTE 'COMO ON TESTCOMPHISTORSTAT'
W_FINITAMP = "FAUX"

LOOP
	READNEXT CLETAMP FROM W_RESULTAT2 ELSE W_FINITAMP = "VRAI"
WHILE W_FINITAMP = "FAUX"

	READ ENR_TAMPON FROM F.TAMPON,CLETAMP ELSE ENR_TAMPON = ""

	W_RESULTATDET=""
	MSGCODEDET=""
	EXECUTE 'SSELECT DETAILCALCUL AVEC 0 = "':CLETAMP:']" AND AVEC PeriodeDetailCalcul = "':W_Periode:'" AND AVEC CodAssoContratDetailCalcul = "001" AND AVEC ConvColContratDetailCalcul # "02"'
	EXECUTE 'SAUVE-LISTE W_RESULTATDET' 
	EXECUTE "LISTE W_RESULTATDET" RETURNING MSGCODEDET
	TOTDET25=0
	TOTDET3=0

	IF MSGCODEDET<1> # 209 THEN

		SELECT F.DETAILCALCUL TO W_RESULTATDET

		W_FINIDET = "FAUX"

		LOOP
			READNEXT CLEDET FROM W_RESULTATDET ELSE W_FINIDET = "VRAI"
		WHILE W_FINIDET = "FAUX"

			READ ENR_DET FROM F.DETAILCALCUL,CLEDET ELSE ENR_DET = ""

			I = 1

			LOOP
			WHILE ENR_DET<25,I> # "" DO
				TOTDET25 = TOTDET25 + ENR_DET<25,I>
				I = I + 1
			REPEAT

			I = 1

			LOOP
			WHILE ENR_DET<2,I> # "" DO
			   READ ENR_RUBSAISIE FROM F.RUBSAISIE,ENR_DET<2,I> ELSE ENR_RUBSAISIE=""
			   IF ENR_RUBSAISIE<2>="3" OR ENR_RUBSAISIE<2>="4" THEN
				TOTDET3 = TOTDET3 + ENR_DET<3,I>
			   END
				I = I + 1
			REPEAT
		REPEAT
		
		IF TOTDET3 # TOTDET25 THEN
			READ ENR_CIVILAIDANT FROM F.CIVILAIDANT,CLETAMP ELSE ENR_CIVILAIDANT = ""
			W_IMP = CLETAMP:' ':ENR_CIVILAIDANT<2>:' ':ENR_CIVILAIDANT<3>
			HRES = (TOTDET3/100)
			HRES = HRES "R2"
			HRES = HRES "R(#10)"
			W_IMP = W_IMP[1,60]:' DETAILCALCUL(3) : ':HRES:' DETAILCALCUL(25) : '
			HRES = (TOTDET25/100)
			HRES = HRES "R2"
			HRES = HRES "R(#10)"
			W_IMP = W_IMP:HRES
			PRINT W_IMP
		END

		IF ENR_TAMPON<1> # TOTDET25 THEN
			READ ENR_CIVILAIDANT FROM F.CIVILAIDANT,CLETAMP ELSE ENR_CIVILAIDANT = ""
			W_IMP = CLETAMP:' ':ENR_CIVILAIDANT<2>:' ':ENR_CIVILAIDANT<3>
			HRES = (ENR_TAMPON<1>/100)
			HRES = HRES "R2"
			HRES = HRES "R(#10)"
			W_IMP = W_IMP[1,60]:' HREHISTOR : ':HRES:' DETAILCALCUL : '
			HRES = (TOTDET25/100)
			HRES = HRES "R2"
			HRES = HRES "R(#10)"
			W_IMP = W_IMP:HRES
			PRINT W_IMP
		END

	END ELSE
		IF ENR_TAMPON<1> # "" AND ENR_TAMPON<1> # "0" THEN
			READ ENR_CIVILAIDANT FROM F.CIVILAIDANT,CLETAMP ELSE ENR_CIVILAIDANT = ""
			W_IMP = CLETAMP:' ':ENR_CIVILAIDANT<2>:' ':ENR_CIVILAIDANT<3>
			HRES = (ENR_TAMPON<1>/100)
			HRES = HRES "R2"
			HRES = HRES "R(#10)"
			W_IMP = W_IMP[1,60]:' HREHISTOR : ':HRES:' DETAILCALCUL :       0,00'
			PRINT W_IMP
		END
	END
REPEAT
PRINTER OFF
EXECUTE 'COMO OFF'
STOP
