**********************************************************
*  BASCULEMENT DU PLANNING VERS LA PAIE
*  CELINE
*  SEPTEMBRE 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 "","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
OPEN "","DETAILCALCUL" TO F.DETAILCALCUL ELSE PRINT "OUVERTURE DETAILCALCUL" ;* en lecture
OPEN "","DETAILINTER" TO F.DETAILINTER ELSE PRINT "OUVERTURE DETAILINTER" ;* en lecture
OPEN "","DETAILMANDAT" TO F.DETAILMANDAT ELSE PRINT "OUVERTURE DETAILMANDAT" ;* en lecture
OPEN "","DETAILPREST" TO F.DETAILPREST ELSE PRINT "OUVERTURE DETAILPREST" ;* en lecture
OPEN "","TPSPARAMETRES" TO F.TPSPARAMETRES ELSE PRINT "OUVERTURE TPSPARAMETRES" ;* en lecture
*********************************************************
* initialisation des variables

W_DateDeb=""
W_DateFin=""
W_COUNTACTFIC=0
W_COUNTACT=0
W_Debut=""
W_Fin=""
W_SECTEURS=""
W_TRAITMOIS=""
W_TRAITJOUR=""
W_TABJOUR=""
W_COUNTDETAILPREST=0
W_COUNTFICPREST=0
W_JOURINTERV=0
W_TABDETAIL=""
*********************************************************
* Recuperation des arguments
*********************************************************
PROCREAD ARGUMENTS ELSE STOP
W_BASCUL=FIELD(ARGUMENTS," ",2)
W_ASSOC=FIELD(ARGUMENTS," ",3)
W_PERIODEPAIE=FIELD(ARGUMENTS," ",4)


IF W_BASCUL = "T" THEN
   W_TYPACT=FIELD(ARGUMENTS," ",5)
*   W_LISTACT=FIELD(ARGUMENTS," ",6)
   W_LISTSECTEURS=FIELD(ARGUMENTS," ",6)

***********************************************************   
* STOCKAGE DES LISTES D'ACTIVITES ET DE SECTEURS
***********************************************************
 *  W_ACTIVITES=""
 *  I=1
 *  LOOP
*	W_DETAILACTIVITES=FIELD(W_LISTACT,"|",I)
*	UNTIL W_DETAILACTIVITES="" DO
*   	W_ACTIVITES<I>=W_DETAILACTIVITES
*	I=I+1
 *  REPEAT

   W_SECTEURS=""
   J=1
   LOOP
	W_DETAILSECTEUR=FIELD(W_LISTSECTEURS,"/",J)
	UNTIL W_DETAILSECTEUR="" DO
   	W_SECTEURS<J>=W_DETAILSECTEUR
	J=J+1
   REPEAT
END ELSE
   W_CODEAIDANT=FIELD(ARGUMENTS," ",5)
   W_TYPACT=FIELD(ARGUMENTS," ",6)
*   W_LISTACT=FIELD(ARGUMENTS," ",7)
*PRINT "W_LISTACT :":W_LISTACT
*DEBUG
*   W_ACTIVITES=""
*   I=1
*   LOOP
*	W_DETAILACTIVITES=FIELD(W_LISTACT,"|",I)
*PRINT "W_DETAILACTIVITES :":W_DETAILACTIVITES
*DEBUG
*	UNTIL W_DETAILACTIVITES="" DO
*   	W_ACTIVITES<I>=W_DETAILACTIVITES
*	I=I+1
*   REPEAT
END

*********************************************************************
* CALCUL DE LA DATE DE DEBUT DE PERIODE ET DE DATE DE FIN DE PERIODE
*********************************************************************

W_PERIODEPAIEDEB="01 ":W_PERIODEPAIE[5,2]:" ":W_PERIODEPAIE[1,4]
W_PERIODEPAIEDEB=ICONV(W_PERIODEPAIEDEB,"D4 ")
W_PERIODEPAIEPREC=W_PERIODEPAIEDEB-1
W_PERIODEPAIEPREC=OCONV(W_PERIODEPAIEPREC,"D4 ")
W_PERIODEPAIEPREC=W_PERIODEPAIEPREC[7,4]:W_PERIODEPAIEPREC[4,2]
IF W_PERIODEPAIE[5,2]="12" THEN
 W_PERIODEPAIEFIN="31 12 ":W_PERIODEPAIE[1,4]
 W_PERIODEPAIEFIN=ICONV(W_PERIODEPAIEFIN,"D4 ")
END ELSE
 W_PERIODEPAIEFIN=W_PERIODEPAIE+1
 W_PERIODEPAIEFIN="01 ":W_PERIODEPAIEFIN[5,2]:" ":W_PERIODEPAIEFIN[1,4]
 W_PERIODEPAIEFIN=ICONV(W_PERIODEPAIEFIN,"D4 ")
 W_PERIODEPAIEFIN=W_PERIODEPAIEFIN-1
 W_PERIODEPAIEFIN1=OCONV(W_PERIODEPAIEFIN,"D4 ")
END
W_NBJRSPERIODEPAIE=W_PERIODEPAIEFIN-W_PERIODEPAIEDEB+1

*********************************************************
* PROGRAMME PRINCIPAL
*********************************************************


   W_Temp='SSELECT TPSDETAILINTERV AVEC DateDebInterv <= "':W_PERIODEPAIEFIN:'" AND AVEC 7 = "':W_ASSOC:'" AND AVEC 1 >= "':W_PERIODEPAIEDEB:'" OR = ""'

   IF W_BASCUL = "T" THEN

      	W_Temp=W_Temp :' AND AVEC TypeActDetailInterv = "':W_TYPACT:'"'	

	IF W_SECTEURS<>"" THEN
	      	L=1
		LOOP
		 UNTIL W_SECTEURS<L>="" DO
		  W_Temp=W_Temp:' AND AVEC CodeSecteurAidant = "':W_SECTEURS<L>:'" PAR CodeAidant PAR NomAideDetailInterv PAR CodeAide'

		  GOSUB 100
		  EXECUTE 'EFFACER-LISTE W_RequeteInterv'
		  L=L+1
		REPEAT
	END ELSE
             W_Temp=W_Temp:' PAR CodeAidant PAR NomAideDetailInterv PAR CodeAide'

	     GOSUB 100
	END

   END ELSE
      W_Temp=W_Temp:' AND AVEC CodeAidant = "':W_CODEAIDANT:'"' 
	
	IF W_TYPACT # "" THEN
		W_Temp=W_Temp:' AND AVEC TypeActDetailInterv = "':W_TYPACT:'"'
	END
*PRINT "W_Temp :":W_Temp
*DEBUG
      GOSUB 100
   END

STOP

*************************************************************************
* EXECUTION DE LA EQUETE
*************************************************************************
100

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

   IF MSGCODE<1>=209 THEN
      RETURN
   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
		W_TABDETAIL=""
		READ ENR_TPSDETAILINTERV FROM F.TPSDETAILINTERV,W_Cle ELSE ENR_TPSDETAILINTERV=""
*PRINT "ENR_TPSDETAILINTERV<13>:W_PERIODEPAIE :":ENR_TPSDETAILINTERV<13>:W_PERIODEPAIE
*DEBUG

		READ ENR_DETAILCALCUL FROM F.DETAILCALCUL,ENR_TPSDETAILINTERV<13>:W_PERIODEPAIE ELSE 
*PRINT "toto"

		READ ENR_ACTIVITES FROM F.ACTIVITES,W_Cle[16,6] ELSE ENR_TPSDETAILINTERV=""
		W_TYPACT=ENR_ACTIVITES<12>

* SUPPRESSION DES VALEURS OU MULTIVALEURS VENANT DU PLANNING S'IL Y EN A, POUR EVITER LES REDONDANCES

		IF W_TYPACT="P" THEN
			READ ENR_DETAILPREST FROM F.DETAILPREST,ENR_TPSDETAILINTERV<13>:W_PERIODEPAIE ELSE ENR_DETAILPREST=""
			W_COUNTAIDEPREST=DCOUNT(ENR_DETAILPREST<1>,CHAR(253))
*PRINT "ENR_DETAILPREST<2> :":ENR_DETAILPREST<2>
*DEBUG
			IF ENR_DETAILPREST<2> <> "" THEN
				FOR IAide=1 TO W_COUNTAIDEPREST
					IF ENR_DETAILPREST<16,IAide>="1" THEN
						ENR_DETAILPREST=DELETE(ENR_DETAILPREST,1,IAide)
						ENR_DETAILPREST=DELETE(ENR_DETAILPREST,2,IAide)
						ENR_DETAILPREST=DELETE(ENR_DETAILPREST,3,IAide)
						ENR_DETAILPREST=DELETE(ENR_DETAILPREST,4,IAide)
						ENR_DETAILPREST=DELETE(ENR_DETAILPREST,16,IAide)
					END
				NEXT IAide
			END ELSE
				IF ENR_DETAILPREST<10> <> "" THEN
					FOR IAide=1 TO W_COUNTAIDEPREST
						W_COUNTDETAILAIDE=DCOUNT(ENR_DETAILPREST<1,IAide>,CHAR(252))
						FOR IDETAIL=1 TO W_COUNTDETAILAIDE
							IF ENR_DETAILPREST<16,IAide,IDETAIL>="1" THEN
								ENR_DETAILPREST=DELETE(ENR_DETAILPREST,2,IAide,IDETAIL)
								ENR_DETAILPREST=DELETE(ENR_DETAILPREST,3,IAide,IDETAIL)
								ENR_DETAILPREST=DELETE(ENR_DETAILPREST,4,IAide,IDETAIL)
								ENR_DETAILPREST=DELETE(ENR_DETAILPREST,16,IAide,IDETAIL)							
							END
						NEXT IDETAIL
						IF ENR_DETAILPREST<10,IAide>="" THEN
							ENR_DETAILPREST=DELETE(ENR_DETAILPREST,1,IAide)											
						END
					NEXT IAide
				END
			END
		END ELSE
			READ ENR_DETAILMANDAT FROM F.DETAILMANDAT,ENR_TPSDETAILINTERV<13>:W_PERIODEPAIE ELSE ENR_DETAILMANDAT=""
			W_COUNTAIDEMANDAT=DCOUNT(ENR_DETAILMANDAT<1>,CHAR(253))
			FOR IAide=1 TO W_COUNTAIDEMANDAT
				IF ENR_DETAILMANDAT<8,IAide>="1" THEN
					ENR_DETAILMANDAT=DELETE(ENR_DETAILMANDAT,1,IAide)
					ENR_DETAILMANDAT=DELETE(ENR_DETAILMANDAT,2,IAide)
					ENR_DETAILMANDAT=DELETE(ENR_DETAILMANDAT,5,IAide)
					ENR_DETAILMANDAT=DELETE(ENR_DETAILMANDAT,8,IAide)
				END
			NEXT IAide
		END

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

		 W_TABDETAIL=""
	         W_COUNT=DCOUNT(ENR_TPSDETAILINTERV<2>,CHAR(253))
*PRINT "W_Cle :":W_Cle
*PRINT "W_COUNT :":W_COUNT
*DEBUG
		 GOSUB 110
		 GOSUB 120
	       END
	REPEAT
    END

RETURN


*************************************************************************
* RECHERCHE DES ABSENCES DE L'AIDANT
*************************************************************************
110
	 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
RETURN

*******************************************************************
* DETERMINATION DE LA DATE DE DEBUT ET DE LA DATE DE FIN
*******************************************************************
120
         IF INT(W_PERIODEPAIEDEB) > INT(W_Cle[11,5]) THEN
            W_DateDeb=W_PERIODEPAIEDEB
         END ELSE
            W_DateDeb=W_Cle[11,6]
         END
         	IF INT(W_PERIODEPAIEDEB) > INT(W_Cle[11,5]) THEN
            		W_DateDeb=W_PERIODEPAIEDEB
         	END ELSE
            		W_DateDeb=W_Cle[11,6]
         	END
*PRINT "W_DateDeb :":W_DateDeb
*DEBUG
               READ ENR_CONTRAT FROM F.CONTRAT,ENR_TPSDETAILINTERV<13> ELSE ENR_CONTRAT=""
               IF ENR_CONTRAT<96> # "" AND INT(W_PERIODEPAIEFIN) >= 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_PERIODEPAIEFIN) >= 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=""
               *w_COUNTACTFIC=DCOUNT(ENR_TPSDETAILINTERV<2>,CHAR(253))
	       *FOR K=1 TO W_COUNTACTFIC
		       L=1
        	       LOOP
	               UNTIL W_Cle[16,6]=ENR_ACTIVITESAIDE<1,L>
        	          L=L+1
	               REPEAT
	               IF ENR_ACTIVITESAIDE<3,L> # "" AND INT(W_PERIODEPAIEFIN) >= INT(ENR_ACTIVITESAIDE<3,L>) THEN
			  IF W_DateFinInterv="" THEN
	        	        W_DateFinInterv=ENR_ACTIVITESAIDE<3,L>
				EXIT
			  END ELSE
				IF ENR_ACTIVITESAIDE<3,L> <= W_DateFinInterv THEN
					W_DateFinInterv=ENR_ACTIVITESAIDE<3,L>
					EXIT
				END
			  END
               		END                 
		*NEXT K
 

	    IF W_DateFinInterv # "" THEN
	       IF INT(W_PERIODEPAIEFIN) > INT(W_DateFinInterv) THEN
         	     W_DateFin=W_DateFinInterv
               END ELSE
             	     W_DateFin=W_PERIODEPAIEFIN
               END
	    END ELSE
		W_DateFin=W_PERIODEPAIEFIN
	    END
*PRINT "W_DateFin :":W_DateFin
*DEBUG
	GOSUB 130
	GOSUB 140

RETURN

********************************************************************************
* CHARGEMENT DES ACTIVITES TRAITEES AU JOUR (S'IL Y EN A, SINON "VIDE")
********************************************************************************
130
	READ ENR_TPSPARAMETRES FROM F.TPSPARAMETRES,"1" ELSE ENR_TPSPARAMETRES=""

	W_COUNTACT=DCOUNT(ENR_TPSPARAMETRES<9>,CHAR(253))
	IF W_COUNTACT # 0 THEN
		FOR M=1 TO W_COUNTACT
			W_ACTIVITES<M>=ENR_TPSPARAMETRES<9,M>
			M=M+1
		NEXT M
	END

RETURN


**********************************************************************************

140
*PRINT "toto"
*DEBUG
	W_CUMULVALEUR=ENR_TPSDETAILINTERV<9,1>
	IF W_TYPACT = "P" THEN
		IF ENR_TPSPARAMETRES<9> = "" THEN
			GOSUB 150
		END ELSE		
			GOSUB 160
		END
	END ELSE
		GOSUB 150
	END

RETURN

********************************************************************************
* TRAITEMENT DES ACTIVITES AU MOIS
********************************************************************************
150
	W_DateDebMem=W_DateDeb
	IF W_COUNT > 1 THEN
		FOR N=2 TO W_COUNT
			GOSUB 151
		NEXT N
	END ELSE
		N=1
		GOSUB 151
	END
RETURN
********************************************************************************
151
		IF W_TYPACT="P" THEN
			READ ENR_DETAILPREST FROM F.DETAILPREST,ENR_TPSDETAILINTERV<13>:W_PERIODEPAIE ELSE ENR_DETAILPREST=""
	
			IF ENR_DETAILPREST<10,1>="" THEN
				W_TRAITMOIS="VRAI"
			END ELSE
				W_TRAITMOIS="FAUX"
			END
		END ELSE
			W_TRAITMOIS="VRAI"
		END
*PRINT "W_TRAITMOIS :":W_TRAITMOIS
*DEBUG

		IF W_TRAITMOIS="VRAI" THEN
			GOSUB 155
			GOSUB 170
		END

		IF W_TRAITMOIS="FAUX" THEN
			*GOSUB 200
			GOSUB 210
		END
RETURN
********************************************************************************
* CUMUL VALEUR ET REMPLISSAGE TABLEAU DYNAMIQUE
********************************************************************************
155
		W_DateDeb=W_DateDebMem

		
		*W_CUMULVALEUR=ENR_TPSDETAILINTERV<9,N>

		IF W_COUNT="1" THEN
			GOSUB 165
			GOSUB 166
		END ELSE
			IF N="1" THEN
				GOSUB 165
				GOSUB 166
			END ELSE
				*IF ENR_TPSDETAILINTERV<10,N-1>=ENR_TPSDETAILINTERV<10,N> AND ENR_TPSDETAILINTERV<8,N-1>=ENR_TPSDETAILINTERV<8,N> THEN
*PRINT "ENR_TPSDETAILINTERV<8,N-1> :":ENR_TPSDETAILINTERV<8,N-1>
*PRINT "ENR_TPSDETAILINTERV<8,N> :":ENR_TPSDETAILINTERV<8,N>
*DEBUG
				IF ENR_TPSDETAILINTERV<8,N-1>=ENR_TPSDETAILINTERV<8,N> THEN
					GOSUB 165
				    IF N=W_COUNT THEN
					GOSUB 166
				    END
				END ELSE
					W_CUMULVALEUR=0
					GOSUB 165
					GOSUB 166
				END
			END
		END
RETURN
********************************************************************************
* TRAITEMENT DES ACTIVITES AU JOUR
********************************************************************************
160
	W_DateDebMem=W_DateDeb
	FOR N=1 TO W_COUNT
		W_TABJOUR=""
		W_TRAITJOUR="FAUX"
		W_DateDeb=W_DateDebMem
		W_COUNTTABACT=DCOUNT(W_ACTIVITES,CHAR(252))
		FOR P=1 TO W_COUNTTABACT
			IF W_Cle[16,6]=W_ACTIVITES<P> THEN

				READ ENR_DETAILPREST FROM F.DETAILPREST,ENR_TPSDETAILINTERV<13>:W_PERIODEPAIE ELSE ENR_DETAILPREST=""
				IF ENR_DETAILPREST<2> <> "" THEN
					GOSUB 155
					GOSUB 170
					EXIT
				END ELSE
					W_TRAITJOUR="VRAI"
					GOSUB 210
					GOSUB 220
					EXIT
				END
			END
			IF P=W_COUNTTABACT THEN
				IF W_TRAITJOUR="FAUX" THEN
					READ ENR_DETAILPREST FROM F.DETAILPREST,ENR_TPSDETAILINTERV<13>:W_PERIODEPAIE ELSE ENR_DETAILPREST=""
					IF ENR_DETAILPREST<10> <> "" THEN
						GOSUB 210
						GOSUB 220
					END ELSE
						GOSUB 155
						GOSUB 170
					END
				END
			END
		NEXT P
	NEXT N
RETURN
******************************************************************************
* CUMUL DES VALEURS
******************************************************************************
165
*PRINT "W_DateDeb :":W_DateDeb
*PRINT "W_DateFin :":W_DateFin
*DEBUG
       	IF W_DateDeb<=W_DateFin THEN
*PRINT "ENR_TPSDETAILINTERV<5,N> :":ENR_TPSDETAILINTERV<5,N>
		IF ENR_TPSDETAILINTERV<5,N>="0" THEN
			FOR NB=1 TO 5
				W_DateDeb=W_DateDeb+7
				IF W_DateDeb>W_DateFin THEN
					W_CUMULVALEUR=W_CUMULVALEUR+ENR_TPSDETAILINTERV<9,N>*(NB-1)
*PRINT "W_CUMULVALEUR1 :":W_CUMULVALEUR
*DEBUG
					EXIT
				END
			NEXT NB
		END ELSE	
			IF ENR_TPSDETAILINTERV<5,N>="1" THEN
			    FOR NB=1 TO 2
				W_DateDeb=W_DateDeb+14
				IF W_DateDeb>W_DateFin THEN
*PRINT "W_CUMULVALEUR2 :":W_CUMULVALEUR
*DEBUG
					W_CUMULVALEUR=W_CUMULVALEUR+ENR_TPSDETAILINTERV<9,N>*(2)
					EXIT
				END ELSE
*PRINT "W_CUMULVALEUR3 :":W_CUMULVALEUR
*PRINT "ENR_TPSDETAILINTERV<9,N> :":ENR_TPSDETAILINTERV<9,N>
*DEBUG
					W_CUMULVALEUR=W_CUMULVALEUR+ENR_TPSDETAILINTERV<9,N>
					EXIT
				END	
			    NEXT NB	
			END
		END
	END
*PRINT "W_CUMULVALEUR :":W_CUMULVALEUR
*DEBUG
RETURN
*********************************************************************
* REMPLISSAGE TABLEAU DETAIL
**********************************************************************
166
PRINT "W_TABDETAIL :":W_TABDETAIL
	W_COUNTDETAIL=DCOUNT(W_TABDETAIL,CHAR(253))
PRINT "W_COUNTDETAIL :":W_COUNTDETAIL
PRINT "W_TABDETAIL :":W_TABDETAIL
DEBUG
	IF W_TABDETAIL="" THEN
		W_TABDETAIL<1>=W_CUMULVALEUR
		W_TABDETAIL<1,2>=ENR_TPSDETAILINTERV<10,N>
		W_TABDETAIL<1,3>=ENR_TPSDETAILINTERV<8,N>
		W_TABDETAIL<1,4>=W_Cle[6,5]
PRINT "W_TABDETAIL :":W_TABDETAIL
DEBUG
	END ELSE
		FOR P=1 TO W_COUNTDETAIL
PRINT "W_TABDETAIL<P,2> :":W_TABDETAIL<P,2>
PRINT "W_Cle[16,6] :":W_Cle[16,6] 
PRINT "W_TABDETAIL<P,3> :":W_TABDETAIL<P,3>
PRINT "ENR_TPSDETAILINTERV<8,N> :":ENR_TPSDETAILINTERV<8,N>
DEBUG
			IF W_TABDETAIL<P,2>=W_Cle[16,6] AND W_TABDETAIL<P,3>=ENR_TPSDETAILINTERV<8,N> THEN
				W_TABDETAIL<P,1>=W_TABDETAIL<P,1>+W_CUMULVALEUR
				EXIT
			END ELSE
				IF W_TABDETAIL<P+1,2>="" THEN
					W_TABDETAIL<P+1,1>=W_CUMULVALEUR	
					W_TABDETAIL<P+1,2>=W_Cle[16,6]
					W_TABDETAIL<P+1,3>=ENR_TPSDETAILINTERV<8,N>
					W_TABDETAIL<P+1,4>=W_Cle[6,5]
				END
			END
		NEXT P
	END

*PRINT "W_TABDETAIL :":W_TABDETAIL
*DEBUG

RETURN
*********************************************************************************
* ECRITURE FICHIER POUR TRAITEMENT AU MOIS
********************************************************************************
170
	IF W_TYPACT="P" THEN
		READ ENR_DETAILPREST FROM F.DETAILPREST,ENR_TPSDETAILINTERV<13>:W_PERIODEPAIE ELSE ENR_DETAILPREST="" 		
		GOSUB 180
	END ELSE
		IF W_TYPACT="M" THEN
PRINT "ENR_TPSDETAILINTERV<13>:W_PERIODEPAIE :":ENR_TPSDETAILINTERV<13>:W_PERIODEPAIE
DEBUG
			READ ENR_DETAILMANDAT FROM F.DETAILMANDAT,ENR_TPSDETAILINTERV<13>:W_PERIODEPAIE ELSE ENR_DETAILMANDAT="" 
			GOSUB 190
		END
	END
RETURN

**********************************************************************************
* ECRITURE FICHIER PRESTATAIRE POUR TRAITEMENT AU MOIS
***********************************************************************************
180
	IF ENR_DETAILPREST<2>="" THEN
		W_COUNTDETAILPREST=DCOUNT(W_TABDETAIL,CHAR(254))
*PRINT "W_TABDETAIL :":W_TABDETAIL
*PRINT "W_COUNTDETAILPREST :":W_COUNTDETAILPREST
*DEBUG
		FOR P=1 TO W_COUNTDETAILPREST
*PRINT "P :":P
*DEBUG
			ENR_DETAILPREST<1,P>=W_TABDETAIL<P,4>
			ENR_DETAILPREST<2,P>=W_TABDETAIL<P,3>
			ENR_DETAILPREST<3,P>=W_TABDETAIL<P,1>
			ENR_DETAILPREST<4,P>=W_TABDETAIL<P,2>
			ENR_DETAILPREST<16,P>="1"
		NEXT P
		WRITE ENR_DETAILPREST ON F.DETAILPREST,ENR_TPSDETAILINTERV<13>:W_PERIODEPAIE
	END ELSE
*******************************************
*COMPTE LE NB DE MULTIVALEURS DANS FICHIER
*******************************************
		W_COUNTFICPREST=DCOUNT(ENR_DETAILPREST<1>,CHAR(253))
*PRINT "W_COUNTFICPREST :":W_COUNTFICPREST
********************************************
*COMPTE MULTIVALEURS DANS TABLEAU DYNAMIQUE
********************************************
		W_COUNTDETAILPREST=DCOUNT(W_TABDETAIL<1>,CHAR(252))
***************************************************************
*ON PART DU NB MULTIVALEUR DE FICHIER+1 A NB MV FIC + NB MV TAB
***************************************************************
		FOR P=1 TO W_COUNTDETAILPREST
			W_COUNTFICPREST=DCOUNT(ENR_DETAILPREST<1>,CHAR(253))
			FOR W=1 TO W_COUNTFICPREST
*PRINT "W :":W
*DEBUG
				IF ENR_DETAILPREST<16,W>="1" AND ENR_DETAILPREST<1,W>=W_TABDETAIL<P,4> AND ENR_DETAILPREST<2,W>=W_TABDETAIL<P,3> AND ENR_DETAILPREST<4,W>=W_TABDETAIL<P,2> THEN
					ENR_DETAILPREST<3,W>=ENR_DETAILPREST<3,W>+W_TABDETAIL<P,1>
					WRITE ENR_DETAILPREST ON F.DETAILPREST,ENR_TPSDETAILINTERV<13>:W_PERIODEPAIE
					EXIT			
				END ELSE
					IF W=W_COUNTFICPREST THEN
						ENR_DETAILPREST<1,W+1>=W_TABDETAIL<P,4>
						ENR_DETAILPREST<2,W+1>=W_TABDETAIL<P,3>
						ENR_DETAILPREST<3,W+1>=W_TABDETAIL<P,1>
						ENR_DETAILPREST<4,W+1>=W_TABDETAIL<P,2>
						ENR_DETAILPREST<16,W+1>="1"
						WRITE ENR_DETAILPREST ON F.DETAILPREST,ENR_TPSDETAILINTERV<13>:W_PERIODEPAIE						
						EXIT
					END
				END
			NEXT W
		NEXT P
	END
RETURN
********************************************************************************
* ECRITURE FICHIER MANDATAIRE 
********************************************************************************
190
PRINT "ENR_DETAILMANDAT<1> :":ENR_DETAILMANDAT<1>
	IF ENR_DETAILMANDAT<1>="" THEN
		W_COUNTDETAILMANDA=DCOUNT(W_TABDETAIL<1>,CHAR(254))
PRINT "W_COUNTDETAILMANDA :":W_COUNTDETAILMANDA
PRINT "W_TABDETAIL :":W_TABDETAIL
DEBUG
		FOR P=1 TO W_COUNTDETAILMANDA
			ENR_DETAILMANDAT<1,P>=W_TABDETAIL<P,3>
			ENR_DETAILMANDAT<2,P>=W_TABDETAIL<P,1>
			ENR_DETAILMANDAT<5,P>=W_TABDETAIL<P,2>
			ENR_DETAILMANDAT<8,P>="1"
		NEXT P
PRINT "ENR_DETAILMANDAT<1,P> :":ENR_DETAILMANDAT<1,1>
DEBUG
		WRITE ENR_DETAILMANDAT ON F.DETAILMANDAT,ENR_TPSDETAILINTERV<13>:W_PERIODEPAIE
	END ELSE
*******************************************
*COMPTE LE NB DE MULTIVALEURS DANS FICHIER
*******************************************
		W_COUNTFICMANDA=DCOUNT(ENR_DETAILMANDA<1>,CHAR(253))
********************************************
*COMPTE MULTIVALEURS DANS TABLEAU DYNAMIQUE
********************************************
		W_COUNTDETAILMANDA=DCOUNT(W_TABDETAIL<1>,CHAR(253))
***************************************************************
*ON PART DU NB MULTIVALEUR DE FICHIER+1 A NB MV FIC+ NB MV TAB
***************************************************************
		FOR P=1 TO W_COUNTDETAILMANDA
			FOR W=1 TO W_COUNTFICMANDA
				IF ENR_DETAILMANDAT<8,W>="1" AND ENR_DETAILMANDAT<1,W>=W_TABDETAIL<P,3> AND ENR_DETAILMANDAT<5,W>=W_TABDETAIL<P,2> THEN
					ENR_DETAILMANDA<2,W>=ENR_DETAILMANDA<2,W>+W_TABDETAIL<P,1>
					WRITE ENR_DETAILMANDAT ON F.DETAILMANDAT,ENR_TPSDETAILINTERV<13>:W_PERIODEPAIE
					EXIT
				END ELSE
					IF W=W_COUNTFICMANDA THEN
						ENR_DETAILMANDA<1,W+1>=W_TABDETAIL<P,3>
						ENR_DETAILMANDA<2,W+1>=W_TABDETAIL<P,1>
						ENR_DETAILMANDA<5,W+1>=W_TABDETAIL<P,2>
						ENR_DETAILMANDA<8,W+1>="1"
						WRITE ENR_DETAILMANDAT ON F.DETAILMANDAT,ENR_TPSDETAILINTERV<13>:W_PERIODEPAIE
					END
				END
			NEXT W			
		NEXT P
	END
RETURN
*******************************************************************
* TRAITEMENT JOUR
********************************************************************
210
	GOSUB 230

	W_JOURINTERV=OCONV(W_DateDeb,"D4/")
	
	W_JOURINTERV=W_JOURINTERV[1,2]

	IF W_TABJOUR<W_JOURINTERV> <> "" THEN
		W_COUNTJOUR=DCOUNT(W_TABJOUR,CHAR(254))
		FOR S=1 TO W_COUNTJOUR
			IF W_TABJOUR<S,3>=ENR_TPSDETAILINTERV<8,N> AND W_TABJOUR<S,4>=ENR_TPSDETAILINTERV<10,N> THEN
				W_TABJOUR<S,2>=W_TABJOUR<S,2>+ENR_TPSDETAILINTERV<9,N>
				GOSUB 215
			END ELSE
				IF W_TABJOUR<S+1,1> ="" THEN
					W_TABJOUR<S+1,2>=ENR_TPSDETAILINTERV<9,N>
					W_TABJOUR<S+1,3>=ENR_TPSDETAILINTERV<8,N>
					W_TABJOUR<S+1,4>=W_Cle[16,6]
					W_TABJOUR<S+1,5>=W_Cle[6,5]
					GOSUB 215
				END
			END
		NEXT S
	END ELSE
		W_TABJOUR<1,1>=W_JOURINTERV
		W_TABJOUR<1,2>=ENR_TPSDETAILINTERV<9,N>
		W_TABJOUR<1,3>=ENR_TPSDETAILINTERV<8,N>
		W_TABJOUR<1,4>=W_Cle[16,6]
		W_TABJOUR<1,5>=W_Cle[6,5]
		GOSUB 215

	END	

*	W_JOURINTERV=OCONV(W_DateDeb,"D4/")
*	
*	W_JOURINTERV=W_JOURINTERV[1,2]
*PRINT "W_JOURINTERV :":W_JOURINTERV
*DEBUG
*	IF W_TABJOUR<W_JOURINTERV> <> "" THEN
*		W_COUNTJOUR=DCOUNT(W_TABJOUR<W_JOURINTERV,1>,CHAR(254))
*		FOR S=1 TO W_COUNTJOUR
*			IF W_TABJOUR<W_JOURINTERV,2,S>=ENR_TPSDETAILINTERV<8,N> AND W_TABJOUR<W_JOURINTERV,3,S>=ENR_TPSDETAILINTERV<10,N> THEN
*				W_TABJOUR<W_JOURINTERV,1,S>=W_TABJOUR<W_JOURINTERV,1,S>+ENR_TPSDETAILINTERV<9,N>
*				GOSUB 215
*			END ELSE
*				IF W_TABJOUR<W_JOURINTERV,1,S+1> ="" THEN
*					W_TABJOUR<W_JOURINTERV,1,S+1>=ENR_TPSDETAILINTERV<9,N>
*					W_TABJOUR<W_JOURINTERV,2,S+1>=ENR_TPSDETAILINTERV<8,N>
*					W_TABJOUR<W_JOURINTERV,3,S+1>=ENR_TPSDETAILINTERV<10,N>
*					GOSUB 215
*				END
*			END
*		NEXT S
*	END ELSE
*		W_TABJOUR<W_JOURINTERV,1>=ENR_TPSDETAILINTERV<9,N>
*		W_TABJOUR<W_JOURINTERV,2>=ENR_TPSDETAILINTERV<8,N>
*		W_TABJOUR<W_JOURINTERV,3>=ENR_TPSDETAILINTERV<10,N>
*		
*		GOSUB 215
*
*	END
*
*


RETURN
****************************************************************
* REMPLIR LES VALEURS EN FONCTION DES FREQUENCES D'INTERVENTION
***************************************************************
215


	IF ENR_TPSDETAILINTERV<5,N> = "0" THEN
		FOR NB=1 TO 5
			W_DateDeb=W_DateDeb+7

			W_JOURINTERV=OCONV(W_DateDeb,"D4/")
			W_JOURINTERV=W_JOURINTERV[1,2]
			IF W_DateDeb<=W_DateFin THEN
				W_TABJOUR<NB+1,1>=W_JOURINTERV
				W_TABJOUR<NB+1,2>=ENR_TPSDETAILINTERV<9,N>
				W_TABJOUR<NB+1,3>=ENR_TPSDETAILINTERV<8,N>
				W_TABJOUR<NB+1,4>=W_Cle[16,6]
				W_TABJOUR<NB+1,5>=W_Cle[6,5]
			END
		NEXT NB
	END ELSE	
		IF ENR_TPSDETAILINTERV<5,N>="1" THEN
		    FOR NB=1 TO 2
			W_DateDeb=W_DateDeb+14
			W_JOURINTERV=OCONV(W_DateDeb,"D4/")
			W_JOURINTERV=W_JOURINTERV[1,2]
			IF W_DateDeb<=W_DateFin THEN
				W_TABJOUR<NB+1,1>=W_JOURINTERV
				W_TABJOUR<NB+1,2>=ENR_TPSDETAILINTERV<9,N>
				W_TABJOUR<NB+1,3>=ENR_TPSDETAILINTERV<8,N>
				W_TABJOUR<NB+1,4>=W_Cle[16,6]
				W_TABJOUR<NB+1,5>=W_Cle[6,5]
			END
		    NEXT NB
		END ELSE
			IF ENR_TPSDETAILINTERV<5,N>="2" THEN
				W_DateDeb=W_DateDeb+21
				W_JOURINTERV=OCONV(W_DateDeb,"D4/")
				W_JOURINTERV=W_JOURINTERV[1,2]
				IF W_DateDeb<=W_DateFin THEN
					W_TABJOUR<2,1>=W_JOURINTERV
					W_TABJOUR<2,2>=ENR_TPSDETAILINTERV<9,N>
					W_TABJOUR<2,3>=ENR_TPSDETAILINTERV<8,N>
					W_TABJOUR<2,4>=W_Cle[16,6]
					W_TABJOUR<2,5>=W_Cle[6,5]
				END
			END ELSE
				W_DateDeb=W_DateDeb+28
				W_JOURINTERV=OCONV(W_DateDeb,"D4/")
				W_JOURINTERV=W_JOURINTERV[1,2]
				IF W_DateDeb<=W_DateFin THEN
					W_TABJOUR<2,1>=W_JOURINTERV
					W_TABJOUR<2,2>=ENR_TPSDETAILINTERV<9,N>
					W_TABJOUR<2,3>=ENR_TPSDETAILINTERV<8,N>
					W_TABJOUR<2,4>=W_Cle[16,6]
					W_TABJOUR<2,5>=W_Cle[6,5]
				END
			END
		END		

	END		




*		IF ENR_TPSDETAILINTERV<5,N> = "0" THEN
*
*			FOR NB=1 TO 5
*				W_DateDeb=W_DateDeb+7
*
*				W_JOURINTERV=OCONV(W_DateDeb,"D4/")
*				W_JOURINTERV=W_JOURINTERV[1,2]
*				IF W_DateDeb<W_DateFin THEN
*					W_TABJOUR<W_JOURINTERV,1>=ENR_TPSDETAILINTERV<9,N>
*					EXIT
*				END
*			NEXT NB
*		END ELSE	
*			IF ENR_TPSDETAILINTERV<5,N>="1" THEN
*			    FOR NB=1 TO 2
*				W_DateDeb=W_DateDeb+14
*				W_JOURINTERV=OCONV(W_DateDeb,"D4/")
*				W_JOURINTERV=W_JOURINTERV[1,2]
*				IF W_DateDeb<W_DateFin THEN
*					W_TABJOUR<W_JOURINTERV,1>=ENR_TPSDETAILINTERV<9,N>
*					EXIT
*				END ELSE
*					IF ENR_TPSDETAILINTERV<5,N>="2" THEN
*						W_DateDeb=W_DateDeb+21
*						W_JOURINTERV=OCONV(W_DateDeb,"D4/")
*						W_JOURINTERV=W_JOURINTERV[1,2]
*						IF W_DateDeb<W_DateFin THEN
*							W_TABJOUR<W_JOURINTERV,1>=ENR_TPSDETAILINTERV<9,N>
*						END
*					END ELSE
*						W_DateDeb=W_DateDeb+28
*						W_JOURINTERV=OCONV(W_DateDeb,"D4/")
*						W_JOURINTERV=W_JOURINTERV[1,2]
*						IF W_DateDeb<W_DateFin THEN
*							W_TABJOUR<W_JOURINTERV,1>=ENR_TPSDETAILINTERV<9,N>
*						END
*					END
*				END	
*			    NEXT NB	
*			END
*		END		
RETURN
****************************************************************
* ECRITURE FICHIER PRESTATAIRE EN SOUS VALEURS
****************************************************************
220
	IF ENR_DETAILPREST<10>="" THEN
		ENR_DETAILPREST<1>=W_Cle[6,5]
		W_COUNTJOUR=DCOUNT(W_TABJOUR,CHAR(254))
		IF W_TABJOUR<>"" THEN
			FOR U=1 TO W_COUNTJOUR
				ENR_DETAILPREST<13,1,U>=W_TABJOUR<U,4>
				ENR_DETAILPREST<10,1,U>=W_TABJOUR<U,1>
				ENR_DETAILPREST<11,1,U>=W_TABJOUR<U,3>
				ENR_DETAILPREST<12,1,U>=W_TABJOUR<U,2>
				ENR_DETAILPREST<16,1,U>="1"
			NEXT U
		END
		WRITE ENR_DETAILPREST ON F.DETAILPREST,ENR_TPSDETAILINTERV<13>:W_PERIODEPAIE
	END ELSE
*******************************************
*COMPTE LE NB DE MULTIVALEURS DANS FICHIER
*******************************************

		W_COUNTFICPREST=DCOUNT(ENR_DETAILPREST<1>,CHAR(253))
		W_COUNTTABJOUR=DCOUNT(W_TABJOUR,CHAR(254))
		FOR W=1 TO W_COUNTFICPREST
			FOR P=1 TO W_COUNTTABJOUR
				IF ENR_DETAILPREST<16,W,P>="1" AND ENR_DETAILPREST<1,W>=W_Cle[6,5] AND ENR_DETAILPREST<13,W,P>=W_TABJOUR<P,3> AND ENR_DETAILPREST<11,W,P>=W_TABJOUR<P,2> THEN
					ENR_DETAILPREST<13,W,P>=W_TABJOUR<P,4>
					ENR_DETAILPREST<10,W,P>=W_TABJOUR<P,1>
					ENR_DETAILPREST<11,W,P>=W_TABJOUR<P,3>
					ENR_DETAILPREST<12,W,P>=W_COUNTFICPREST+W_TABJOUR<P,2>
					ENR_DETAILPREST<16,W,P>="1"
					EXIT			
				END
			NEXT P
			WRITE ENR_DETAILPREST ON F.DETAILPREST,ENR_TPSDETAILINTERV<13>:W_PERIODEPAIE

			IF W=W_COUNTFICPREST THEN
				FOR P=1 TO W_COUNTTABJOUR
					ENR_DETAILPREST<1,W+1>=W_Cle[6,5]
					ENR_DETAILPREST<13,W+1,P>=W_TABJOUR<P,4>
					ENR_DETAILPREST<10,W+1,P>=W_TABJOUR<P,1>
					ENR_DETAILPREST<11,W+1,P>=W_TABJOUR<P,3>
					ENR_DETAILPREST<12,W+1,P>=W_TABJOUR<P,2>
					ENR_DETAILPREST<16,W+1,P>="1"		
				NEXT P
				WRITE ENR_DETAILPREST ON F.DETAILPREST,ENR_TPSDETAILINTERV<13>:W_PERIODEPAIE
			END

		NEXT W
	END

*	IF ENR_DETAILPREST<10>="" THEN
*		ENR_DETAILPREST<1>=W_Cle[6,5]
*		W_COUNTJOUR=DCOUNT(W_TABJOUR,CHAR(254))
*PRINT "W_COUNTJOUR :":W_COUNTJOUR
		
*		FOR U=1 TO W_COUNTJOUR
*PRINT "W_TABJOUR :":W_TABJOUR
*PRINT "W_TABJOUR<U,1> :":W_TABJOUR<U,1>
*			IF W_TABJOUR<U,1,1> <> "" THEN
*PRINT "W_TABJOUR<U> :":W_TABJOUR<U,1,1>
*PRINT "W_TABJOUR<U> :":W_TABJOUR<U,1,2>
*PRINT "W_TABJOUR<U> :":W_TABJOUR<U,2>
*PRINT "W_TABJOUR<U> :":W_TABJOUR<U,3>
*DEBUG
*				W_COUNTTABJOUR=DCOUNT(W_TABJOUR<U,1>,CHAR(252))
**PRINT "W_COUNTTABJOUR :":W_COUNTTABJOUR
*DEBUG
*				FOR P=1 TO W_COUNTTABJOUR
*					ENR_DETAILPREST<13,1,P>=W_TABJOUR<U,3,P>
*					ENR_DETAILPREST<10,1,P>=W_TABJOUR<U>
*					ENR_DETAILPREST<11,1,P>=W_TABJOUR<U,2,P>
*					ENR_DETAILPREST<12,1,P>=W_TABJOUR<U,1,P>
*					ENR_DETAILPREST<16,1,P>="1"
*				NEXT P
*			END
*		NEXT U
*		WRITE ENR_DETAILPREST ON F.DETAILPREST,ENR_TPSDETAILINTERV<13>:W_PERIODEPAIE
*	END ELSE
*******************************************
*COMPTE LE NB DE MULTIVALEURS DANS FICHIER
*******************************************
*		W_COUNTFICPREST=DCOUNT(ENR_DETAILPREST<1>,CHAR(253))
*		W_COUNTFICPREST=W_COUNTFICPREST+1
*
*		W_COUNTJOUR=DCOUNT(W_TABJOUR,CHAR(252))
*		W_COUNTTABJOUR=DCOUNT(W_TABJOUR<1,1>,CHAR(254))
*		FOR W=1 TO W_COUNTFICPREST
*			FOR U=1 TO W_COUNTJOUR
*				FOR P=1 TO W_COUNTTABJOUR
*					IF ENR_DETAILPREST<16,W_COUNTFICPREST,P>="1" AND ENR_DETAILPREST<1,W_COUNTFICPREST>=W_Cle[6,5] AND ENR_DETAILPREST<13,W_COUNTFICPREST,P>=W_TABJOUR<P,3> AND ENR_DETAILPREST<11,W_COUNTFICPREST,P>=W_TABJOUR<P,2> THEN
*						ENR_DETAILPREST<13,W_COUNTFICPREST,P>=W_TABJOUR<U,3,P>
*						ENR_DETAILPREST<10,W_COUNTFICPREST,P>=W_TABJOUR<U>
*						ENR_DETAILPREST<11,W_COUNTFICPREST,P>=W_TABJOUR<U,2,P>
*						ENR_DETAILPREST<12,W_COUNTFICPREST,P>=W_TABJOUR<U,1,P>
*						ENR_DETAILPREST<16,W_COUNTFICPREST,P>="1"			
*					END
*				NEXT P
*			NEXT U
*		NEXT W
*	END

RETURN

*****************************************************************
* RECUPERATION DU JOUR D'INTERVENTION
*****************************************************************
230
	GOSUB 240

	ENR_TPSDETAILINTERV<2,N>=ENR_TPSDETAILINTERV<2,N>+1
	
	IF ENR_TPSDETAILINTERV<2,N>="7" THEN
		ENR_TPSDETAILINTERV<2,N>="0"
	END

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

RETURN
**************************************************************
*  PROCEDURE POUR RECUPERER LE JOUR
*
**************************************************************
240
	    BEGIN CASE
		CASE OCONV(W_DateDeb,"DW")="1"
			W_NumJour="1"
		CASE OCONV(W_DateDeb,"DW")="2"
			W_NumJour="2"
		CASE OCONV(W_DateDeb,"DW")="3"
			W_NumJour="3"
		CASE OCONV(W_DateDeb,"DW")="4"
			W_NumJour="4"
		CASE OCONV(W_DateDeb,"DW")="5"
			W_NumJour="5"
		CASE OCONV(W_DateDeb,"DW")="6"
			W_NumJour="6"
		CASE OCONV(W_DateDeb,"DW")="0"
			W_NumJour="0"
	    END CASE	
RETURN
