**********************************************************
*  EDITION DU PLANNING
*  Vanessa
*  AVRIL 2001
*  CELINE
*  AVRIL 2001
**********************************************************

* Ouvertures des fichiers

EXECUTE "SET-THOUS ."
EXECUTE "SET-DEC ,"
EXECUTE "DATE.FORMAT"
OPEN "","TPSDETAILINTERV" TO F.TPSDETAILINTERV ELSE PRINT "OUVERTURE TPSDETAILINTERV" ;* en lecture
OPEN "","TPSPARAMETRES" TO F.TPSPARAMETRES ELSE PRINT "OUVERTURE TPSPARAMETRES" ;* en lecture
OPEN "","TEMPO" TO F.TEMPO ELSE PRINT "OUVERTURE TEMPO" ;* en ecriture 
OPEN "","CIVILAIDE" TO F.CIVILAIDE ELSE PRINT "OUVERTURE CIVILAIDE" ;* en lecture
OPEN "","CIVILAIDANT" TO F.CIVILAIDANT ELSE PRINT "OUVERTURE CIVILAIDANT" ;* en lecture
OPEN "","CONTRAT" TO F.CONTRAT ELSE PRINT "OUVERTURE CONTRAT" ;* en lecture
OPEN "","ABSENCESAIDANT" TO F.ABSENCESAIDANT ELSE PRINT "OUVERTURE ABSENCESAIDANT" ;* en lecture
OPEN "","ACTIVITESAIDE" TO F.ACTIVITESAIDE ELSE PRINT "OUVERTURE ACTIVITESAIDE" ;* en lecture
OPEN "","ACTIVITES" TO F.ACTIVITES ELSE PRINT "OUVERTURE ACTIVITES" ;* en lecture
*********************************************************
* initialisation des variables

W_DateDeb=""
W_DateFin=""
W_Pos=""
W_DateDebInterv=""
W_NumJour=""
W_Jour=""
W_MinuteDeb=""
W_HreDeb=""
W_HeureDeb=""
W_MinuteFin=""
W_HreFin=""
W_HeureFin=""
W_NomPrenom=""
W_LongHreFin=""
*Ne pas mettre le fichier TEMPO  vide, ni le code de l'ancien aidant, ni le total des attributs du fichier TEMPO besoin lors d' l'dition individuelle si on choisit plusieurs aidant
*W_AncienAidant=""
*W_CountTempo=""
W_CountAbs=""
W_TabAbs=""
W_AidantDiff="True"
i=0
jAbs=0
j=0
*********************************************************
* Recuperation des arguments

PROCREAD ARGUMENTS ELSE STOP
W_Edit=FIELD(ARGUMENTS," ",2)
W_Debut=FIELD(ARGUMENTS," ",3)
W_Fin=FIELD(ARGUMENTS," ",4)

IF W_Edit = "T" THEN
   W_Assoc=FIELD(ARGUMENTS," ",5)
   W_Choix=FIELD(ARGUMENTS," ",6)
   W_Select=FIELD(ARGUMENTS," ",7)
END ELSE
   W_CodeAidant=FIELD(ARGUMENTS," ",5)
   W_Assoc=FIELD(ARGUMENTS," ",6)
END
*********************************************************
* PROGRAMME PRINCIPAL
*********************************************************

   READ ENR_TEMPO FROM F.TEMPO,"EDITPLANNING" ELSE ENR_TEMPO=""	

   W_Temp='SSELECT TPSDETAILINTERV AVEC DateDebInterv <= "':W_Fin:'" AND AVEC 1 >= "':W_Debut:'" OR = ""'

   IF W_Edit = "T" THEN
      W_Temp=W_Temp:' AND AVEC 7 = "':W_Assoc:'"'
      IF W_Choix="S" AND W_Select # "" THEN
         W_Temp=W_Temp:' AND AVEC CodeSecteurAidant = "':W_Select:'"'
      END ELSE
         IF W_Choix="S" AND W_Select = "" THEN
            W_Temp=W_Temp:' PAR NomSecteurAidant'
         END
      END
      IF W_Choix="C" AND W_Select # "" THEN
         W_Temp=W_Temp:' AND AVEC CommuneAidant = "':W_Select:'"'
      END ELSE
         IF W_Choix="C" AND W_Select = "" THEN
            W_Temp=W_Temp:' PAR CommuneAidant'
         END
      END
   END ELSE
      W_Temp=W_Temp:' AND AVEC CodeAidant = "':W_CodeAidant:'" AND AVEC 7 = "':W_Assoc:'"'
   END

   W_Temp=W_Temp:' PAR NomAidant PAR CodeAidant PAR DateDebInterv'

   EXECUTE W_Temp
   EXECUTE 'SAUVE-LISTE W_RequeteInterv'
   EXECUTE "LISTE W_RequeteInterv" RETURNING MSGCODE

	IF W_Edit = "T" THEN
		W_AncienAidant=""
		W_CountTempo=""
	END	

   *ENR_TEMPO=""

   IF MSGCODE<1>=209 THEN
      STOP
   END ELSE
      SELECT F.TPSDETAILINTERV TO W_RequeteInterv

      W_End="FAUX"
      W_AidantDiff="True"
      LOOP
         READNEXT W_Cle FROM W_RequeteInterv ELSE W_End = "VRAI"
      WHILE W_End = "FAUX" DO
	 *j=j+1
         READ ENR_TPSDETAILINTERV FROM F.TPSDETAILINTERV,W_Cle ELSE ENR_TPSDETAILINTERV=""


	   IF W_Edit="T" THEN

		IF W_Choix="S" THEN
			IF W_Select#"" THEN
				W_Secteur=W_Select
			END ELSE
	   			READ ENR_CIVILAIDANT FROM F.CIVILAIDANT,W_Cle[1,5] ELSE ENR_CIVILAIDANT=""
	   			W_Secteur=ENR_CIVILAIDANT<31>
			END
		END ELSE
			IF W_Choix="C" THEN
				IF W_Select#"" THEN
					W_Secteur=W_Select[1,25]
				END ELSE
	   				READ ENR_CIVILAIDANT FROM F.CIVILAIDANT,W_Cle[1,5] ELSE ENR_CIVILAIDANT=""
	   				W_Secteur=ENR_CIVILAIDANT<11>[1,25]		
				END
			END ELSE
	   			READ ENR_CIVILAIDANT FROM F.CIVILAIDANT,W_Cle[1,5] ELSE ENR_CIVILAIDANT=""
	   			W_Secteur=ENR_CIVILAIDANT<31>				

			END
		END
	   END ELSE
		READ ENR_CIVILAIDANT FROM F.CIVILAIDANT,W_Cle[1,5] ELSE ENR_CIVILAIDANT=""
		W_Secteur=ENR_CIVILAIDANT<31>	
	   END

         W_DateDebInterv=W_Cle[11,5]
         W_DateFinInterv=ENR_TPSDETAILINTERV<1>

         W_Count=DCOUNT(ENR_TPSDETAILINTERV<2>,CHAR(253))

	 W_TempAbs='SSELECT ABSENCESAIDANT AVEC CodeAidant = "':W_Cle[1,5]:'" AND AVEC DebAbsAidant <= "':INT(W_Fin):'" AND AVEC NumMotifAidant <> "':"018":'" AND AVEC NumMotifAidant <> "':"019":'" AND AVEC NumMotifAidant <> "':"020":'" AND AVEC NumMotifAidant <> "':"021":'" AND AVEC 2 >= "':INT(W_Debut):'" OR = ""'	
	 W_TempAbs=W_TempAbs:' PAR DebAbsAidant PAR 1 '
   	 EXECUTE W_TempAbs
   	 EXECUTE 'SAUVE-LISTE W_RequeteAbs'
   	 EXECUTE "LISTE W_RequeteAbs" RETURNING MSGCODE
   	 IF MSGCODE<1>=209 THEN
		W_TabAbs=""
    	 END ELSE
	      	 SELECT F.ABSENCESAIDANT TO W_RequeteAbs

	      	 W_EndBis="FAUX"
     		 LOOP
         		READNEXT W_CleAbs FROM W_RequeteAbs ELSE W_EndBis = "VRAI"
	      	 WHILE W_EndBis = "FAUX" DO
			jAbs=jAbs+1
         		READ ENR_ABSENCESAIDANT FROM F.ABSENCESAIDANT,W_CleAbs ELSE ENR_ABSENCESAIDANT=""

	 		W_TabAbs<jAbs,1>=W_CleAbs[8,5]
			W_TabAbs<jAbs,2>=ENR_ABSENCESAIDANT<2>
		 REPEAT
	 END

         IF INT(W_Debut) > INT(W_Cle[11,5]) THEN
            W_DateDeb=W_Debut
         END ELSE
            W_DateDeb=W_Cle[11,5]
         END

         FOR i = 1 TO W_Count
         	IF INT(W_Debut) > INT(W_Cle[11,5]) THEN
            		W_DateDeb=W_Debut
         	END ELSE
            		W_DateDeb=W_Cle[11,5]
         	END

               READ ENR_CONTRAT FROM F.CONTRAT,ENR_TPSDETAILINTERV<13> ELSE ENR_CONTRAT=""
               IF ENR_CONTRAT<96> # "" AND INT(W_Fin) >= INT(ENR_CONTRAT<96>) THEN
			IF W_DateFinInterv="" THEN
	                	W_DateFinInterv=ENR_CONTRAT<96>
			END ELSE
				IF W_DateFinInterv >= ENR_CONTRAT<96> THEN
					W_DateFinInterv=ENR_CONTRAT<96>
				END
			END
               END ELSE
                  IF ENR_CONTRAT<8> # "" AND INT(W_Fin) >= INT(ENR_CONTRAT<8>) THEN
                     W_DateFinInterv=ENR_CONTRAT<8>
                  END 
               END

		IF ENR_TPSDETAILINTERV<12> # "" THEN
               		READ ENR_ABSENCESAIDANT FROM F.ABSENCESAIDANT,ENR_TPSDETAILINTERV<12> ELSE ENR_ABSENCESAIDANT=""
               		IF ENR_ABSENCESAIDANT<2> # "" AND INT(W_Fin) >= INT(ENR_ABSENCESAIDANT<2>) THEN
				IF W_DateFinInterv="" THEN
	                  		W_DateFinInterv=ENR_ABSENCESAIDANT<2>
				END ELSE
					IF INT(ENR_ABSENCESAIDANT<2>) <= W_DateFinInterv THEN
						W_DateFinInterv=ENR_ABSENCESAIDANT<2>
					END
				END
               		END 
		END

               READ ENR_ACTIVITESAIDE FROM F.ACTIVITESAIDE,W_Cle[6,5] ELSE ENR_ACTIVITESAIDE=""
               j=1
*PRINT W_Cle[16,6]:"  ":ENR_ACTIVITESAIDE<1,j>
*DEBUG
               LOOP
               UNTIL W_Cle[16,6]=ENR_ACTIVITESAIDE<1,j>
*PRINT "boucle"
*DEBUG
               *UNTIL ENR_TPSDETAILINTERV<10,i>=ENR_ACTIVITESAIDE<1,j>
                  j=j+1
               REPEAT
               IF ENR_ACTIVITESAIDE<3,j> # "" AND INT(W_Fin) >= INT(ENR_ACTIVITESAIDE<3,j>) THEN
		  IF W_DateFinInterv="" THEN
	                W_DateFinInterv=ENR_ACTIVITESAIDE<3,j>
		  END ELSE
			IF ENR_ACTIVITESAIDE<3,j> <= W_DateFinInterv THEN
				W_DateFinInterv=ENR_ACTIVITESAIDE<3,j>
			END
		  END
               END                
 

	    IF W_DateFinInterv # "" THEN
	       IF INT(W_Fin) > INT(W_DateFinInterv) THEN
         	     W_DateFin=W_DateFinInterv
               END ELSE
             	     W_DateFin=W_Fin
               END
	    END ELSE
		W_DateFin=W_Fin
	    END

	    GOSUB 100

	    ENR_TPSDETAILINTERV<2,i>=ENR_TPSDETAILINTERV<2,i>+1

	    IF ENR_TPSDETAILINTERV<2,i>="7" THEN
		ENR_TPSDETAILINTERV<2,i>="0"
	    END

	    IF ENR_TPSDETAILINTERV<2,i>=W_NumJour THEN
		GOSUB 150
	    END ELSE
		IF ENR_TPSDETAILINTERV<2,i> > W_NumJour THEN
			*Calcul de la date correspondant au jour d'intervention
			W_NbJour=ENR_TPSDETAILINTERV<2,i>-W_NumJour
			W_DateDeb=W_DateDeb+W_NbJour
			*W_DateDeb=W_DateDeb+1

				GOSUB 100
				GOSUB 150

		END ELSE			
			IF ENR_TPSDETAILINTERV<2,i> < W_NumJour THEN
				*Calcul de la date correspondant au jour d'intervention
				*W_NbJour=W_NumJour-ENR_TPSDETAILINTERV<2,i>-1
				*W_NbJour=ENR_TPSDETAILINTERV<2,i>+2
				W_NbJour=7-(W_NumJour-ENR_TPSDETAILINTERV<2,i>)
				W_DateDeb=W_DateDeb+W_NbJour

					GOSUB 100
					GOSUB 150

			END
		END
	    END

         NEXT i

      REPEAT
	WRITE ENR_TEMPO ON F.TEMPO,"EDITPLANNING"
   END

STOP

**************************************************************
*  PROCEDURE POUR RECUPERER LE JOUR
*
**************************************************************
100


	    BEGIN CASE
		CASE OCONV(W_DateDeb,"DW")="1"
			W_NumJour="1"
			W_Jour="LUNDI"
		CASE OCONV(W_DateDeb,"DW")="2"
			W_NumJour="2"
			W_Jour="MARDI"
		CASE OCONV(W_DateDeb,"DW")="3"
			W_NumJour="3"
			W_Jour="MERCREDI"
		CASE OCONV(W_DateDeb,"DW")="4"
			W_NumJour="4"
			W_Jour="JEUDI"
		CASE OCONV(W_DateDeb,"DW")="5"
			W_NumJour="5"
			W_Jour="VENDREDI"
		CASE OCONV(W_DateDeb,"DW")="6"
			W_NumJour="6"
			W_Jour="SAMEDI"
		CASE OCONV(W_DateDeb,"DW")="0"
			W_NumJour="0"
			W_Jour="DIMANCHE"
	    END CASE	

RETURN

***********************************************************
*   TRI DU FICHIER TEMPO AU FUR ET A MESURE
***********************************************************
150

	IF W_Cle[1,5]<>W_AncienAidant AND W_AncienAidant<>"" AND W_AncienAidant <> "0" THEN
		*Si l'aidant est diffrent par rapport au prcdent on part du dernier tempo crer
		W_CountTempo=DCOUNT(ENR_TEMPO,CHAR(254))

		j=W_CountTempo+1
		W_AidantDiff="False"
		W_AncienAidant=W_Cle[1,5]

	END ELSE
		IF W_AncienAidant="" THEN
			W_AncienAidant=W_Cle[1,5]
		END

		IF W_AidantDiff="False" THEN
			j=W_CountTempo+1
		END ELSE
			W_AidantDiff="True"
			j=1
		END
	END

*PRINT "W_DateDeb1 :":W_DateDeb
*PRINT "W_DateFin1 :":W_DateFin

	LOOP

	WHILE INT(W_DateDeb) <= INT(W_DateFin) DO

*PRINT "W_DateDeb :":W_DateDeb
*PRINT "W_DateFin :":W_DateFin
*DEBUG
		W_Interv="FAUX"

		W_CountAbs=DCOUNT(W_TabAbs,CHAR(254))
		IF W_TabAbs <> "" THEN
			FOR jAbs=1 TO W_CountAbs
				IF INT(W_DateDeb) < INT(W_TabAbs<jAbs,1>) THEN
					IF  jAbs > "1" THEN
						IF W_TabAbs<jAbs-1,1> <> "" THEN
							IF W_TabAbs<jAbs,2> <> "" THEN
								IF INT(W_DateDeb) > W_TabAbs<jAbs-1,2> THEN
									W_Interv="VRAI"
									EXIT
								END
							END ELSE
								IF INT(W_DateDeb) > W_TabAbs<jAbs-1,1> THEN
									W_Interv="VRAI"
									EXIT
								END
							END
						END
					END ELSE
						W_Interv="VRAI"
						EXIT
					END
					 
				END ELSE
					IF W_TabAbs<jAbs,2> <> "" THEN
						IF INT(W_DateDeb) > INT(W_TabAbs<jAbs,2>) THEN
							IF W_TabAbs<jAbs+1,1> <> "" THEN
								IF INT(W_DateDeb) < INT(W_TabAbs<jAbs+1,1>) THEN
									W_Interv="VRAI"
									EXIT
								END
							END ELSE
								W_Interv="VRAI"
								EXIT
							END

						END	
						 
					END ELSE
						IF INT(W_DateDeb) > INT(W_TabAbs<jAbs,1>) THEN	
							IF W_TabAbs<jAbs+1,1> <> "" THEN
								IF INT(W_DateDeb) < INT(W_TabAbs<jAbs+1,1>) THEN
									W_Interv="VRAI"
									EXIT
								END
							END ELSE
								W_Interv="VRAI"
								EXIT
							END

						END	
					END
				END
			NEXT jAbs
		END ELSE
			W_Interv="VRAI"
		END

		IF W_Interv="VRAI" THEN
			IF ENR_TEMPO<j,1>#"" THEN
				IF INT(ENR_TEMPO<j,1>)=INT(W_DateDeb) THEN
					IF INT(ENR_TEMPO<j,3>) > INT(ENR_TPSDETAILINTERV<3,i>) THEN
						*INSERER EN J
						GOSUB 170
						IF ENR_TPSDETAILINTERV<5,i> = 0 THEN
							W_DateDeb=W_DateDeb+7
						END ELSE
							IF ENR_TPSDETAILINTERV<5,i> = 1 THEN
								W_DateDeb=W_DateDeb+14
							END ELSE
								IF ENR_TPSDETAILINTERV<5,i> = 2 THEN
									W_DateDeb=W_DateDeb+21
								END ELSE
									W_DateDeb=W_DateDeb+28
								END
							END
						END
					END ELSE	
						IF ENR_TEMPO<j+1,1>#"" THEN
							IF INT(ENR_TEMPO<j+1,1>) > INT(W_DateDeb) THEN
								*INSERER EN J+1
								j=j+1
								GOSUB 170
								IF ENR_TPSDETAILINTERV<5,i> = 0 THEN
									W_DateDeb=W_DateDeb+7
								END ELSE
									IF ENR_TPSDETAILINTERV<5,i> = 1 THEN
										W_DateDeb=W_DateDeb+14
									END ELSE
										IF ENR_TPSDETAILINTERV<5,i> = 2 THEN
											W_DateDeb=W_DateDeb+21
										END ELSE
											W_DateDeb=W_DateDeb+28
										END	
									END
								END
							END ELSE
								IF INT(ENR_TEMPO<j+1,1>)=INT(W_DateDeb) THEN
									IF INT(ENR_TEMPO<j+1,3>) > INT(ENR_TPSDETAILINTERV<3,i>) THEN
										*INSERER EN J+1
										j=j+1
										GOSUB 170
										IF ENR_TPSDETAILINTERV<5,i> = 0 THEN
											W_DateDeb=W_DateDeb+7
										END ELSE
											IF ENR_TPSDETAILINTERV<5,i> = 1 THEN
												W_DateDeb=W_DateDeb+14
											END ELSE
												IF ENR_TPSDETAILINTERV<5,i> = 2 THEN
													W_DateDeb=W_DateDeb+21
												END ELSE
													W_DateDeb=W_DateDeb+28
												END
											END
										END	
									END
								END
							END
						END
					END
				END ELSE
					IF INT(ENR_TEMPO<j,1>) < INT(W_DateDeb) THEN
						IF ENR_TEMPO<j+1,1>#"" THEN
							IF INT(ENR_TEMPO<j+1,1>) = INT(W_DateDeb) THEN
								IF INT(ENR_TEMPO<j+1,3>) > INT(ENR_TPSDETAILINTERV<3,i>) THEN
									*INSERER EN J+1
									j=j+1
									GOSUB 170
									IF ENR_TPSDETAILINTERV<5,i> = 0 THEN
										W_DateDeb=W_DateDeb+7
									END ELSE
										IF ENR_TPSDETAILINTERV<5,i> = 1 THEN
											W_DateDeb=W_DateDeb+14
										END ELSE
											IF ENR_TPSDETAILINTERV<5,i> = 2 THEN
												W_DateDeb=W_DateDeb+21
											END ELSE
												W_DateDeb=W_DateDeb+28
											END
										END
									END
								END
							END ELSE
								IF INT(ENR_TEMPO<j+1,1>) > INT(W_DateDeb) THEN
									*INSERER EN J+1
									j=j+1
									GOSUB 170
									IF ENR_TPSDETAILINTERV<5,i> = 0 THEN
										W_DateDeb=W_DateDeb+7
									END ELSE
										IF ENR_TPSDETAILINTERV<5,i> = 1 THEN
											W_DateDeb=W_DateDeb+14
										END ELSE
											IF ENR_TPSDETAILINTERV<5,i> = 2 THEN
												W_DateDeb=W_DateDeb+21
											END ELSE
												W_DateDeb=W_DateDeb+28
											END
										END
									END
								END
							END
						END ELSE
							j=j+1

							GOSUB 160
							IF ENR_TPSDETAILINTERV<5,i> = 0 THEN
								W_DateDeb=W_DateDeb+7
							END ELSE
								IF ENR_TPSDETAILINTERV<5,i> = 1 THEN
									W_DateDeb=W_DateDeb+14
								END ELSE
									IF ENR_TPSDETAILINTERV<5,i> = 2 THEN
										W_DateDeb=W_DateDeb+21
									END ELSE
										W_DateDeb=W_DateDeb+28
									END
								END
							END
						END
					END ELSE
						IF INT(ENR_TEMPO<j,1>) > INT(W_DateDeb) THEN
							*INSERER EN J
							GOSUB 170
							IF ENR_TPSDETAILINTERV<5,i> = 0 THEN
								W_DateDeb=W_DateDeb+7
							END ELSE
								IF ENR_TPSDETAILINTERV<5,i> = 1 THEN
									W_DateDeb=W_DateDeb+14
								END ELSE
									IF ENR_TPSDETAILINTERV<5,i> = 2 THEN
										W_DateDeb=W_DateDeb+21
									END ELSE
										W_DateDeb=W_DateDeb+28
									END
								END
							END
						END
					END
				END	
			END ELSE
				*REMPLIR EN J

				GOSUB 160

				IF ENR_TPSDETAILINTERV<5,i> = 0 THEN
					W_DateDeb=W_DateDeb+7
				END ELSE
					IF ENR_TPSDETAILINTERV<5,i> = 1 THEN
						W_DateDeb=W_DateDeb+14
					END ELSE
						IF ENR_TPSDETAILINTERV<5,i> = 2 THEN
							W_DateDeb=W_DateDeb+21
						END ELSE
							W_DateDeb=W_DateDeb+28
						END
					END
				END
			END
			j=j+1
		END ELSE
			IF ENR_TPSDETAILINTERV<5,i> = 0 THEN
				W_DateDeb=W_DateDeb+7
			END ELSE
				IF ENR_TPSDETAILINTERV<5,i> = 1 THEN
					W_DateDeb=W_DateDeb+14
				END ELSE
					IF ENR_TPSDETAILINTERV<5,i> = 2 THEN
						W_DateDeb=W_DateDeb+21
					END ELSE
						W_DateDeb=W_DateDeb+28
					END
				END
			END
		END
	
	REPEAT
*PRINT "titi"
*DEBUG

RETURN

**************************************************
*   MISE EN FORME DU FICHIER TEMPO
**************************************************
160

W_Pos=""


		*ENR_TEMPO<j,1>=OCONV(W_DateDeb,"D4/")[1,5]
		ENR_TEMPO<j,1>=W_DateDeb
		ENR_TEMPO<j,2>=W_Jour

		READ ENR_TPSPARAMETRES FROM F.TPSPARAMETRES,"1" ELSE ENR_TPSPARAMETRES=""	
*		READ ENR_TPSPARAMETRES FROM F.TPSPARAMETRES,ENR_TPSDETAILINTERV<7,1> ELSE ENR_TPSPARAMETRES=""

		IF ENR_TPSPARAMETRES<5>="1" THEN


			W_LongMinuteDeb=LEN(ENR_TPSDETAILINTERV<3,i>)
			W_LongMinuteDeb=W_LongMinuteDeb-1
			W_MinuteDeb=ENR_TPSDETAILINTERV<3,i>[W_LongMinuteDeb,2]
			W_MinuteDeb=W_MinuteDeb*3
			W_MinuteDeb=W_MinuteDeb/5
			W_Pos=INDEX(W_MinuteDeb,",",1)
			IF W_Pos=2 THEN
				W_MinuteDeb="0":W_MinuteDeb[1,1]
			END ELSE
				IF W_Pos=3 THEN
					W_MinuteDeb=W_MinuteDeb[1,2]
				END ELSE
					IF LEN(W_MinuteDeb)=1 THEN
						W_MinuteDeb="0":W_MinuteDeb
					END ELSE
						W_MinuteDeb=W_MinuteDeb
					END
				END
			END

			W_LongHreDeb=LEN(ENR_TPSDETAILINTERV<3,i>)
			W_LongHreDeb=W_LongHreDeb-2
			W_HreDeb=ENR_TPSDETAILINTERV<3,i>[1,W_LongHreDeb]
			W_HeureDeb=W_HreDeb:W_MinuteDeb

			W_LongMinuteFin=LEN(ENR_TPSDETAILINTERV<4,i>)
			W_LongMinuteFin=W_LongMinuteFin-1
			W_MinuteFin=ENR_TPSDETAILINTERV<4,i>[W_LongMinuteFin,2]
			W_MinuteFin=W_MinuteFin*3
			W_MinuteFin=W_MinuteFin/5

			W_Pos=INDEX(W_MinuteFin,",",1)
			IF W_Pos=2 THEN
				W_MinuteFin="0":W_MinuteFin[1,1]
			END ELSE
				IF W_Pos=3 THEN
					W_MinuteFin=W_MinuteFin[1,2]
				END ELSE
					IF LEN(W_MinuteFin)=1 THEN
						W_MinuteFin="0":W_MinuteFin
					END ELSE
						W_MinuteFin=W_MinuteFin
					END
				END
			END

			W_LongHreFin=LEN(ENR_TPSDETAILINTERV<4,i>)
			W_LongHreFin=W_LongHreFin-2
			W_HreFin=ENR_TPSDETAILINTERV<4,i>[1,W_LongHreFin]
			W_HeureFin=W_HreFin:W_MinuteFin

		END ELSE
			W_HeureDeb=ENR_TPSDETAILINTERV<3,i>
			W_HeureFin=ENR_TPSDETAILINTERV<4,i>
		END

		ENR_TEMPO<j,3>=W_HeureDeb
		ENR_TEMPO<j,4>=W_HeureFin


		READ ENR_CIVILAIDE FROM F.CIVILAIDE,W_Cle[6,5] ELSE ENR_CIVILAIDE=""

		ENR_TEMPO<j,5>=W_Cle[6,5]
		W_NomPrenom=ENR_CIVILAIDE<2>[1,20]:" ":ENR_CIVILAIDE<3>[1,20]
		ENR_TEMPO<j,6>=W_NomPrenom
		ENR_TEMPO<j,7>=ENR_CIVILAIDE<14>
		
		TabForme=ENR_CIVILAIDE
		IndForme=5
		GOSUB 200
		W_Adresse=MiseEnFormeAdresse1
		IF W_Adresse#"" THEN
			ENR_TEMPO<j,8>=W_Adresse[1,30]
			ENR_TEMPO<j,9>=ENR_CIVILAIDE<10>:" ":ENR_CIVILAIDE<11>[1,20]
		END ELSE
			IF ENR_CIVILAIDE<9>#"" THEN
				ENR_TEMPO<j,8>=ENR_CIVILAIDE<9>[1,30]
				ENR_TEMPO<j,9>=ENR_CIVILAIDE<10>:" ":ENR_CIVILAIDE<11>[1,20]
			END ELSE
				ENR_TEMPO<j,8>=ENR_CIVILAIDE<10>:" ":ENR_CIVILAIDE<11>[1,20]
				ENR_TEMPO<j,9>=SPACE(30)
			END
		END
*PRINT "W_Adresse :":W_Adresse
*PRINT "ENR_CIVILAIDE<9> :":ENR_CIVILAIDE<9>
*PRINT "ENR_CIVILAIDE<10> :":ENR_CIVILAIDE<10>
*PRINT "ENR_CIVILAIDE<11> :":ENR_CIVILAIDE<11>
*PRINT "ENR_TEMPO<j,8> :":ENR_TEMPO<j,8>
*DEBUG
		READ ENR_ACTIVITES FROM F.ACTIVITES,W_Cle[16,6] ELSE ENR_ACTIVITES=""
		*READ ENR_ACTIVITES FROM F.ACTIVITES,ENR_TPSDETAILINTERV<10,i> ELSE ENR_ACTIVITES=""

		ENR_TEMPO<j,10>=ENR_ACTIVITES<12>
		ENR_TEMPO<j,11>=ENR_TPSDETAILINTERV<6,1>[1,20]
		ENR_TEMPO<j,12>=ENR_TPSDETAILINTERV<6,1>[20,10]
		ENR_TEMPO<j,13>=W_Cle[1,5]
		ENR_TEMPO<j,14>=W_Secteur

RETURN
*********************************************************
*  INSERTION DANS FICHIER TEMPO
*********************************************************
170

W_Pos=""


		ENR_TEMPO=INSERT(ENR_TEMPO,j;W_DateDeb)
		ENR_TEMPO=INSERT(ENR_TEMPO,j,2;W_Jour)	
		READ ENR_TPSPARAMETRES FROM F.TPSPARAMETRES,"1" ELSE ENR_TPSPARAMETRES=""
*		READ ENR_TPSPARAMETRES FROM F.TPSPARAMETRES,ENR_TPSDETAILINTERV<7,1> ELSE ENR_TPSPARAMETRES=""

		IF ENR_TPSPARAMETRES<5>="1" THEN

			W_LongMinuteDeb=LEN(ENR_TPSDETAILINTERV<3,i>)
			W_LongMinuteDeb=W_LongMinuteDeb-1
			W_MinuteDeb=ENR_TPSDETAILINTERV<3,i>[W_LongMinuteDeb,2]
			W_MinuteDeb=W_MinuteDeb*3
			W_MinuteDeb=W_MinuteDeb/5

			W_Pos=INDEX(W_MinuteDeb,",",1)
			IF W_Pos=2 THEN
				W_MinuteDeb="0":W_MinuteDeb[1,1]
			END ELSE
				IF W_Pos=3 THEN
					W_MinuteDeb=W_MinuteDeb[1,2]
				END ELSE
					IF LEN(W_MinuteDeb)=1 THEN
						W_MinuteDeb="0":W_MinuteDeb
					END ELSE
						W_MinuteDeb=W_MinuteDeb
					END
				END
			END

			W_LongHreDeb=LEN(ENR_TPSDETAILINTERV<3,i>)
			W_LongHreDeb=W_LongHreDeb-2
			W_HreDeb=ENR_TPSDETAILINTERV<3,i>[1,W_LongHreDeb]
			W_HeureDeb=W_HreDeb:W_MinuteDeb
			*W_HeureDeb=W_HeureDeb/100

			W_LongMinuteFin=LEN(ENR_TPSDETAILINTERV<4,i>)
			W_LongMinuteFin=W_LongMinuteFin-1
			W_MinuteFin=ENR_TPSDETAILINTERV<4,i>[W_LongMinuteFin,2]
			W_MinuteFin=W_MinuteFin*3
			W_MinuteFin=W_MinuteFin/5

			W_Pos=INDEX(W_MinuteFin,",",1)

			IF W_Pos=2 THEN
				W_MinuteFin="0":W_MinuteFin[1,1]
			END ELSE
				IF W_Pos=3 THEN
					W_MinuteFin=W_MinuteFin[1,2]
				END ELSE
					IF LEN(W_MinuteFin)=1 THEN
						W_MinuteFin="0":W_MinuteFin
					END ELSE
						W_MinuteFin=W_MinuteFin
					END
				END
			END

			W_LongHreFin=LEN(ENR_TPSDETAILINTERV<4,i>)
			W_LongHreFin=W_LongHreFin-2
			W_HreFin=ENR_TPSDETAILINTERV<4,i>[1,W_LongHreFin]
			W_HeureFin=W_HreFin:W_MinuteFin
			*W_Heurefin=W_HeureFin/100

		END ELSE
			W_HeureDeb=ENR_TPSDETAILINTERV<3,i>
			W_HeureFin=ENR_TPSDETAILINTERV<4,i>
		END

		ENR_TEMPO=INSERT(ENR_TEMPO,j,3;W_HeureDeb)
		ENR_TEMPO=INSERT(ENR_TEMPO,j,4;W_HeureFin)

		READ ENR_CIVILAIDE FROM F.CIVILAIDE,W_Cle[6,5] ELSE ENR_CIVILAIDE=""

		ENR_TEMPO=INSERT(ENR_TEMPO,j,5;W_Cle[6,5])
		W_NomPrenom=ENR_CIVILAIDE<2>[1,20]:" ":ENR_CIVILAIDE<3>[1,20]
		ENR_TEMPO=INSERT(ENR_TEMPO,j,6;W_NomPrenom)
		ENR_TEMPO=INSERT(ENR_TEMPO,j,7;ENR_CIVILAIDE<14>)
		
		TabForme=ENR_CIVILAIDE
		IndForme=5
		GOSUB 200
		W_Adresse=MiseEnFormeAdresse1
		IF W_Adresse#"" THEN
			ENR_TEMPO=INSERT(ENR_TEMPO,j,8;W_Adresse[1,30])
			ENR_TEMPO=INSERT(ENR_TEMPO,j,9;ENR_CIVILAIDE<10>:" ":ENR_CIVILAIDE<11>[1,20])
		END ELSE
			IF ENR_CIVILAIDE<9>#"" THEN
				ENR_TEMPO=INSERT(ENR_TEMPO,j,8;ENR_CIVILAIDE<9>[1,30])
				ENR_TEMPO=INSERT(ENR_TEMPO,j,9;ENR_CIVILAIDE<10>:" ":ENR_CIVILAIDE<11>[1,20])
			END ELSE
				ENR_TEMPO=INSERT(ENR_TEMPO,j,8;ENR_CIVILAIDE<10>:" ":ENR_CIVILAIDE<11>[1,20])
				ENR_TEMPO=INSERT(ENR_TEMPO,j,9;SPACE(30))
			END
		END
*PRINT "W_Adresse170 :":W_Adresse
*PRINT "ENR_CIVILAIDE<9>170 :":ENR_CIVILAIDE<9>
*PRINT "ENR_CIVILAIDE<10>170 :":ENR_CIVILAIDE<10>
*PRINT "ENR_CIVILAIDE<11>170 :":ENR_CIVILAIDE<11>
*PRINT "ENR_TEMPO<j,8>170 :":ENR_TEMPO<j,8>
*DEBUG
		READ ENR_ACTIVITES FROM F.ACTIVITES,W_Cle[16,6] ELSE ENR_ACTIVITES=""
		*READ ENR_ACTIVITES FROM F.ACTIVITES,ENR_TPSDETAILINTERV<10,i> ELSE ENR_ACTIVITES=""

		ENR_TEMPO=INSERT(ENR_TEMPO,j,10;ENR_ACTIVITES<12>)
		ENR_TEMPO=INSERT(ENR_TEMPO,j,11;ENR_TPSDETAILINTERV<6,1>[1,20])
		ENR_TEMPO=INSERT(ENR_TEMPO,j,12;ENR_TPSDETAILINTERV<6,1>[20,10])
		ENR_TEMPO=INSERT(ENR_TEMPO,j,13;W_Cle[1,5])
		ENR_TEMPO=INSERT(ENR_TEMPO,j,14;W_Secteur)
RETURN
***********************************************************
*MISE EN FORME DE L'ADRESSE
**********************************************************
200

	MiseEnFormeAdresse1 = ""

    	IF TabForme<IndForme> # "" THEN
        	MiseEnFormeAdresse1 = TabForme<IndForme>:SPACE(1)
    	END
    
    	IF TabForme<IndForme + 1> # "" THEN
        	MiseEnFormeAdresse1 = MiseEnFormeAdresse1:TabForme<IndForme + 1>:SPACE(1)
   	END
    
    	IF TabForme<IndForme + 2> # "" THEN
        	MiseEnFormeAdresse1 = MiseEnFormeAdresse1:TabForme<IndForme + 2>:SPACE(1)
    	END
    
    	IF TabForme<IndForme + 3> # "" THEN
        	MiseEnFormeAdresse1 = MiseEnFormeAdresse1:TabForme<IndForme + 3>
    	END

RETURN
