OPEN "", "TPSEXCEPTIONS" TO F.TPSEXCEPTIONS ELSE STOP
OPEN "", "TPSTEMPO" TO F.TPSTEMPO ELSE STOP
OPEN "", "TPSDETAILSINTERV" TO F.TPSDETAILSINTERV ELSE STOP
**************************************************************************************************
*		Notes sur l'utilisation de ce traitement :
* On va chercher les interventions des salaris prvues sur le jour fri dans un premier temps, 
* pour que dans un deuxime temps on puisse vrifier que la copie est possible (salaris sans AUCUNE intervention sur le jour fri)
* Or dans l'intervalle (=temps d'excution PR AFFICHEPLANNING en global sur le dimanche + copie des interv des aidants prcdents),
* il est possible que des utilisateurs aient cr des interv (perptuelles, donc incidences sur le jour fri).
* => S'il n'est pas possible d'empecher les utilisateurs de travailler pdt execution, lancer PRMOUL CHERCHEDOUBLONSAIDANT (standard)
*
* +++++++++++ ATTENTION : si on lance le traitement trop longtemps a l'avance, les interventions perptuelles cres entre temps 
*seront effectives sur le jour fri... =>A chaque ajout d'intervention, aller suspendre l'interv du JF !
**********************************************************************************************************************************
EXECUTE "SET-THOUS ."
EXECUTE "SET-DEC ,"
EXECUTE "DATE.FORMAT"
OPEN "","ASSOCIATION" TO F.ASSOCIATION ELSE STOP
LOOP
PRINT "Association (3N) ?"
INPUT Asso
IF Asso = "" THEN
PRINT "Abandon."
STOP
END
READ ENR_ASSO FROM F.ASSOCIATION, Asso ELSE
 PRINT "Aucune entit juridique correspondant a ce code."
 Asso = ""
END
WHILE Asso = ""
REPEAT
LOOP
PRINT "Date du jour frie (JJ/MM/AAAA) ?"
INPUT W_DateJF
IF W_DateJF = "" THEN
PRINT "Abandon."
STOP
END
W_DateJF = ICONV(W_DateJF,"D4/")
WHILE W_DateJF = ""
REPEAT
W_JourFerieProsp=W_DateJF
GOSUB 4000
IF Ferie[1,5] # "FERIE" THEN 
	PRINT "Attention ... Cette date n'est pas frie..."
	PRINT "Abandon."
	STOP
END
JourClair = MOD(W_DateJF,7) - 1
IF JourClair = -1 THEN
		W_JourClair = 6
END
LOOP
PRINT "Date du dimanche source (JJ/MM/AAAA) ?"
INPUT W_DateDim
IF W_DateDim = "" THEN
PRINT "Abandon."
STOP
END
W_DateDim = ICONV(W_DateDim,"D4/")
WHILE W_DateDim = ""
REPEAT
IF OCONV(W_DateDim,"DW")#"0" THEN 
	PRINT "Attention ... Cette date n'est pas in dimanche..."
	PRINT "Abandon."
	STOP
END
LOOP
PRINT "Type d'activit (P/M/PM) ?"
INPUT TypeAct
IF TypeAct = "" THEN
PRINT "Abandon."
STOP
END
IF TypeAct = "p" THEN
	TypeAct = "P"
END ELSE
   IF TypeAct = "pm" THEN TypeAct ) "PM"
   IF TypeAct = "m" THEN
	TypeAct = "M"
   END ELSE
     IF TypeAct # "M" AND TypeAct # "P" AND TypeAct # "PM" THEN
	TypeAct= ""
     END
   END
END
WHILE TypeAct = ""
REPEAT
W_CleRetour="COPIEDIMJF1"
W_Params = "AFFICHEPLANNING |" : W_CleRetour : "||PMIS|":W_DateJF:"|":W_DateJF:"|||" : "|E":"|"
EXECUTE W_Params
READ TabIntervRef FROM F.TPSTEMPO, "AFFICHEPLANNING":W_CleRetour ELSE
	TabIntervRef = ""
	TabIntervRef<1> = "#FIN"
END
W_CleRetour="COPIEDIMJF2"
W_Params = "AFFICHEPLANNING |" : W_CleRetour : "||":TypeAct:"|":W_DateDim:"|":W_DateDim:"|||" : "|E":"|"
EXECUTE W_Params
READ TabInterv FROM F.TPSTEMPO, "AFFICHEPLANNING":W_CleRetour ELSE
	TabInterv = ""
	TabInterv<1> = "#FIN"
END
EXECUTE 'COMO ON RapportCopieDate.txt'
ENR = ""
i = 0
y = 0
W_Jour=0
LOOP
i = i + 1
W_Jour=W_Jour+1
WHILE TabInterv<i>[1,4] # "#FIN"
IF TabInterv<i>[1,7] = "#Interv" THEN
	W_CodeAidant100 = TabInterv<i>[8,5]
	i = i + 1
	W_UneCopie = "F"
	W_CopiePossible = "V"
	GOSUB 100
	k = 0
	LOOP
	k = k + 1
	WHILE TabInterv<i,1,k> # "" AND W_CopiePossible = "V"
		IF TabInterv<i,1,k>[1,6] = "Interv" AND LEN(TabInterv<i,1,k>) = 7 THEN
			READ ENR FROM F.TPSDETAILSINTERV, TabInterv<i,4,k>[1,26] THEN
				ENR<6> = ""
				ENR<1> = W_DateJF
				WRITE ENR ON F.TPSDETAILSINTERV, TabInterv<i,4,k>[1,10]:W_DateJF:TabInterv<i,4,k>[16,6]:JourClair:TabInterv<i,4,k>[23,4]
				W_UneCopie = "V"
			END
		END
	REPEAT
	IF W_UneCopie = "V" THEN
		PRINT "Aidant ":W_CodeAidant100:" : Copie effectue."
	END
END ELSE
END
REPEAT
EXECUTE 'COMO OFF'
STOP
100 ***********************************************************************
* Recherche dans W_TabIntervRefsi salari disponible sur toute la journee
***************************************************************************
W_Trouve100 = "F"
y = 0
LOOP
y = y + 1
WHILE TabIntervRef<y>[1,4] # "#FIN" AND W_Trouve100 = "F"
IF TabIntervRef<y>[1,12] = "#Interv":W_CodeAidant100 THEN
	y = y + 1
	k = 0
	LOOP
	k = k + 1
	WHILE TabIntervRef<y,1,k> # "" AND W_CopiePossible = "V"
		IF TabIntervRef<y,1,k>[1,6] = "Interv" AND LEN(TabIntervRef<y,1,k>) = 7 THEN
			PRINT "Aidant : ":W_CodeAidant100:" : Impossible d'effectuer la copie car des interventions sont prvues le ":OCONV(W_DateJF,"D4/"):"."
			W_CopiePossible = "F"
			W_Trouve100 = "V"
		END
	REPEAT
END ELSE
END
REPEAT
y= y - 1
RETURN
4000 **************************************************************************
*  On dtermine W_RubDefautFerieProsp selon que la date interne		      *
* W_JourFerieProsp soit un dimanche, 1er mai,etc...			      *
*******************************************************************************
* ATTENTION : ne pas utiliser variables i, k, W_NbMv,...
* pour viter tous risques, les variables utilises par cette procdure se nomment toutes [XX]FerieProsp
* + penser en dbut de programme a initialiser W_DerniereAnneeFerieProsp afin d'viter les avertissements d'unidata.
W_JF4000 = "F"
W_JourClairFerieProsp = OCONV(W_JourFerieProsp,"D4/")
W_Param4000=W_JourClairFerieProsp:"|":Asso
CALL DIMJF(RETURNVAL,W_Param4000,Ferie)
RETURN
