EXECUTE "SET-THOUS ."
OPEN "", "TPSDETAILSINTERV" TO F.TPSDETAILSINTERV ELSE STOP
OPEN "", "TPSEXCEPTIONS" TO F.TPSEXCEPTIONS ELSE STOP

EXECUTE 'SET-DEC ,'
EXECUTE 'DATE.FORMAT'

PROCREAD PARAMETRES ELSE STOP
W_AncCodeAbs = FIELD(PARAMETRES,"|",2)
W_NewCodeAbs = FIELD(PARAMETRES,"|",3)

W_NewDateDeb = W_NewCodeAbs[8,5]

W_RequeteInterv = ""

EXECUTE 'SELECT TPSDETAILSINTERV AVEC 6 = "':W_AncCodeAbs:'"'
W_NomListe = "VALIDABSENCE":TIME()
EXECUTE 'SAUVE-LISTE ':W_NomListe
EXECUTE 'LISTE ':W_NomListe RETURNING MSGCODE
IF MSGCODE<1> # "209" THEN
SELECT F.TPSDETAILSINTERV TO W_RequeteInterv
W_Fin = "F"
LOOP
READNEXT W_Cle FROM W_RequeteInterv ELSE W_Fin = "V"
WHILE W_Fin = "F"
	READ ENR_TPSDETAILSINTERV FROM F.TPSDETAILSINTERV, W_Cle THEN
		W_DateDebInterv = W_Cle[11,5]
		IF W_DateDebInterv >= W_NewDateDeb THEN
			ENR_TPSDETAILSINTERV<6> = W_NewCodeAbs
			WRITE ENR_TPSDETAILSINTERV ON F.TPSDETAILSINTERV, W_Cle
		END ELSE
			IF ENR_TPSDETAILSINTERV<1> < W_NewDateDeb THEN
				* rien a faire
			END ELSE
				W_DateFinInterv = ENR_TPSDETAILSINTERV<1>
				ENR_TPSDETAILSINTERV<1> = W_NewDateDeb - 1
				WRITE ENR_TPSDETAILSINTERV ON F.TPSDETAILSINTERV, W_Cle
				ENR_TPSBIS = ENR_TPSDETAILSINTERV
				ENR_TPSBIS<1> = W_DateFinInterv
				ENR_TPSBIS<6> = W_NewCodeAbs					
				WRITE ENR_TPSBIS ON F.TPSDETAILSINTERV, W_Cle[1,10]:W_NewDateDeb:W_Cle[16,11]
				GOSUB 100
			END 
		END

	END
REPEAT

EXECUTE 'EFFACER-LISTE ':W_NomListe

END
STOP

100
EXECUTE 'SELECT TPSEXCEPTIONS AVEC 1 = "':W_Cle:'" AND AVEC DateDebExcep >= "':W_NewDateDeb:'"'
W_FinExcept = "F"
LOOP
	READNEXT W_CleExcept ELSE W_FinExcept = "V"
WHILE W_FinExcept = "F"
	READ ENR_TPSEXCEPT FROM F.TPSEXCEPTIONS, W_CleExcept THEN
		ENR_TPSEXCEPT<1> = W_Cle[1,10]:W_NewDateDeb:W_Cle[16,11]
		WRITE ENR_TPSEXCEPT ON F.TPSEXCEPTIONS, W_CleExcept
	END
REPEAT
RETURN



