
**********************
* REMPLI L'ENREGISTREMENT RELANCE DE TEMPO POUR PERMETTRE L'EDITION DE LA MASSE SALARIALE
* 22/08/2002 ALAIN
**********************

***************************
* Ouvertures des fichiers *
***************************
EXECUTE "SET-THOUS ."
EXECUTE "SET-DEC ,"
EXECUTE "DATE.FORMAT"
OPEN "","ACTIVITES" TO F.ACTIVITES ELSE STOP
OPEN "","CONSTANTESPAIE" TO F.CONSTANTEPAIE ELSE STOP
OPEN "","CONTRAT" TO F.CONTRAT ELSE STOP
OPEN "","CIVILAIDANT" TO F.CIVILAIDANT ELSE STOP
OPEN "","DETAILCALCUL" TO F.DETAILCALCUL ELSE STOP
OPEN "","RUBSAISIE" TO F.RUBSAISIE ELSE STOP
OPEN "","SECTEUR" TO F.SECTEUR ELSE STOP
OPEN "","TABLES" TO F.TABLES ELSE STOP
OPEN "","TEMPVENTILEDIT" TO F.TEMPVENTILEDIT ELSE STOP
OPEN "","TEMPO" TO F.TEMPO ELSE STOP

******************************
* Recuperation des arguments *
******************************

PROCREAD ARGUMENTS ELSE PRINT "Procread"

W_ASSOC = FIELD(ARGUMENTS,"|",2)
W_REQUETE = FIELD(ARGUMENTS,"|",3)
W_IMP = FIELD(ARGUMENTS,"|",4)
W_PERIODEDEB = FIELD(ARGUMENTS,"|",5)
W_PERIODEFIN = FIELD(ARGUMENTS,"|",6)
W_TRI = FIELD(ARGUMENTS,"|",7)

*********************
* TRAITEMENT GLOBAL *
*********************
W_CODE = ""
W_CODEANC = ""
W_CUMUL = 0
W_CUMULPAGE = 0
W_CUMULTOT = 0
TOTREMB = 0
TOTAL = 0
TOTALPAGE = 0
TOTALSECT = 0
TOTALREMB = 0 
TOTALREMBPAGE = 0
TOTALREMBSECT = 0
W_RESULTAT = ""
W_RESULTAT2 = ""
W_RESULTAT3 = ""
W_RESULTAT4 = ""
ENR_INTER = ""
ENR_INTERREMB = ""
ENR_SECT = ""
ENR_SECTDISPO = ""
ENR_SECTANAL = ""
ENR_TEMPO = ""
ENR_VENTIL = ""
W_TABACTIVITE = ""
W_TRAIT = "FAUX"
I = 0
ILIG = 0
ILIGREMB = 0
IREMB = 0
REMBOURS = 0
DATFINCDD = "0"
IMASSE = 0
W_NBRUBSAISIE = 0
W_REPARTPLUSFAIBLE = 0
SECT = ""
INDSECTANA = "BASE"
CODTRAITANA = ""
W_FINI = "FAUX"

READ ENR_MASSE FROM F.TEMPO,'MASSE' ELSE ENR_MASSE = ""
READ ENR_REMB FROM F.TEMPO,'REMBOURSEMENT' ELSE ENR_REMB = ""
*EXECUTE 'VIDER-FICHIER TEMPVENTILEDIT'
*EXECUTE 'COMO ON TEMPVENTILEDIT'

ENR_MASSE = ""
ENR_REMB = ""

WRITE ENR_MASSE TO F.TEMPO,"MASSE"
WRITE ENR_REMB TO F.TEMPO,"REMBOURSEMENT"

READ ENR_CONST FROM F.CONSTANTEPAIE,'1' ELSE ENR_CONST = ""

DATEURO = OCONV(ENR_CONST<9>,"D4/")
DATEURO = DATEURO[7,4]:DATEURO[4,2]

MOIS = W_PERIODEDEB[5,2]
AN = W_PERIODEDEB[1,4]

W_DATEDEB = ICONV("01/":MOIS:"/":AN,"D4/")

MOIS = W_PERIODEFIN[5,2]
AN = W_PERIODEFIN[1,4]
MOIS = MOIS + 1
ANCDD = AN - 1

IF MOIS > 12 THEN
	MOIS = MOIS - 12
	AN = AN + 1
END

W_DATEFIN = ICONV("01/":MOIS:"/":AN,"D4/")
W_DATEFIN= W_DATEFIN - 1

MOIS = MOIS "R(%2)"
W_PERIODEFIN = AN:MOIS

EXECUTE W_REQUETE
EXECUTE 'SAUVE-LISTE W_RESULTAT' 
EXECUTE "LISTE W_RESULTAT" RETURNING MSGCODE

IF MSGCODE<1> # 209 THEN
	SELECT F.CONTRAT TO W_RESULTAT
END ELSE
	STOP
END

LOOP
	READNEXT W_CODE FROM W_RESULTAT ELSE W_FINI="VRAI"
WHILE W_FINI = "FAUX"
	IF W_IMP = "D" THEN
		IF W_CODE # W_CODEANC THEN
			IF W_CODEANC # "" THEN
				IF W_CODEANC[1,5] # W_CODE[1,5] AND ENR_INTER<1,1> # "" THEN
					GOSUB 100
10
					DATFINCDD = "0"
					I = 0
				END
			END
			CUMUL = 0
			W_CODEANC = W_CODE
		END
	END

	READ ENR_CONTRAT FROM F.CONTRAT,W_CODE ELSE ENR_CONTRAT = ""
	IF ENR_CONTRAT<13> = "" OR ENR_CONTRAT<13> = "FOC" OR ENR_CONTRAT<13> = "CEJ" OR ENR_CONTRAT<13> = "CIE" THEN
		IF ENR_CONTRAT<7> <= W_DATEFIN THEN
			IF W_IMP = "D" THEN
				I = I + 1
				W_TRAIT = "VRAI"
	
				ENR_INTER<I,1> = OCONV(ENR_CONTRAT<7>,"D4/")
				IF ENR_CONTRAT<8> = "" THEN
					ENR_INTER<I,2> = SPACE(10)
				END ELSE
					ENR_INTER<I,2> = OCONV(ENR_CONTRAT<8>,"D4/")
				END

				IF DATFINCDD < ENR_CONTRAT<8> THEN
					DATFINCDD = ENR_CONTRAT<8>
				END

				PER = W_PERIODEDEB
				LOOP
				WHILE PER # W_PERIODEFIN DO
					READ ENR_DETAIL FROM F.DETAILCALCUL,W_CODE:PER ELSE ENR_DETAIL = ""
					IF PER < DATEURO THEN
						ENR_DETAIL<7> = INT(((ENR_DETAIL<7>/655957)*100000)+(1/2))
					END
					CUMUL = CUMUL + ENR_DETAIL<7>
					PER = PER + 1
					IF PER[5,2] => 13 THEN
						PER = (PER[1,4] + 1):'01'
					END
				REPEAT
				ENR_INTER<I,3> = CUMUL
			END ELSE

				PER = W_PERIODEDEB

				IF W_CODE # W_CODEANC THEN
					IF W_CODEANC[1,5] # W_CODE[1,5] THEN
						GOSUB 500
						DATFINCDD = "0"
					END
					W_CODEANC = W_CODE
				END

				IF CODTRAITANA = "FAUX" THEN
					LOOP
					WHILE PER # W_PERIODEFIN DO
						READ ENR_DETAIL FROM F.DETAILCALCUL,W_CODE:PER ELSE ENR_DETAIL = ""
						
						IF ENR_DETAIL # "" THEN
							IF PER < DATEURO THEN
								ENR_DETAIL<7> = INT(((ENR_DETAIL<7>/655957)*100000)+(1/2))
							END
	
							W_NBRUBSAISIE=DCOUNT(ENR_DETAIL<24>,CHAR(253))
	
							W_TABACTIVITE<1>=""
							W_TABACTIVITE<2>=""
							W_TABACTIVITE<3>=""
							W_TABACTIVITE<4>=""

							W_TOTAL=0
							W_RANG=1

							IF ENR_CONTRAT<6>="P" THEN
							* TEST SI ATT 24,25,26 RENSEIGNE
								IF W_NBRUBSAISIE=0 THEN
									I=1
									LOOP 
									UNTIL ENR_DETAIL<2,I>="" DO
										ENR_DETAIL<24,I>=ENR_DETAIL<2,I>
										IF ENR_DETAIL<3,I>="" THEN ENR_DETAIL<3,I>=0
										ENR_DETAIL<25,I>=ENR_DETAIL<3,I>
										ENR_DETAIL<26,I>=ENR_CONTRAT<36,1>
										ENR_DETAIL<27,I>=ENR_DETAIL<5,I>
										I=I+1
									REPEAT
				
	   								W_NBRUBSAISIE=DCOUNT(ENR_DETAIL<24>,CHAR(253))
								END
								IF W_NBRUBSAISIE # 0 THEN
									FOR X=1 TO W_NBRUBSAISIE
										* CALCUL SOMME DES HEURES
										GOSUB 400
				      				NEXT
									* CALCUL % REPARTITION
									GOSUB 401
								END ELSE
									READ ENR_ACTIVITES FROM F.ACTIVITES,ENR_CONTRAT<36,1> ELSE ENR_ACTIVITES = ""
      								READ ENR_TEMPVENTILEDIT FROM F.TEMPVENTILEDIT,'BASE':ENR_ACTIVITES<2> ELSE ENR_TEMPVENTILEDIT=""
									IF ENR_TEMPVENTILEDIT<3> = "" THEN
										ENR_TEMPVENTILEDIT<3> = 0
									END
									ENR_TEMPVENTILEDIT<3> = ENR_TEMPVENTILEDIT<3> + ENR_DETAIL<7>
	      							WRITE ENR_TEMPVENTILEDIT ON F.TEMPVENTILEDIT,'BASE':ENR_ACTIVITES<2>
								END
							END ELSE
								* CALCUL % REPARTITION
								GOSUB 402
							END
							
							IF W_NBRUBSAISIE # 0 OR ENR_CONTRAT<6>="A" THEN
								* AFFECTATION FICHIER MATRICE SAISIE
								GOSUB 499
							END
	
						END
	
						PER = PER + 1
						IF PER[5,2] => 13 THEN
							PER = (PER[1,4] + 1):'01'
						END
					REPEAT
				END
			END
		END
	END

REPEAT

IF W_CODEANC # "" THEN
	IF W_CODEANC[1,5] # W_CODE[1,5] AND ENR_INTER<1,1> # "" THEN
		GOSUB 100
	END
END

11

IF W_IMP = "D" THEN
	IF ENR_MASSE = "" THEN
		ENR_MASSE = "VIDE"
	END ELSE
		IMASSE = IMASSE + 1
		ENR_MASSE<IMASSE,1> = "FIN"
		TOTALPAGE = TOTALPAGE "MR2,(#15)"
		ENR_MASSE<IMASSE,2> = SPACE(54):'TOTAL PAGE : ':TOTALPAGE
		IF W_TRI = "O" THEN
			TOTALSECT = TOTALSECT "MR2,(#15)"
			ENR_MASSE<IMASSE,3> = SPACE(51):'TOTAL SECTEUR : ':TOTALSECT
			TOTAL = TOTAL "MR2,(#15)"
			ENR_MASSE<IMASSE,4> = SPACE(51):'TOTAL GENERAL : ':TOTAL
		END ELSE
			TOTAL = TOTAL "MR2,(#15)"
			ENR_MASSE<IMASSE,3> = SPACE(51):'TOTAL GENERAL : ':TOTAL
		END
	END

	IF ENR_REMB = "" THEN
		ENR_REMB = "VIDE"
	END ELSE
		REMBOURS = REMBOURS + 1
		ENR_REMB<REMBOURS,1> = "FIN"
		TOTALREMBPAGE = TOTALREMBPAGE "MR2,(#15)"
		ENR_REMB<REMBOURS,2> = SPACE(54):'TOTAL PAGE : ':TOTALREMBPAGE
		IF W_TRI = "O" THEN
			TOTALREMBSECT = TOTALREMBSECT "MR2,(#15)"
			ENR_REMB<REMBOURS,3> = SPACE(51):'TOTAL SECTEUR : ':TOTALREMBSECT
			TOTALREMB = TOTALREMB "MR2,(#15)"
			ENR_REMB<REMBOURS,4> = SPACE(51):'TOTAL GENERAL : ':TOTALREMB
		END ELSE
			TOTALREMB = TOTALREMB "MR2,(#15)"
			ENR_REMB<REMBOURS,3> = SPACE(51):'TOTAL GENERAL : ':TOTALREMB
		END
	END
END ELSE

	READ ENR_SECTANAL FROM F.TABLES,'SECTANAL' ELSE ENR_SECTANAL = ""

	EXECUTE 'SELECT TEMPVENTILEDIT = "BASE]"'
	EXECUTE 'SAUVE-LISTE W_RESULTAT3'
	EXECUTE "LISTE W_RESULTAT3" RETURNING MSGCODE

	IF MSGCODE<1> # 209 THEN
		SELECT F.TEMPVENTILEDIT TO W_RESULTAT3
		LOOP
			READNEXT BIDON FROM W_RESULTAT3 ELSE BIDON=""
		WHILE BIDON # ""
		REPEAT
		I = 1
		J = 1
		TOTAL = 0
		MONT = 0
		LOOP
		WHILE ENR_SECTANAL<2,I> # "" DO
			READ ENR_VENTIL FROM F.TEMPVENTILEDIT,'BASE':ENR_SECTANAL<2,I> ELSE ENR_VENTIL = ""
			IF ENR_VENTIL # "" THEN
				J = J + 1 
				ENR_MASSE<J> = ENR_SECTANAL<2,I>:SPACE(4)
				LIB = ENR_SECTANAL<3,I>
				IF LEN(LIB) > 59 THEN
					ENR_MASSE<J> = ENR_MASSE<J>:LIB[1,59]:SPACE(1)
				END ELSE
					ENR_MASSE<J> = ENR_MASSE<J>:LIB:SPACE(60-(LEN(LIB)))
				END
				TOTAL = TOTAL + ENR_VENTIL<3>
				MONT = ENR_VENTIL<3>
				MONT = MONT "MR2,(#15)"
				ENR_MASSE<J> = ENR_MASSE<J>:MONT
				J = J + 1
			END
			I = I + 1
		REPEAT
		ENR_MASSE<J,1> = "FIN"
		TOTAL = TOTAL "MR2,(#15)"
		ENR_MASSE<J,2> = SPACE(54):'TOTAL GENERAL : ':TOTAL
	END ELSE
		ENR_MASSE = "VIDE"
	END

	EXECUTE 'SELECT TEMPVENTILEDIT = "REMB]"'
	EXECUTE 'SAUVE-LISTE W_RESULTAT4'
	EXECUTE "LISTE W_RESULTAT4" RETURNING MSGCODE

	IF MSGCODE<1> # 209 THEN
		I = 1
		J = 1
		TOTAL = 0
		MONT = 0
		LOOP
		WHILE ENR_SECTANAL<2,I> # "" DO
			READ ENR_VENTIL FROM F.TEMPVENTILEDIT,'REMB':ENR_SECTANAL<2,I> ELSE ENR_VENTIL = ""
			IF ENR_VENTIL # "" THEN
				J = J + 1 
				ENR_REMB<J> = ENR_SECTANAL<2,I>:SPACE(4)
				LIB = ENR_SECTANAL<3,I>
				IF LEN(LIB) > 59 THEN
					ENR_REMB<J> = ENR_REMB<J>:LIB[1,59]:SPACE(1)
				END ELSE
					ENR_REMB<J> = ENR_REMB<J>:LIB:SPACE(60-(LEN(LIB)))
				END
				TOTAL = TOTAL + ENR_VENTIL<3>
				MONT = ENR_VENTIL<3>
				MONT = MONT "MR2,(#15)"
				ENR_REMB<J> = ENR_REMB<J>:MONT
				J = J + 1
			END
			I = I + 1
		REPEAT
		ENR_REMB<J,1> = "FIN"
		TOTAL = TOTAL "MR2,(#15)"
		ENR_REMB<J,2> = SPACE(54):'TOTAL GENERAL : ':TOTAL
	END ELSE
		ENR_REMB = "VIDE"
	END
END

WRITE ENR_MASSE TO F.TEMPO,"MASSE"
WRITE ENR_REMB TO F.TEMPO,"REMBOURSEMENT"
*EXECUTE 'COMO OFF'
STOP
******************************************
* ENREGISTREMENT ET CONTROLE DES DONNEES *
******************************************

100
W_CDI = "FAUX"
DATFINCDD = DATFINCDD + 5

IF DATFINCDD < W_DATEFIN THEN
	NUMCONT = 0
	LOOP
		NUMCONT = NUMCONT + 1
		NUMCONT = NUMCONT "R(%3)"
		W_CODEANC = W_CODEANC[1,5]:NUMCONT
		READ ENR_CONTRAT FROM F.CONTRAT,W_CODEANC ELSE ENR_CONTRAT = "FIN"
	WHILE ENR_CONTRAT # "FIN" AND W_CDI = "FAUX"
		IF ENR_CONTRAT<1> # "02" AND ENR_CONTRAT<4> = "I" AND ENR_CONTRAT<7> <= DATFINCDD AND ENR_CONTRAT<65> = "" AND (ENR_CONTRAT<8> => W_DATEDEB OR ENR_CONTRAT<8> = "") AND (ENR_CONTRAT<8> >= DATFINCDD OR ENR_CONTRAT<8> = "") THEN
			W_CDI = "VRAI"
		END
	REPEAT
END

IF W_CDI # "FAUX" THEN
	ENR_INTER = ""
	DEBCDDREMB = ICONV("01/":W_PERIODEDEB[5,2]:"/":ANCDD,"D4/")
	FINCDDREMB = W_DATEDEB - 1

	EXECUTE 'SSELECT CONTRAT AVEC 0 = "':W_CODEANC[1,5]:']" AND AVEC 7 <= "':FINCDDREMB:'" AND AVEC 8 > "':DEBCDDREMB:'" OR = "" AND AVEC 4 = "D" AND AVEC 2 = "':W_ASSOC:'" AND AVEC 1 <> "02"'
	EXECUTE 'SAUVE-LISTE W_RESULTAT2'
	EXECUTE "LISTE W_RESULTAT2" RETURNING MSGCODE
	IF MSGCODE<1> # 209 THEN
		SELECT F.CONTRAT TO W_RESULTAT2
	END ELSE
		IF W_FINI#"VRAI" THEN
			GOSUB 10
		END ELSE
			GOSUB 11
		END
	END

	W_PERIODEFINCDD = W_PERIODEDEB

	MOISCDD = W_PERIODEDEB[5,2]
	ANFINCDD = W_PERIODEDEB[1,4]
	ANFINCDD = ANFINCDD - 1
	W_PERIODEDEBCDD = ANFINCDD:MOISCDD

	W_FIN = "FAUX"
	CUMULREMB = 0

	LOOP
		READNEXT W_CODEREMB FROM W_RESULTAT2 ELSE W_FIN="VRAI"
	WHILE W_FIN = "FAUX"
		READ ENR_CONTRAT FROM F.CONTRAT,W_CODEREMB ELSE ENR_CONTRAT = "FIN"
		IF ENR_CONTRAT<13> = "" OR ENR_CONTRAT<13> = "FOC" OR ENR_CONTRAT<13> = "CEJ" THEN
			IREMB = IREMB + 1
			REMB = 0
			PER = W_PERIODEDEBCDD
			LOOP
			WHILE PER # W_PERIODEFINCDD
				READ ENR_DETAIL FROM F.DETAILCALCUL,W_CODEREMB:PER ELSE ENR_DETAIL = ""
				IF PER < DATEURO THEN
					ENR_DETAIL<7> = INT(((ENR_DETAIL<7>/655957)*100000)+(1/2))
				END
				REMB = REMB + ENR_DETAIL<7>
				PER = PER + 1
				IF PER[5,2] => 13 THEN
					PER = (PER[1,4] + 1):'01'
				END
			REPEAT

			ENR_INTERREMB<IREMB,1> = OCONV(ENR_CONTRAT<7>,"D4/")
			IF ENR_CONTRAT<8> = "" THEN
				ENR_INTERREMB<IREMB,2> = SPACE(10)
			END ELSE
				ENR_INTERREMB<IREMB,2> = OCONV(ENR_CONTRAT<8>,"D4/")
			END
			ENR_INTERREMB<IREMB,3> = REMB
		END
	REPEAT

	IF ENR_INTERREMB<1,1> # "" THEN
		GOSUB 200
	END

END ELSE
	IMASSE = IMASSE + 1
	READ ENR_CIVILAIDANT FROM F.CIVILAIDANT, W_CODEANC[1,5] ELSE ENR_CIVILAIDANT = ""
	NOMPRE = ENR_CIVILAIDANT<2>:' ':ENR_CIVILAIDANT<3>
	NOMPRE = NOMPRE[1,30] 
	IF IMASSE = 1 THEN
		ENR_MASSE<IMASSE,1> = "DEBUT"
		IF W_TRI = "O" THEN
			READ ENR_SECTEUR FROM F.SECTEUR, ENR_CIVILAIDANT<31> ELSE ENR_SECTEUR = ""
			ENR_MASSE<IMASSE,2> = ENR_SECTEUR<1>
			SECT = ENR_SECTEUR<1>
		END
		IMASSE = IMASSE + 1
	END ELSE
		IF W_TRI = "O" THEN
			READ ENR_SECTEUR FROM F.SECTEUR, ENR_CIVILAIDANT<31> ELSE ENR_SECTEUR = ""
			IF SECT # ENR_SECTEUR<1> THEN
				SECT = ENR_SECTEUR<1>
				ENR_MASSE<IMASSE,1> = "STPAGE"
				TOTALPAGE = TOTALPAGE "MR2,(#15)"
				ENR_MASSE<IMASSE,2> = SPACE(54):'TOTAL PAGE : ':TOTALPAGE
				TOTALSECT = TOTALSECT "MR2,(#15)"
				ENR_MASSE<IMASSE,3> = SPACE(51):'TOTAL SECTEUR : ':TOTALSECT
				ENR_MASSE<IMASSE,4> = SECT
				IMASSE = IMASSE + 1
				ILIG = 0
				TOTALPAGE = 0
				TOTALSECT = 0
			END
		END
		IF ILIG => 53 THEN
			ENR_MASSE<IMASSE,1> = "STPAGE"
			TOTALPAGE = TOTALPAGE "MR2,(#15)"
			ENR_MASSE<IMASSE,2> = SPACE(54):'TOTAL PAGE : ':TOTALPAGE
			IMASSE = IMASSE + 1
			TOTALPAGE = 0
			ILIG = 0
		END
	END
	IF ILIG => 53 THEN
		ENR_MASSE<IMASSE,1> = "STPAGE"
		TOTALPAGE = TOTALPAGE "MR2,(#15)"
		ENR_MASSE<IMASSE,2> = SPACE(54):'TOTAL PAGE : ':TOTALPAGE
		TOTALPAGE = 0
		ILIG = 0
		IMASSE = IMASSE + 1
	END
	ENR_MASSE<IMASSE> = W_CODEANC[1,5]:SPACE(2):NOMPRE:SPACE(32-LEN(NOMPRE)):ENR_INTER<1,1>:SPACE(1):ENR_INTER<1,2>:SPACE(1)
	ILIG = ILIG + 1
	MONTANT = ENR_INTER<1,3>
	TOTAL = TOTAL + MONTANT
	TOTALPAGE = TOTALPAGE + MONTANT
	TOTALSECT = TOTALSECT + MONTANT
	MONTANT = MONTANT "MR2,(#20)"
	ENR_MASSE<IMASSE> = ENR_MASSE<IMASSE>:MONTANT
	IF I > 1 THEN
		IIMP = 1
		LOOP
			IIMP = IIMP + 1
		WHILE ENR_INTER<IIMP,1> # "" DO
			IMASSE = IMASSE + 1
			ILIG = ILIG + 1
			IF ILIG => 53 THEN
				ENR_MASSE<IMASSE,1> = "STPAGE"
				TOTALPAGE = TOTALPAGE "MR2,(#15)"
				ENR_MASSE<IMASSE,2> = SPACE(54):'TOTAL PAGE : ':TOTALPAGE
				TOTALPAGE = 0
				ILIG = 0
				IMASSE = IMASSE + 1
				ENR_MASSE<IMASSE> = W_CODEANC[1,5]:SPACE(2):NOMPRE:SPACE(32-LEN(NOMPRE)):ENR_INTER<IIMP,1>:SPACE(1):ENR_INTER<IIMP,2>:SPACE(1)
				ILIG = ILIG + 1
				MONTANT = ENR_INTER<IIMP,3>
				TOTAL = TOTAL + MONTANT
				TOTALPAGE = TOTALPAGE + MONTANT
				TOTALSECT = TOTALSECT + MONTANT
				MONTANT = MONTANT "MR2,(#20)"
				ENR_MASSE<IMASSE> = ENR_MASSE<IMASSE>:MONTANT
			END ELSE
				MONTANT = ENR_INTER<IIMP,3>
				TOTAL = TOTAL + MONTANT
				TOTALPAGE = TOTALPAGE + MONTANT
				TOTALSECT = TOTALSECT + MONTANT
				MONTANT = MONTANT "MR2,(#20)"
				ENR_MASSE<IMASSE> = SPACE(39):ENR_INTER<IIMP,1>:SPACE(1):ENR_INTER<IIMP,2>:SPACE(1):MONTANT
			END
		REPEAT
	END
	ENR_INTER = ""
END

RETURN

***********************************
* Enregistrement du remboursement *
***********************************

200

REMBOURS = REMBOURS + 1
READ ENR_CIVILAIDANT FROM F.CIVILAIDANT, W_CODEANC[1,5] ELSE ENR_CIVILAIDANT = ""
NOMPRE = ENR_CIVILAIDANT<2>:' ':ENR_CIVILAIDANT<3>
NOMPRE = NOMPRE[1,30] 
IF REMBOURS = 1 THEN
		ENR_REMB<REMBOURS,1> = "DEBUT"
		IF W_TRI = "O" THEN
			READ ENR_SECTEUR FROM F.SECTEUR, ENR_CIVILAIDANT<31> ELSE ENR_SECTEUR = ""
			ENR_REMB<REMBOURS,2> = ENR_SECTEUR<1>
			SECTREMB = ENR_SECTEUR<1>
		END
		REMBOURS = REMBOURS + 1
	END ELSE
		IF W_TRI = "O" THEN
			READ ENR_SECTEUR FROM F.SECTEUR, ENR_CIVILAIDANT<31> ELSE ENR_SECTEUR = ""
			IF SECTREMB # ENR_SECTEUR<1> THEN
				SECTREMB = ENR_SECTEUR<1>
				ENR_REMB<REMBOURS,1> = "STPAGE"
				TOTALREMBPAGE = TOTALREMBPAGE "MR2,(#15)"
				ENR_REMB<REMBOURS,2> = SPACE(54):'TOTAL PAGE : ':TOTALREMBPAGE
				TOTALREMBSECT = TOTALREMBSECT "MR2,(#15)"
				ENR_REMB<REMBOURS,3> = SPACE(51):'TOTAL SECTEUR : ':TOTALREMBSECT
				ENR_REMB<REMBOURS,4> = SECTREMB
				REMBOURS = REMBOURS + 1
				ILIGREMB = 0
				TOTALREMBPAGE = 0
				TOTALREMBSECT = 0
			END
		END
		IF ILIGREMB => 53 THEN
			ENR_REMB<REMBOURS,1> = "STPAGE"
			TOTALREMBPAGE = TOTALREMBPAGE "MR2,(#15)"
			ENR_REMB<REMBOURS,2> = SPACE(54):'TOTAL PAGE : ':TOTALREMBPAGE
			REMBOURS = REMBOURS + 1
			TOTALREMBPAGE = 0
			ILIGREMB = 0
		END
	END
	IF ILIGREMB => 53 THEN
		ENR_REMB<REMBOURS,1> = "STPAGE"
		TOTALREMBPAGE = TOTALREMBPAGE "MR2,(#15)"
		ENR_REMB<REMBOURS,2> = SPACE(54):'TOTAL PAGE : ':TOTALREMBPAGE
		TOTALREMBPAGE = 0
		ILIGREMB = 0
		REMBOURS = REMBOURS + 1
	END
	ENR_REMB<REMBOURS> = W_CODEANC[1,5]:SPACE(2):NOMPRE:SPACE(32-LEN(NOMPRE)):ENR_INTERREMB<1,1>:SPACE(1):ENR_INTERREMB<1,2>:SPACE(1)
	ILIGREMB = ILIGREMB + 1
	MONTANT = ENR_INTERREMB<1,3>
	TOTALREMB = TOTALREMB + MONTANT
	TOTALREMBPAGE = TOTALREMBPAGE + MONTANT
	TOTALREMBSECT = TOTALREMBSECT + MONTANT
	MONTANT = MONTANT "MR2,(#20)"
	ENR_REMB<REMBOURS> = ENR_REMB<REMBOURS>:MONTANT
	IF IREMB > 1 THEN
		IIMP = 1
		LOOP
			IIMP = IIMP + 1
		WHILE ENR_INTERREMB<IIMP,1> # "" DO
			REMBOURS = REMBOURS + 1
			ILIGREMB = ILIGREMB + 1
			IF ILIGREMB => 53 THEN
				ENR_REMB<REMBOURS,1> = "STPAGE"
				TOTALREMBPAGE = TOTALREMBPAGE "MR2,(#15)"
				ENR_REMB<REMBOURS,2> = SPACE(54):'TOTAL PAGE : ':TOTALREMBPAGE
				TOTALREMBPAGE = 0
				ILIGREMB = 0
				REMBOURS = REMBOURS + 1
				ENR_REMB<REMBOURS> = W_CODEANC[1,5]:SPACE(2):NOMPRE:SPACE(32-LEN(NOMPRE)):ENR_INTERREMB<IIMP,1>:SPACE(1):ENR_INTERREMB<IIMP,2>:SPACE(1)
				ILIGREMB = ILIGREMB + 1
				MONTANT = ENR_INTERREMB<IIMP,3>
				TOTAL = TOTAL + MONTANT
				TOTALPAGE = TOTALPAGE + MONTANT
				TOTALSECT = TOTALSECT + MONTANT
				MONTANT = MONTANT "MR2,(#20)"
				ENR_REMB<REMBOURS> = ENR_REMB<REMBOURS>:MONTANT
			END ELSE
				MONTANT = ENR_INTERREMB<IIMP,3>
				TOTALREMB = TOTALREMB + MONTANT
				TOTALREMBPAGE = TOTALREMBPAGE + MONTANT
				TOTALREMBSECT = TOTALREMBSECT + MONTANT
				MONTANT = MONTANT "MR2,(#20)"
				ENR_REMB<REMBOURS> = SPACE(39):ENR_INTERREMB<IIMP,1>:SPACE(1):ENR_INTERREMB<IIMP,2>:SPACE(1):MONTANT
			END
		REPEAT
	END
	IREMB = 0
	ENR_INTERREMB = ""
RETURN

***************************************************
* CALCUL DE LA SOMME DES HEURES
***************************************************
400 *

    I=1

    LOOP
         UNTIL W_TABACTIVITE<1,I>=ENR_DETAIL<26,X> OR W_TABACTIVITE<1,I>="" DO
	 I=I+1
    REPEAT

    IF W_TABACTIVITE<1,I>="" THEN
	 W_TABACTIVITE=REPLACE(W_TABACTIVITE,1,I;ENR_DETAIL<26,X>)
    END 
    W_TABACTIVITE=REPLACE(W_TABACTIVITE,2,I,1;ENR_DETAIL<24,X>)
    W_TABACTIVITE=REPLACE(W_TABACTIVITE,2,I,2;W_TABACTIVITE<2,I,2>+ENR_DETAIL<25,X>)
    W_TABACTIVITE=REPLACE(W_TABACTIVITE,2,I,3;W_TABACTIVITE<2,I,3>+ENR_DETAIL<27,X>)

    W_TOTAL=W_TOTAL+ENR_DETAIL<25,X>

RETURN

***************************************************
* CALCUL DU POURCENTAGE DE REPARTITION (SI PROD.)
***************************************************
401 *
    I=1
   
    W_TOTALREPART=0
    W_REPARTPLUSFORT=""
    W_REPARTPLUSFAIBLE=""
    W_REPARTPLUSFAIBLE=REPLACE(W_REPARTPLUSFAIBLE,1,1,1;INT(W_TABACTIVITE<2,1,2>/W_TOTAL*10000+1/2))
    W_REPARTPLUSFAIBLE=REPLACE(W_REPARTPLUSFAIBLE,1,1,2;1)
    LOOP 
         UNTIL W_TABACTIVITE<2,I,1>="" DO
         W_TABACTIVITE=REPLACE(W_TABACTIVITE,3,I;INT(W_TABACTIVITE<2,I,2>/W_TOTAL*10000+1/2))
	 * AFFECTE SECTION ANAL
	 READ ENR_ACTIVITES FROM F.ACTIVITES,W_TABACTIVITE<1,I> THEN
 	      W_TABACTIVITE<4,I>=ENR_ACTIVITES<2>
	 END

         W_TOTALREPART=W_TOTALREPART+W_TABACTIVITE<3,I>

         * STOCKE LE POURCENTAGE LE + FORT
	 IF INT((W_TABACTIVITE<2,I,2>/W_TOTAL)*10000+1/2)>W_REPARTPLUSFORT<1,1,1> THEN
	      W_REPARTPLUSFORT=REPLACE(W_REPARTPLUSFORT,1,1,1;INT(W_TABACTIVITE<2,I,2>/W_TOTAL*10000+1/2))
              W_REPARTPLUSFORT=REPLACE(W_REPARTPLUSFORT,1,1,2;I)
 	 END

         * STOCKE LE POURCENTAGE LE + FAIBLE
	 IF INT((W_TABACTIVITE<2,I,2>/W_TOTAL)*10000+1/2)<W_REPARTPLUSFAIBLE<1,1,1> THEN
	      W_REPARTPLUSFAIBLE=REPLACE(W_REPARTPLUSFAIBLE,1,1,1;INT(W_TABACTIVITE<2,I,2>/W_TOTAL*10000+1/2))
              W_REPARTPLUSFAIBLE=REPLACE(W_REPARTPLUSFAIBLE,1,1,2;I)
 	 END
         I=I+1
    REPEAT

    IF W_TOTALREPART#10000 THEN
	 IF W_TOTALREPART<10000 THEN
	      W_RANGPLUSFORT=W_REPARTPLUSFORT<1,1,2>
 	      W_RANGPLUSFAIBLE=W_REPARTPLUSFAIBLE<1,1,2>

    	      W_TABACTIVITE=REPLACE(W_TABACTIVITE,3,W_RANGPLUSFORT;W_REPARTPLUSFORT<1,1,1>-(W_TOTALREPART-10000))
	 END ELSE
	      W_RANGPLUSFORT=W_REPARTPLUSFORT<1,1,2>
 	      W_RANGPLUSFAIBLE=W_REPARTPLUSFAIBLE<1,1,2>

    	      W_TABACTIVITE=REPLACE(W_TABACTIVITE,3,W_RANGPLUSFAIBLE;W_REPARTPLUSFAIBLE<1,1,1>-(W_TOTALREPART-10000))
	 END
    END ELSE
	 W_RANGPLUSFORT=W_REPARTPLUSFORT<1,1,2>
 	 W_RANGPLUSFAIBLE=W_REPARTPLUSFAIBLE<1,1,2>
    END

    IF W_TABACTIVITE<1,1>="" THEN
	 READ ENR_SECTANAL FROM F.TABLES,"SECTANAL" ELSE ENR_SECTANAL=""

	 W_TABACTIVITE<1,1>=ENR_SECTANAL<2,1>
 	 W_TABACTIVITE<3,1>="10000"
    END

RETURN

***************************************************
* CALCUL DU POURCENTAGE DE REPARTITION (SI ADM.)
***************************************************
402 *
    I=1

    W_TOTALREPART=0
    W_REPARTPLUSFORT=""
    W_REPARTPLUSFAIBLE=""
    W_REPARTPLUSFAIBLE=REPLACE(W_REPARTPLUSFAIBLE,1,1,1;ENR_CONTRAT<37,I>)
    W_REPARTPLUSFAIBLE=REPLACE(W_REPARTPLUSFAIBLE,1,1,2;1)

    LOOP 
         UNTIL ENR_CONTRAT<36,I>="" DO

         W_TABACTIVITE<1,I>=ENR_CONTRAT<36,I> 
         W_TABACTIVITE<3,I>=ENR_CONTRAT<37,I>

	 * AFFECTE SECTION ANAL
	 READ ENR_ACTIVITES FROM F.ACTIVITES,W_TABACTIVITE<1,I> THEN
 	      W_TABACTIVITE<4,I>=ENR_ACTIVITES<2>
	 END

         * STOCKE LE POURCENTAGE LE + FORT
	 IF ENR_CONTRAT<37,I>>W_REPARTPLUSFORT<1,1> THEN
	      W_REPARTPLUSFORT=REPLACE(W_REPARTPLUSFORT,1,1,1;ENR_CONTRAT<37,I>)
              W_REPARTPLUSFORT=REPLACE(W_REPARTPLUSFORT,1,1,2;I)
 	 END

         * STOCKE LE POURCENTAGE LE + FAIBLE
	 IF ENR_CONTRAT<37,I><W_REPARTPLUSFAIBLE<1,1> THEN
	      W_REPARTPLUSFAIBLE=REPLACE(W_REPARTPLUSFAIBLE,1,1,1;ENR_CONTRAT<37,I>)
              W_REPARTPLUSFAIBLE=REPLACE(W_REPARTPLUSFAIBLE,1,1,2;I)
 	 END

         I=I+1
    REPEAT

    W_RANGPLUSFORT=W_REPARTPLUSFORT<1,1,2>
    W_RANGPLUSFAIBLE=W_REPARTPLUSFAIBLE<1,1,2>

    IF W_TABACTIVITE<3,1>="" THEN
 	 W_TABACTIVITE<3,1>="10000"
    END

RETURN

***************************************************
* AFFECTATION FICHIER MATRICE RUB SAISIE (ECLAT.+PROD)
***************************************************
499 *

    I=1

    LOOP
	 UNTIL ENR_DETAIL<2,I>="" DO

	 W_CUMULSAISIE=ENR_DETAIL<5,I>

	 W_RUBSAISIEFORT=""

	 * COMPTE LE NBRE DE VALEURS DANS CALCUL %
         W_NBACTIVITEPOURC=DCOUNT(W_TABACTIVITE<1>,CHAR(253))

	 FOR J=1 TO W_NBACTIVITEPOURC
	      * LECTURE RUBRIQUE SAISIE
	      READ ENR_RUBSAISIE FROM F.RUBSAISIE,ENR_DETAIL<2,I> ELSE ENR_RUBSAISIE=""	

  	      * VERIFIE SI RUB. EXISTE
	      READ ENR_TEMPVENTILEDIT FROM F.TEMPVENTILEDIT,"S":ENR_DETAIL<2,I>:W_TABACTIVITE<4,J> THEN
		   ENR_TEMPVENTILEDIT<1>=ENR_RUBSAISIE<1>
		   ENR_TEMPVENTILEDIT<2>=ENR_TEMPVENTILEDIT<2>+INT(ENR_DETAIL<3,I>*W_TABACTIVITE<3,J>/10000+1/2)
		   IF ENR_DETAIL<5,I>>=0 THEN
   		       ENR_TEMPVENTILEDIT<3>=ENR_TEMPVENTILEDIT<3>+INT(ENR_DETAIL<5,I>*W_TABACTIVITE<3,J>/10000+1/2)
		   END ELSE
   		       ENR_TEMPVENTILEDIT<3>=ENR_TEMPVENTILEDIT<3>+INT(ENR_DETAIL<5,I>*W_TABACTIVITE<3,J>/10000-1/2)
		   END
	      END ELSE
		   ENR_TEMPVENTILEDIT=""
		   ENR_TEMPVENTILEDIT<1>=ENR_RUBSAISIE<1>
		   ENR_TEMPVENTILEDIT<2>=INT(ENR_DETAIL<3,I>*W_TABACTIVITE<3,J>/10000+1/2)
		   IF ENR_DETAIL<5,I>>=0 THEN
  		       ENR_TEMPVENTILEDIT<3>=INT(ENR_DETAIL<5,I>*W_TABACTIVITE<3,J>/10000+1/2)
		   END ELSE
  		       ENR_TEMPVENTILEDIT<3>=INT(ENR_DETAIL<5,I>*W_TABACTIVITE<3,J>/10000-1/2)
		   END
	      END		

	      WRITE ENR_TEMPVENTILEDIT ON F.TEMPVENTILEDIT,"S":ENR_DETAIL<2,I>:W_TABACTIVITE<4,J> 

            IF ENR_DETAIL<5,I>>=0 THEN
   	           W_CUMULSAISIE=W_CUMULSAISIE-INT(ENR_DETAIL<5,I>*W_TABACTIVITE<3,J>/10000+1/2)
	      END ELSE
   	           W_CUMULSAISIE=W_CUMULSAISIE-INT(ENR_DETAIL<5,I>*W_TABACTIVITE<3,J>/10000-1/2)
	      END

	      IF W_RUBSAISIEFORT="" THEN
		   W_RUBSAISIEFORT<1>="S":ENR_DETAIL<2,I>:W_TABACTIVITE<4,J> 
		   W_RUBSAISIEFORT<2>=ENR_TEMPVENTILEDIT<3>
	      END ELSE
		   IF W_RUBSAISIEFORT<2><ENR_TEMPVENTILEDIT<3> THEN
	  	        W_RUBSAISIEFORT<1>="S":ENR_DETAIL<2,I>:W_TABACTIVITE<4,J> 
		        W_RUBSAISIEFORT<2>=ENR_TEMPVENTILEDIT<3>
		   END
	      END

	      * MAJ FICHIER SECTION ANALYTIQUE DISPO	
	      K=1
	      LOOP
		   UNTIL ENR_SECTDISPO<K>=W_TABACTIVITE<4,J> OR ENR_SECTDISPO<K>="" DO
		   K=K+1
	      REPEAT
	      IF ENR_SECTDISPO<K>="" THEN ENR_SECTDISPO<K>=W_TABACTIVITE<4,J>

	 NEXT

	 IF W_CUMULSAISIE<>0 THEN
            READ ENR_TEMPVENTILEDIT FROM F.TEMPVENTILEDIT,W_RUBSAISIEFORT<1> THEN	
	           ENR_TEMPVENTILEDIT<3>=ENR_TEMPVENTILEDIT<3>+W_CUMULSAISIE
	      END
	      WRITE ENR_TEMPVENTILEDIT ON F.TEMPVENTILEDIT,W_RUBSAISIEFORT<1>
	 END
	 I=I+1
    REPEAT
    
    CUMULVERIF = 0
    VALANC = ""
    RUBFORT = 0

    FOR J=1 TO W_NBACTIVITEPOURC
      * MAJ BASE CUMUL
      READ ENR_TEMPVENTILEDIT FROM F.TEMPVENTILEDIT,INDSECTANA:W_TABACTIVITE<4,J> ELSE ENR_TEMPVENTILEDIT=""
	ENR_TEMPVENTILEDIT<3>=ENR_TEMPVENTILEDIT<3>+INT(ENR_DETAIL<7>*W_TABACTIVITE<3,J>/10000+1/2)
	CUMULVERIF = CUMULVERIF + INT(ENR_DETAIL<7>*W_TABACTIVITE<3,J>/10000+1/2)
	IF VALANC # "" THEN
		IF VALANC < INT(ENR_DETAIL<7>*W_TABACTIVITE<3,J>/10000+1/2) THEN
			RUBFORT = W_TABACTIVITE<4,J>
			VALANC = INT(ENR_DETAIL<7>*W_TABACTIVITE<3,J>/10000+1/2)
		END
	END ELSE
		RUBFORT = W_TABACTIVITE<4,J>
		VALANC = INT(ENR_DETAIL<7>*W_TABACTIVITE<3,J>/10000+1/2)
	END

      WRITE ENR_TEMPVENTILEDIT ON F.TEMPVENTILEDIT,INDSECTANA:W_TABACTIVITE<4,J> 	   
    NEXT

    VALANC = ENR_DETAIL<7> - CUMULVERIF
    IF VALANC # 0 THEN
      	READ ENR_TEMPVENTILEDIT FROM F.TEMPVENTILEDIT,INDSECTANA:RUBFORT ELSE ENR_TEMPVENTILEDIT=""
	      ENR_TEMPVENTILEDIT<3>=ENR_TEMPVENTILEDIT<3> + VALANC
		WRITE ENR_TEMPVENTILEDIT ON F.TEMPVENTILEDIT,INDSECTANA:RUBFORT
    END
RETURN

********************************************
* VERIFICATION SI DEMANDE DE REMBOURSEMENT *
********************************************

500

W_CDI = "FAUX"
DATFINCDD = ENR_CONTRAT<8>
DATFINCDD = DATFINCDD + 5
IF DATFINCDD < W_DATEFIN THEN
	W_CODEREMB = W_CODE[1,5]
	NUMCONT = 0
	LOOP
		NUMCONT = NUMCONT + 1
		NUMCONT = NUMCONT "R(%3)"
		W_CODEREMB = W_CODEREMB[1,5]:NUMCONT
		READ ENR_CONTRAT2 FROM F.CONTRAT,W_CODEREMB ELSE ENR_CONTRAT2 = "FIN"
	WHILE ENR_CONTRAT2 # "FIN" AND W_CDI = "FAUX"
		IF ENR_CONTRAT2<1> # "02" AND ENR_CONTRAT2<4> = "I" AND ENR_CONTRAT2<7> <= DATFINCDD AND ENR_CONTRAT2<65> = "" AND (ENR_CONTRAT2<8> => W_DATEDEB OR ENR_CONTRAT2<8> = "") AND (ENR_CONTRAT2<8> >= DATFINCDD OR ENR_CONTRAT2<8> = "") THEN
			W_CDI = "VRAI"
		END
	REPEAT
END

IF W_CDI = "VRAI" THEN
	CODTRAITANA = "VRAI"
	INDSECTANA = "REMB"
	DEBCDDREMB = ICONV("01/":W_PERIODEDEB[5,2]:"/":ANCDD,"D4/")
	FINCDDREMB = W_DATEDEB - 1

	EXECUTE 'SSELECT CONTRAT AVEC 0 = "':W_CODE[1,5]:']" AND AVEC 7 <= "':FINCDDREMB:'" AND AVEC 8 > "':DEBCDDREMB:'" OR = "" AND AVEC 4 = "D" AND AVEC 2 = "':W_ASSOC:'" AND AVEC 1 <> "02"'
	EXECUTE 'SAUVE-LISTE W_RESULTAT2'
	EXECUTE "LISTE W_RESULTAT2" RETURNING MSGCODE

	IF MSGCODE<1> # 209 THEN
		SELECT F.CONTRAT TO W_RESULTAT2
	END ELSE
		RETURN
	END

	W_PERIODEFINCDD = W_PERIODEDEB

	MOISCDD = W_PERIODEDEB[5,2]
	ANFINCDD = W_PERIODEDEB[1,4]
	ANFINCDD = ANFINCDD - 1
	W_PERIODEDEBCDD = ANFINCDD:MOISCDD

	W_FIN = "FAUX"

	LOOP
		READNEXT W_CODEREMB FROM W_RESULTAT2 ELSE W_FIN="VRAI"
	WHILE W_FIN = "FAUX"
		READ ENR_CONTRAT FROM F.CONTRAT,W_CODEREMB ELSE ENR_CONTRAT = "FIN"
		IF ENR_CONTRAT<13> = "" OR ENR_CONTRAT<13> = "FOC" OR ENR_CONTRAT<13> = "CEJ" THEN
			IREMB = IREMB + 1
			REMB = 0
			PER = W_PERIODEDEBCDD
			LOOP
			WHILE PER # W_PERIODEFINCDD
				READ ENR_DETAIL FROM F.DETAILCALCUL,W_CODEREMB:PER ELSE ENR_DETAIL = ""
				IF ENR_DETAIL # "" THEN

					IF PER < DATEURO THEN
						ENR_DETAIL<7> = INT(((ENR_DETAIL<7>/655957)*100000)+(1/2))
					END

					W_NBRUBSAISIE=DCOUNT(ENR_DETAIL<24>,CHAR(253))
	
					W_TABACTIVITE<1>=""
					W_TABACTIVITE<2>=""
					W_TABACTIVITE<3>=""
					W_TABACTIVITE<4>=""

					W_TOTAL=0
					W_RANG=1

					IF ENR_CONTRAT<6>="P" THEN
					* TEST SI ATT 24,25,26 RENSEIGNE
						IF W_NBRUBSAISIE=0 THEN
							I=1
							LOOP 
							UNTIL ENR_DETAIL<2,I>="" DO
								ENR_DETAIL<24,I>=ENR_DETAIL<2,I>
								IF ENR_DETAIL<3,I>="" THEN ENR_DETAIL<3,I>=0
								ENR_DETAIL<25,I>=ENR_DETAIL<3,I>
								ENR_DETAIL<26,I>=ENR_CONTRAT<36,1>
								ENR_DETAIL<27,I>=ENR_DETAIL<5,I>
								I=I+1
							REPEAT
				
	   						W_NBRUBSAISIE=DCOUNT(ENR_DETAIL<24>,CHAR(253))
						END		  	
	
						IF W_NBRUBSAISIE # 0 THEN
							FOR X=1 TO W_NBRUBSAISIE
								* CALCUL SOMME DES HEURES
								GOSUB 400
				      		NEXT
							* CALCUL % REPARTITION
							GOSUB 401
						END ELSE
							READ ENR_ACTIVITES FROM F.ACTIVITES,ENR_CONTRAT<36,1> ELSE ENR_ACTIVITES = ""
      						READ ENR_TEMPVENTILEDIT FROM F.TEMPVENTILEDIT,'BASE':ENR_ACTIVITES<2> ELSE ENR_TEMPVENTILEDIT=""
							IF ENR_TEMPVENTILEDIT<3> = "" THEN
								ENR_TEMPVENTILEDIT<3> = 0
							END
							ENR_TEMPVENTILEDIT<3> = ENR_TEMPVENTILEDIT<3> + ENR_DETAIL<7>
	      					WRITE ENR_TEMPVENTILEDIT ON F.TEMPVENTILEDIT,'BASE':ENR_ACTIVITES<2>
						END
					END ELSE
						* CALCUL % REPARTITION
						GOSUB 402
					END
							
					IF W_NBRUBSAISIE # 0 OR ENR_CONTRAT<6>="A" THEN
					* AFFECTATION FICHIER MATRICE SAISIE
						GOSUB 499
					END
	
				END

				REMB = REMB + ENR_DETAIL<7>
				PER = PER + 1
				IF PER[5,2] => 13 THEN
					PER = (PER[1,4] + 1):'01'
				END
			REPEAT
		END
	REPEAT
END ELSE
	CODTRAITANA = "FAUX"
	INDSECTANA = "BASE"
END

RETURN
