SUBROUTINE TRIGSUIVACCORDPROSP (exec.stat,dict.flag,trig.name,rec.id.expr,rec.val)
* rec.id.expr = cl sur laquelle le trigger a t dclench
* rec.val = donnes de l'enregistrement sur lequel le trigger a t dclench
	exec.stat=1
*************************************************
* METTRE UN FLAG EN ATT 8 DE SUIVACCORDPROSP 	*
* A LA MODIF DE TPSDETAILSINTERV				*
* VANES											*
*************************************************

* ouverture des fichiers
OPEN "","ACTIVITES" TO F.ACTIVITES ELSE RETURN
OPEN "","ACTUSUIVICONTRAT" TO F.ACTUSUIVICONTRAT ELSE RETURN
OPEN "","SUIVACCORDPROSP" TO F.SUIVACCORDPROSP ELSE RETURN

* Modif Greg - 04/12/15 - Lorsqu'un utilisateur cr une intervention sur le jour-mme, on met  jour TLGVERIFPLG.
* C'est une premire tentative pour tenter de maintenant le plus  jour possible le fichier et non pas se contenter
* des plannings tels qu'ils taient au moment de la gnration du fichier la nuit prcdente.
* Le systme sera sans doute amlior par la suite, mais dans l'immdiat, on souhaite grer les interventions "d'urgence".
OPEN "","TLGVERIFPLG" TO F.TLGVERIFPLG ELSE RETURN
OPEN "","TLGPARAM" TO F.TLGPARAM ELSE RETURN

W_CleInterv=rec.id.expr
W_DateDeb=W_CleInterv[11,5]
W_DateFin=rec.val<1>
W_DateJour=DATE()
W_NumJour=W_CleInterv[22,1]
W_Freq=rec.val<3>

W_Traiter="NON"
IF W_DateDeb=W_DateFin THEN
	* Si l'intervention est sur une seule journe et que cette journe est celle du jour, alors on est sur une intervention d'urgence.
	IF W_DateJour=W_DateDeb THEN
		W_Traiter="OUI"
	END
END ELSE
	* Si la date du jour est inclu dans la plage de dates de l'intervention, alors il faut dterminer prcisment s'il y a intervention ou pas.
	IF (W_DateJour>=W_DateDeb AND W_DateJour<=W_DateFin) OR (W_DateJour>=W_DateDeb AND W_DateFin="") THEN
		* L'algo est celui d'AFFICHEPLANNING
		
		* On calcule la date du lundi de la semaine sur laquelle se trouve la date de dbut de l'intervention
		IF MOD(W_DateDeb,7)=0 THEN
			W_LundiDeb = W_DateDeb - 6
		END ELSE
			W_LundiDeb = W_DateDeb - MOD(W_DateDeb,7) + 1
		END

		* A partir de la date du lundi et de l'indice du jour, on peut dterminer la date de la premire intervention effective
		W_DateIntervRef = W_LundiDeb + W_NumJour
		IF INT(W_DateIntervRef) < INT(W_DateDeb) THEN
			W_DateIntervRef = W_DateIntervRef + W_Freq*7
		END

		* Une fois connue la date de la premire intervention effective, un modulo permet de savoir si il y a intervention le jour J ou pas (et en tenant compte de la frquence)
		IF MOD(W_DateJour-W_DateIntervRef, W_Freq*7) = 0 THEN
			W_Traiter="OUI"
		END
	END
END

IF W_Traiter="OUI" THEN
	READ ENR_TLGPARAM FROM F.TLGPARAM, "HEURELIMITEVERIF" THEN
		IF ENR_TLGPARAM<1><>"" THEN
			IF ENR_TLGPARAM<1>=W_DateJour THEN
				W_HreDeb=W_CleInterv[23,2]
				W_MinDeb=W_CleInterv[25,2]
				W_MinDeb=INT((W_MinDeb/100*60)+0.5)
				W_Heure=W_HreDeb:":":W_MinDeb
				IF ENR_TLGPARAM<2>>=W_Heure THEN
					W_Traiter="NON"
				END
			END
		END
	END ELSE
		W_Traiter="NON"
	END

	IF W_Traiter="OUI" THEN
		W_Cle=W_CleInterv[1,10]:W_DateJour:W_CleInterv[23,4]:"P"
		READ ENR_TLGVERIFPLG FROM F.TLGVERIFPLG, W_Cle THEN
			* Dans l'immdiat, rien
		END ELSE
			ENR_TLGVERIFPLG=""
			ENR_TLGVERIFPLG<1>=W_DateJour
			ENR_TLGVERIFPLG<2>=rec.val<2>
			ENR_TLGVERIFPLG<4>=W_CleInterv
			ENR_TLGVERIFPLG<6>=DATE()
			ENR_TLGVERIFPLG<7>=TIMEDATE()[1,8]	

			WRITE ENR_TLGVERIFPLG ON F.TLGVERIFPLG, W_Cle
		END
	END
END
* Fin modif Greg - 04/12/15

EXECUTE "SET-THOUS ."
EXECUTE "SET-DEC ,"
EXECUTE "DATE.FORMAT"

W_CLE = rec.id.expr
* Mikael le 28/11/2014 - suite au ticket 7608 on gerer l'activite Prestataire uniquement pour le suivi de contrat de prospective et toute activite pour les accords prospectives. Cela donnait du temps de traitement important pour rien.
W_CleAct=W_CLE[16,6]
READ ENR_ACTIVITES FROM F.ACTIVITES,W_CleAct ELSE ENR_ACTIVITES=""
IF ENR_ACTIVITES<12> # "M" THEN


	Date=OCONV(DATE(),"D4/")
	W_PeriodeSys=Date[7,4]:Date[4,2]

	FOR i = 1 TO 3
		IF i # 1 THEN
			W_PeriodeSys=W_PeriodeSys+1
			IF W_PeriodeSys[5,2]="13" THEN
				W_PeriodeSys=W_PeriodeSys[1,4]+1:"01"
			END
		END
		
		W_CleProsp=W_CLE[6,5]:W_PeriodeSys
		READ ENR_SUIVACCORDPROSP FROM F.SUIVACCORDPROSP,W_CleProsp ELSE ENR_SUIVACCORDPROSP=""
		ENR_SUIVACCORDPROSP<8>="1"
		WRITE ENR_SUIVACCORDPROSP ON F.SUIVACCORDPROSP,W_CleProsp
		
	NEXT i

	* MODIF VANESSA 04/11/09 DA9112-01
	W_CleAidant=W_CLE[1,5]

	ENR_ACTUSUIVICONTRAT=""
	WRITE ENR_ACTUSUIVICONTRAT ON F.ACTUSUIVICONTRAT,W_CleAidant
END
	
* modif 07/11/16 - specif FR36	
OPEN "","MODIFSANT" TO F.MODIFSANT THEN
	W_Fichier=trig.name
	W_Cle=rec.id.expr
	ENR_FICHIER=rec.val

	WRITE ENR_FICHIER ON F.MODIFSANT, "MAJ":W_Fichier:"_":W_Cle
END	
	
RETURN