EXECUTE "SET-THOUS ."
EXECUTE "SET-DEC ,"
EXECUTE "DATE.FORMAT"
OPEN "", "DETAILCALCUL" TO F.DETAILCALCUL ELSE STOP
OPEN "", "REGULCHARGE" TO F.REGULCHARGE ELSE STOP
OPEN "", "CONTRAT" TO F.CONTRAT ELSE STOP
 
W_Bull060 = ""
W_ContratsEnCours = ""
W_TamponAidant = ""

EXECUTE 'SELECT CONTRAT AVEC 1 # "02" AND AVEC 58 >= "200212" OR = "" PAR @ID'
EXECUTE 'SAUVE-LISTE W_ContratsEnCours'
EXECUTE 'LISTE W_ContratsEnCours' RETURNING MSGCODE
IF MSGCODE<1> = 209 THEN
	PRINT "Anomalie : aucun contrat actif au 1er janvier 03..."
	PRINT "Traitement annul"
	STOP
END
SELECT F.CONTRAT TO W_ContratsEnCours
READNEXT W_CleContrat FROM W_ContratsEnCours ELSE W_CleContrat = "99999"

EXECUTE 'SELECT DETAILCALCUL AVEC ConvColContratDetailCalcul # "02" AND AVEC PeriodeDetailCalcul >= "200207" AND AVEC PeriodeDetailCalcul <= "200209" AND AVEC 8 = "060" PAR @ID'
EXECUTE 'SAUVE-LISTE W_Bull060'
EXECUTE 'LISTE W_Bull060' RETURNING MSGCODE
IF MSGCODE<1> # 209 THEN
    SELECT F.DETAILCALCUL TO W_Bull060
    W_Fin = "F"
    LOOP
	READNEXT W_Cle FROM W_Bull060 ELSE W_Fin = "V"
    WHILE W_Fin = "F"
	IF W_TamponAidant # W_Cle[1,5] THEN
		IF W_TamponAidant # "" THEN
			GOSUB 100
		END
		W_BaseRub = 0
	END
	W_TamponAidant = W_Cle[1,5]	
	READ ENR_DETAILCALCUL FROM F.DETAILCALCUL, W_Cle THEN
		i = 0
		W_Trouve = "F"
		LOOP
			i = i + 1
		WHILE ENR_DETAILCALCUL<8,i> # "" AND W_Trouve = "F"		
		   IF ENR_DETAILCALCUL<8,i> = "060" THEN
			W_Trouve = "V"				
			W_BaseRub = W_BaseRub + ENR_DETAILCALCUL<9,i>
		   END
		REPEAT
	END
    REPEAT
    GOSUB 100
END
STOP


100
*********************************************************
* Ecriture dans REGULCHARGE				*
*********************************************************
LOOP WHILE W_CleContrat[1,5] < W_TamponAidant
	READNEXT W_CleContrat FROM W_ContratsEnCours ELSE W_CleContrat = "99999"
REPEAT
IF W_CleContrat[1,5] = W_TamponAidant THEN
	ENR_REGULCHARGE = ""
	ENR_REGULCHARGE<1> = W_BaseRub
	ENR_REGULCHARGE<2> = "73"
	ENR_REGULCHARGE<3> = INT(W_BaseRub * 73 / 1000 + 1/2)
	ENR_REGULCHARGE<4> = "100"
	ENR_REGULCHARGE<5> = INT(W_BaseRub / 10 + 1/2)
	WRITE ENR_REGULCHARGE ON F.REGULCHARGE, W_CleContrat
END
RETURN









