OPEN "","CONTRAT" TO F.CONTRAT ELSE STOP
OPEN "","CIVILAIDANT" TO F.CIVILAIDANT ELSE STOP
OPEN "","CIVILAIDE" TO F.CIVILAIDE ELSE STOP
OPEN "","FUSION" TO F.FUSION ELSE STOP
OPEN "","GRILLESCC" TO F.GRILLESCC ELSE STOP
OPEN "","SECTEUR" TO F.SECTEUR ELSE STOP

EXECUTE "SET-THOUS ."
EXECUTE "SET-DEC ,"
EXECUTE "DATE.FORMAT"
W_DateDeb = ""
LOOP
PRINT "Periode (AAAAMM) ?"
INPUT W_DateDeb
IF W_DateDeb = "" THEN
	PRINT "Traitement abandonn."
	STOP
END
IF  NOT ( W_DateDeb MATCHES "6N") THEN
	W_DateDeb = ""
END ELSE
	IF W_DateDeb[5,2] > 12 OR W_DateDeb[5,2] < 1 THEN
		W_DateDeb = ""
	END ELSE
		IF W_DateDeb[1,4] < 2000 OR W_DateDeb[1,4] > 2020 THEN
			W_DateDeb = ""
		END
	END 
END
WHILE W_DateDeb = ""
	PRINT "Saisie invalide."
REPEAT
W_Per = W_DateDeb 
W_DateDeb = ICONV("01/":W_Per[5,2]:"/":W_Per[1,4],"D4/")
ENR = ""
ENR<1> = "Code;Nom aidant;Etablissement;Type contrat;Nature;Date debut;Date fin;Nb hres mensuel;Date de calcul grille;Coefficient;Taux horaire;Categorie"
EXECUTE 'SELECT CONTRAT AVEC 1 # "02" AND AVEC 65 # "O" AND AVEC 7 <= "':W_DateDeb:'" AND AVEC 8 >= "':W_DateDeb:'" OR = "" PAR 3 PAR NomPrenomAidantContrat'
W_Fin = "F"
LOOP
READNEXT W_Cle ELSE W_Fin = "V"
WHILE W_Fin = "F"
   READ ENR_CONTRAT FROM F.CONTRAT, W_Cle THEN
	READ ENR_CIVILAIDANT FROM F.CIVILAIDANT, W_Cle[1,5] THEN
		READ ENR_SECTEUR FROM F.SECTEUR, ENR_CIVILAIDANT<31> ELSE ENR_SECTEUR = ""

	*READ ENR_CIVILAIDE FROM F.CIVILAIDE, ENR_CONTRAT<3> THEN
		i = 0
		LOOP
			i = i + 1
		WHILE ENR_CONTRAT<14,i> # "" AND ENR_CONTRAT<15,i> <= W_DateDeb
		REPEAT
		i = i - 1
		BEGIN CASE
 	     	       CASE ENR_CONTRAT<25,i> = "1"
        	   	  W_Hres = INT((ENR_CONTRAT<24,i>*52/12) + (1/2))
	      	       CASE ENR_CONTRAT<25,i> = "2"
        	  	  W_Hres = INT((ENR_CONTRAT<24,i>*26/12) + (1/2))
	    	       CASE ENR_CONTRAT<25,i> = "3"
        	 	  W_Hres = (ENR_CONTRAT<24,i>)
	       	       CASE ENR_CONTRAT<25,i> = "4"
        	   	  W_Hres = INT((ENR_CONTRAT<24,i>/12) + (1/2))
		       CASE 1
			  W_Hres = 0
   	        END CASE
		IF OCONV(ENR_CONTRAT<21,i>,"D4/")[4,2] = W_Per[5,2] THEN
		 READ ENR_GRILLESCC FROM F.GRILLESCC, ENR_CONTRAT<20,i> THEN
			W_Grille = ENR_GRILLESCC<7>
		 END ELSE
			W_Grille = ""
		 END
		 W_PARAMS=""
		 W_SORTIE=""
 		 W_PARAMS<1>=W_Cle
 		 W_PARAMS<2>="0"
 		 W_PARAMS<3>=W_Per
 		 CALL CALCCOEFFTXHOR("",W_PARAMS,W_SORTIE)
		 IF ENR_CONTRAT<8> = "" THEN
			W_datefin = ""
		 END ELSE
			W_datefin = OCONV(ENR_CONTRAT<8>,"D4/")
		 END
		 PRINT W_Cle[1,5]:";":ENR_CIVILAIDANT<1>:" ":ENR_CIVILAIDANT<2>:" ":ENR_CIVILAIDANT<3>:";":ENR_CONTRAT<3>:";":ENR_CONTRAT<4>:";":ENR_CONTRAT<13>:";":OCONV(ENR_CONTRAT<7>,"D4/"):";":W_datefin:";":W_Hres/100:";":OCONV(ENR_CONTRAT<21,i>,"D4/"):";":W_SORTIE<1>:";":W_SORTIE<2>:";":W_Grille
		 ENR<-1> = W_Cle[1,5]:";":ENR_CIVILAIDANT<1>:" ":ENR_CIVILAIDANT<2>:" ":ENR_CIVILAIDANT<3>:";":ENR_CONTRAT<3>:";":ENR_CONTRAT<4>:";":ENR_CONTRAT<13>:";":OCONV(ENR_CONTRAT<7>,"D4/"):";":W_datefin:";":W_Hres/100:";":OCONV(ENR_CONTRAT<21,i>,"D4/"):";":W_SORTIE<1>:";":W_SORTIE<2>:";":W_Grille:";":ENR_SECTEUR<1>
		END
	*END
	END
   END
REPEAT
WRITE ENR ON F.FUSION, "ListeContrats":W_Per:".csv"
STOP