********************************************************************************
* Fait le dcompte de jours ouvrs sur un mois 
*
* Paramtre en entre : code entit juridique (pour dtermination journe de solidarit)
*                       date dbut
*                       matin ou aprs-midi (M ou A)
*                       date fin
*                       midi ou aprs-midi (M ou A)
*
* Paramtre en sortie : nombre de jours ouvrs
*                       nombre de dimanches
*                       nombre de samedis
*                       nombre de jours fris
*
********************************************************************************
SUBROUTINE CALCNBJRSPERIODE(W_ENTREE, W_SORTIE)
EXECUTE "SET-THOUS ."
EXECUTE "SET-DEC ,"
EXECUTE "DATE.FORMAT"
OPEN "","ASSOCIATION" TO F.ASSOCIATION ELSE NULL ;* en lecture
OPEN "","PAQUES" TO F.PAQUES ELSE NULL ;* en lecture
W_CODEASSO=W_ENTREE<1,1>
W_DATEDEBUT=W_ENTREE<1,2>
W_DEBUT=W_ENTREE<1,3>
W_DATEFIN=W_ENTREE<1,4>
W_FIN=W_ENTREE<1,5>
W_NBJRSOUVRES=0
W_NBJRSDIM=0
W_NBJRSSAM=0
W_NBJRSJF=0
W_SORTIE=""
W_DATEDEBUTBIS=OCONV(W_DATEDEBUT,"D4/")
W_ANNEE=W_DATEDEBUTBIS[7,4]
READ ENR_ASSOCIATION FROM F.ASSOCIATION,W_CODEASSO ELSE ENR_ASSOCIATION=""
READ ENR_PAQUES FROM F.PAQUES,W_ANNEE ELSE ENR_PAQUES=""
W_LUNPAQUES=ENR_PAQUES<1>[1,2]:"/":ENR_PAQUES<1>[3,2]:"/":W_ANNEE
W_LUNPAQUES=ICONV(W_LUNPAQUES,"D4/")+1
W_JEUASCENSION=W_LUNPAQUES+38
W_LUNPENTECOTE=W_JEUASCENSION+11

FOR J=W_DATEDEBUT TO W_DATEFIN
	W_DATE=OCONV(J,"D4/")
	W_MOIS=W_DATE[4,2]
	W_JOUR=W_DATE[1,2]
	W_Sortie="SEMAI"
	W_TypeJour = OCONV(J,"DW")
	BEGIN CASE
		CASE W_TypeJour="0"
			W_NBJRSDIM=W_NBJRSDIM+100
		CASE W_TypeJour="6"
			W_NBJRSSAM=W_NBJRSSAM+100
		CASE J=W_LUNPAQUES
			IF ENR_ASSOCIATION<42> # "LUPAQ" THEN 
				W_NBJRSJF=W_NBJRSJF+100
			END ELSE
				GOSUB 10
			END
		CASE J=W_JEUASCENSION 
			IF ENR_ASSOCIATION<42> # "JEASC" THEN 
				W_NBJRSJF=W_NBJRSJF+100
			END ELSE
				GOSUB 10
			END
		CASE J=W_LUNPENTECOTE 
			IF ENR_ASSOCIATION<42> # "LUPEN" THEN 
				W_NBJRSJF=W_NBJRSJF+100
			END ELSE
				GOSUB 10
			END
		CASE W_MOIS="01" AND W_JOUR=1
			IF ENR_ASSOCIATION<42> # "01JAN" THEN
				W_NBJRSJF=W_NBJRSJF+100
			END ELSE
                        GOSUB 10
			END
		CASE W_MOIS="05" AND W_JOUR=1
			W_NBJRSJF=W_NBJRSJF+100
		CASE W_MOIS="05" AND W_JOUR=8
			IF ENR_ASSOCIATION<42> # "08MAI" THEN
				W_NBJRSJF=W_NBJRSJF+100
			END ELSE
				GOSUB 10
			END
		CASE W_MOIS="07" AND W_JOUR=14
			IF ENR_ASSOCIATION<42> # "14JUI" THEN
				W_NBJRSJF=W_NBJRSJF+100
			END ELSE
				GOSUB 10
			END
		CASE W_MOIS="08" AND W_JOUR=15
			IF ENR_ASSOCIATION<42> # "15AOU" THEN
				W_NBJRSJF=W_NBJRSJF+100
			END ELSE
				GOSUB 10
			END
		CASE W_MOIS="11" AND W_JOUR=1
			IF ENR_ASSOCIATION<42> # "01NOV" THEN
				W_NBJRSJF=W_NBJRSJF+100
			END ELSE
				GOSUB 10
			END
		CASE W_MOIS="11" AND W_JOUR=11
			IF ENR_ASSOCIATION<42> # "11NOV" THEN
				W_NBJRSJF=W_NBJRSJF+100
			END ELSE
				GOSUB 10
			END
		CASE W_MOIS="12" AND W_JOUR=25
			IF ENR_ASSOCIATION<42> # "25DEC" THEN
				W_NBJRSJF=W_NBJRSJF+100
			END ELSE
				GOSUB 10
			END
		CASE 1
			GOSUB 10
	END CASE

NEXT J

W_SORTIE<1,1>=W_NBJRSOUVRES
W_SORTIE<1,2>=W_NBJRSDIM
W_SORTIE<1,3>=W_NBJRSSAM
W_SORTIE<1,4>=W_NBJRSJF

RETURN

******************************************************************************
* Ajout jour ouvr
******************************************************************************
10

W_NBJRSOUVRES=W_NBJRSOUVRES+100
IF J=W_DATEDEBUT THEN
	IF W_DEBUT="A" THEN W_NBJRSOUVRES=W_NBJRSOUVRES-50
END
IF J=W_DATEFIN THEN
	IF W_FIN="M" THEN W_NBJRSOUVRES=W_NBJRSOUVRES-50
END
RETURN
