***********************************************************
*  moulinette qui gnre l'att 21 du fichier HISTORCUMUL  *
*  VANES                                  27/11/2002      *
***********************************************************

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

READ ENR_PERIODESPAIE FROM F.PERIODESPAIE,"1" ELSE ENR_PERIODESPAIE=""

W_Req = ""
EXECUTE 'SELECT DETAILCALCUL AVEC ConvColContratDetailCalcul = "02" AND AVEC 1 = "E" AND AVEC PeriodeDetailCalcul >= "200201" AND AVEC PeriodeDetailCalcul < "':ENR_PERIODESPAIE<1>:'" OR AVEC ConvColContratDetailCalcul = "02" AND AVEC 1 = "E" AND AVEC PeriodeDetailCalcul = "':ENR_PERIODESPAIE<1>:'" AND AVEC DernPaieClotContrat = "':ENR_PERIODESPAIE<1>:'" PAR @ID'
EXECUTE 'SAUVE-LISTE W_Req'
EXECUTE 'LISTE W_Req' RETURNING MSGCODE

IF MSGCODE<1> # "209" THEN

	SELECT F.DETAILCALCUL TO W_Req
	
	W_Fin = "F"
	LOOP
		READNEXT W_Cle FROM W_Req ELSE W_Fin = "V"
	WHILE W_Fin = "F" DO

		READ ENR_DETAILCALCUL FROM F.DETAILCALCUL,W_Cle THEN
			W_COUNT = DCOUNT(ENR_DETAILCALCUL<17>, CHAR(253))
                        W_CumulRub=0
			FOR i = 1 TO W_COUNT
			  	IF ENR_DETAILCALCUL<17,i> = "816" OR ENR_DETAILCALCUL<17,i> = "824" OR ENR_DETAILCALCUL<17,i> = "829" THEN
					W_CumulRub = W_CumulRub + ENR_DETAILCALCUL<20,i>
				END

			NEXT i 
			GOSUB 100
		END
	REPEAT

END

STOP

100
****************************************************
* criture dans HISTORCUMUL

READ ENR_CONTRAT FROM F.CONTRAT,W_Cle[1,8] THEN

	W_Empl = ENR_CONTRAT<3>

	READ ENR_HISTORCUMUL FROM F.HISTORCUMUL,W_Cle[1,5]:"2002":W_Empl THEN
		IF ENR_HISTORCUMUL<21> = "" THEN ENR_HISTORCUMUL<21> = 0
		ENR_HISTORCUMUL<21> = ENR_HISTORCUMUL<21> + ENR_DETAILCALCUL<21> - W_CumulRub
		WRITE ENR_HISTORCUMUL ON F.HISTORCUMUL,W_Cle[1,5]:"2002":W_Empl
	END
END

RETURN
