*********************************************************************************
* Procdure de dtection des dimanches et jours fris
* W_DateATester : Paramtre d'entre (date en externe)
* W_Sortie = SEMAI --> Seamine, DIMAN --> Dimanche, FERIE+jour (ex: FERIE0101) 
* si le dimanche est un jour fri alors W_Sortie = "FERIE:jour"
* commande de test : DIMJF
*********************************************************************************

SUBROUTINE DIMJF(RETURNVAL, ARGUMENT, W_Sortie)

OPEN "", "PAQUES" TO F.PAQUES ELSE STOP
OPEN "", "ASSOCIATION" TO F.ASSOCIATION ELSE STOP

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

W_Pos=INDEX(ARGUMENT,"|",1)
W_Len=LEN(ARGUMENT)
W_DateATester=ARGUMENT[1,W_Pos-1]
W_Entite=ARGUMENT[W_Pos+1,W_Len-W_Pos]

READ ENR_ASSOCIATION FROM F.ASSOCIATION,W_Entite ELSE ENR_ASSOCIATION=""

	W_An=W_DateATester[7,4]
	W_MOIS=W_DateATester[4,2]
	W_JOUR=W_DateATester[1,2]

	W_DATE=ICONV(W_DateATester,"D4/")

	W_Sortie="SEMAI"


   W_TypeJour = OCONV(W_DATE,"DW")
	* TEST SI JF CLASSIQUE
	BEGIN CASE
		CASE W_TypeJour="0"
			W_Sortie="DIMAN"
		CASE W_TypeJour="1"
			W_Sortie="SEMAILUN"
      CASE W_TypeJour="2"
			W_Sortie="SEMAIMAR"
      CASE W_TypeJour="3"
			W_Sortie="SEMAIMER"
      CASE W_TypeJour="4"
			W_Sortie="SEMAIJEU"
      CASE W_TypeJour="5"
			W_Sortie="SEMAIVEN"
      CASE W_TypeJour="6"
			W_Sortie="SEMAISAM"
	END CASE

	* PREPARATION FICHIER JOURS FERIES
	READ ENR_PAQUES FROM F.PAQUES,W_An ELSE ENR_PAQUES=""
	
	W_LUNPAQUES=ENR_PAQUES<1>[1,2]:"/":ENR_PAQUES<1>[3,2]:"/":W_An
	W_LUNPAQUES=ICONV(W_LUNPAQUES,"D4/")+1
	W_JEUASCENSION=W_LUNPAQUES+38
	W_LUNPENTECOTE=W_JEUASCENSION+11

	* TEST SI JF SPECIAUX (LUNDI PAQUES/JEUDI ASCENSION/LUNDI PENTECOTE)
	IF W_DATE=W_LUNPAQUES THEN
		IF ENR_ASSOCIATION<42> # "LUPAQ" THEN
			W_Sortie="FERIEPAQ"
			RETURN
		END
	END
	IF W_DATE=W_JEUASCENSION THEN 
		IF ENR_ASSOCIATION<42> # "JEASC" THEN
			W_Sortie="FERIEASC"
			RETURN
		END
	END
	IF W_DATE=W_LUNPENTECOTE THEN 
		IF ENR_ASSOCIATION<42> # "LUPEN" THEN
			W_Sortie="FERIEPEN"
			RETURN
		END
	END

	* TEST SI JF CLASSIQUE
	BEGIN CASE
		CASE W_MOIS="01"
			IF ENR_ASSOCIATION<42> # "01JAN" THEN
				IF W_JOUR=1 THEN W_Sortie="FERIE0101"
			END
		CASE W_MOIS="05"
			IF W_JOUR=1 THEN W_Sortie="FERIE0105"
			IF ENR_ASSOCIATION<42> # "08MAI" THEN
				IF W_JOUR=8 THEN W_Sortie="FERIE0805"
			END
		CASE W_MOIS="07"
			IF ENR_ASSOCIATION<42> # "14JUI" THEN
				IF W_JOUR=14 THEN W_Sortie="FERIE1407"
			END
		CASE W_MOIS="08"
			IF ENR_ASSOCIATION<42> # "15AOU" THEN
				IF W_JOUR=15 THEN W_Sortie="FERIE1508"
			END
		CASE W_MOIS="11"
			IF ENR_ASSOCIATION<42> # "01NOV" THEN
				IF W_JOUR=1 THEN W_Sortie="FERIE0111"
			END
			IF ENR_ASSOCIATION<42> # "11NOV" THEN
				IF W_JOUR=11 THEN W_Sortie="FERIE1111"
			END
		CASE W_MOIS="12"
			IF ENR_ASSOCIATION<42> # "25DEC" THEN
				IF W_JOUR=25 THEN W_Sortie="FERIE2512"
			END
	END CASE

RETURN