SUBROUTINE CalcIndLicRet (CodeContrat,LicencRetraite,MontIndemnite,PeriodePaie)

LISTABSAIDANT=""
W_JourAnciennte=0
W_DroitIndem="FAUX"
W_DateFinCalcul=""
W_Temp=""
W_TotalPaie=0
W_Paie=0
W_Paie3Mois=0
W_Paie12Mois=0
W_NbMois=0
W_NOTIF="FAUX"

W_AnneeFin=""
W_AnneeFaite=""
W_MoisFin=""
W_MoisFait=""
W_JourFin=""
W_JourFait=""
W_Fini="FAUX"
W_CountMoisActif=0
W_AnneeAncienneteReference = 0
MontIndemnite=0

EXECUTE "SET-THOUS ."
EXECUTE "SET-DEC ,"
EXECUTE "DATE.FORMAT"
OPEN "","ABSENCESAIDANT" TO F.ABSENCESAIDANT ELSE RETURN
OPEN "","CIVILAIDANT" TO F.CIVILAIDANT ELSE RETURN
OPEN "","CONSTANTESPAIE" TO F.CONSTANTESPAIE ELSE RETURN
OPEN "","CONTRAT" TO F.CONTRAT ELSE RETURN
OPEN "","DETAILCALCUL" TO F.DETAILCALCUL ELSE RETURN
OPEN "","CONTRATSPREV" TO F.CONTRATSPREV ELSE RETURN
OPEN "","ASSOCIATION" TO F.ASSOCIATION ELSE RETURN
* Didier 28/10/2014 : calcul salaire de rfrence systmatiquement sur 12 mois si modul ou mensualis
OPEN "","CONVENTIONCOL" TO F.CONVENTIONCOL ELSE RETURN
*OPEN "","FUSION" TO F.FUSION ELSE RETURN
IF LicencRetraite = "PB" THEN
	OPEN "","BUDGETFICHPERSO" TO F.CIVILAIDANT ELSE RETURN
	OPEN "","BUDGETFICHPERSO" TO F.CONTRAT ELSE RETURN
	OPEN "","BUDGETDETAILCALCUL" TO F.DETAILCALCUL ELSE RETURN
END
W_ReqCmplts = ""
W_ListeRubCmplts = ""
W_ListeRubCmplts<-1> = "807"
W_ListeRubCmplts<-1> = "808"
EXECUTE 'SELECT CONTRATSPREV'
EXECUTE 'SAUVE-LISTE W_ReqContratsPrevCalcIndLicret'
EXECUTE 'LISTE W_ReqContratsPrevCalcIndLicret' RETURNING MSGCODE
IF MSGCODE<1> = "209" THEN
	* Rien
END ELSE
	SELECT F.CONTRATSPREV TO W_ReqCmplts
	W_Fin = "F"
	LOOP
	READNEXT W_Cle FROM W_ReqCmplts ELSE W_Fin = "V"
	WHILE W_Fin = "F"
	  READ ENR_CONTRATSPREV FROM F.CONTRATSPREV, W_Cle THEN
		IF ENR_CONTRATSPREV<41> # "" THEN
			W_ListeRubCmplts<-1> = ENR_CONTRATSPREV<41>
		END	
		IF ENR_CONTRATSPREV<42> # "" THEN
			W_ListeRubCmplts<-1> = ENR_CONTRATSPREV<42>
		END	
	
	  END
	REPEAT
END
EXECUTE 'EFFACER-LISTE W_ReqContratsPrevCalcIndLicret'

READ ENR_CONTRAT FROM F.CONTRAT,CodeContrat ELSE RETURN
IF LicencRetraite = "PB" THEN
	ENR_CONTRAT<1>=ENR_CONTRAT<3>
	ENR_CONTRAT<2>=CodeContrat[6,3]
	ENR_CONTRAT<5>="M"
	ENR_CONTRAT<6>=ENR_CONTRAT<7>
	ENR_CONTRAT<7>=ENR_CONTRAT<8>
	ENR_CONTRAT<70>=0
END

* Didier 28/10/2014 : calcul salaire de rfrence systmatiquement sur 12 mois si modul ou mensualis
W_MENSUALISATION="NON"
READ ENR_CONVENTIONCOL FROM F.CONVENTIONCOL,ENR_CONTRAT<1> ELSE ENR_CONVENTIONCOL=""
IF ENR_CONVENTIONCOL<63>#"" AND ENR_CONVENTIONCOL<64>#"" THEN W_MENSUALISATION="OUI"

IF ENR_CONVENTIONCOL<65>#"" AND ENR_CONVENTIONCOL<66>#"" AND ENR_CONVENTIONCOL<67>#"" THEN W_MENSUALISATION="OUI"

IF ENR_CONVENTIONCOL<68>#"" AND ENR_CONVENTIONCOL<69>#"" THEN W_MENSUALISATION="OUI"

IF ENR_CONVENTIONCOL<70>#"" AND ENR_CONVENTIONCOL<71>#"" AND ENR_CONVENTIONCOL<72>#"" THEN W_MENSUALISATION="OUI"
W_MENSUALISATIONCONTRAT="NON"
IF ENR_CONTRAT<5>="H" AND W_MENSUALISATION="OUI" THEN W_MENSUALISATIONCONTRAT="OUI"
IF ENR_CONTRAT<5>="M" THEN W_MENSUALISATIONCONTRAT="OUI"

READ ENR_CONSTANTESPAIE FROM F.CONSTANTESPAIE,"1" ELSE RETURN
READ ENR_ASSOCIATION FROM F.ASSOCIATION,ENR_CONTRAT<2> ELSE RETURN

RapportEuro=ENR_CONSTANTESPAIE<7> / 100000
DateEuro=OCONV(ENR_CONSTANTESPAIE<9>,"D4/")
DateEuroAAAAMM=DateEuro[7,4]:DateEuro[4,2]
CodeConvCol=ENR_CONTRAT<1>
IF CodeConvCol="05" AND ENR_ASSOCIATION<1>="A.S.M.A.D." THEN CodeConvCol="01"

***** modif ludo *****
**DateDeb=ENR_CONTRAT<7>

IF ENR_CONTRAT<97> # "" AND ENR_CONTRAT<97> # ENR_CONTRAT<7> THEN
	DateDeb = ENR_CONTRAT<97>
	PRINT "Date de depart anciennete att. 97 : ":OCONV(DateDeb,"D4/")
END ELSE
	DateDeb = ENR_CONTRAT<7>
	PRINT "Date de depart anciennete att.  7 : ":OCONV(DateDeb,"D4/")
END

***** FIN MODIF LUDO *****

IF ENR_CONTRAT<96> # "" THEN
	DateFin=ENR_CONTRAT<96>
	PRINT "Date de fin de contrat att. 96 : ":OCONV(DateFin,"D4/")
END ELSE
	DateFin=ENR_CONTRAT<8>
	PRINT "Date de fin de contrat att.  8 : ":OCONV(DateFin,"D4/")
END
DateNotif=ENR_CONTRAT<50>
PRINT "Date de notification att. 50 : ":OCONV(DateNotif,"D4/")
* Modif Guillaume 19/11/2009 DA9184
DateDernJourTrav=ENR_CONTRAT<51>
PRINT "Dernier jours travaille att. 51 : ":OCONV(DateDernJourTrav,"D4/")

DateDernierBull=ENR_CONTRAT<58>
NbJourSusp=INT(ENR_CONTRAT<70> / 100)
IF NbJourSusp = "" THEN
   NbJourSusp=0
END
PRINT "Nombre de jours de suspension att. 70 : ":NbJourSusp
	*********************************************
	* si provision pour depart en retraite
	IF LicencRetraite = "P" OR LicencRetraite = "PB" THEN

		W_Pos=INDEX(PeriodePaie,"|",1)
		W_Len=LEN(PeriodePaie)
		W_AgeRetraite=PeriodePaie[W_Pos+1,W_Len-W_Pos]
		PeriodePaie=PeriodePaie[1,W_Pos-1]
		IF LicencRetraite = "PB" THEN
			READ ENR_CIVILAIDANT FROM F.CIVILAIDANT,CodeContrat ELSE ENR_CIVILAIDANT=""
			ENR_CIVILAIDANT<26>=ENR_CIVILAIDANT<9>
		END ELSE
			READ ENR_CIVILAIDANT FROM F.CIVILAIDANT,CodeContrat[1,5] ELSE ENR_CIVILAIDANT=""
		END
		W_DateNais=OCONV(ENR_CIVILAIDANT<26>,"D4/")
		W_DateNais=W_DateNais[1,6]:W_DateNais[7,4]+W_AgeRetraite
		W_DateNais=ICONV(W_DateNais,"D4/")

		DateFin=W_DateNais
		DateNotif=""
		DateDernierBull=PeriodePaie
		* Modif Guillaume 19/11/2009 DA9184
		DateDernJourTrav = ICONV("01/":PeriodePaie[5,2]:"/":PeriodePaie[1,4], "D4/")		
		
		CodeContrat=CodeContrat[1,8]
	END
	*********************************************

IF PeriodePaie => DateEuroAAAAMM THEN
	EnEuro="VRAI"
END ELSE
	EnEuro="FAUX"
END

IF DateNotif="" THEN
	W_Date=DateFin
	DateNotif=DateFin
	PRINT "Date fin retenue - DateFin : ":OCONV(W_Date,"D4/")
END ELSE
	W_Date=DateNotif
	PRINT "Date fin retenue - DateNotif : ":OCONV(W_Date,"D4/")
END

PRINT ""

IF LicencRetraite = "L" THEN

	* Calcul les annes ralises pour savoir si droit ou non a l'indemnite
	PRINT "Premier calcul de l'anciennete"
	* modif vanessa 15/09/11 - DA 11077-01
	W_Date=W_Date - NbJourSusp	
	GOSUB 400

	* modif ludo passage de 2 ans a 1 an pour l'anciennete (sauf pour la convention 02)
   
    IF CodeConvCol = "02" THEN 
		W_AnneeAncienneteReference = 1
	END ELSE
		W_AnneeAncienneteReference = 1
	END
   
	IF W_AnneeFaite => W_AnneeAncienneteReference THEN    ;* 1 an d'anciennete (ou 2 ans pour la convention 02)
		PRINT "Le salarie a assez d'anciennete pour avoir droit a l'indemnite de licenciement."
		PRINT ""
		* Calcul les annes ralises pour l'indemnite
		PRINT "Deuxime calcul de l'anciennete."
		
		W_Date=DateFin - NbJourSusp
		PRINT "Date de fin moins jours de suspension : ":OCONV(W_Date,"D4/")
		GOSUB 400

		PRINT "Calcul du salaire de reference."
		* Salaire de ref
		GOSUB 50
		PRINT "Fin du calcul du salaire de reference."
		PRINT ""
		
		*PRINT "Application de la formule de calcul de l'indemnite en fonction de la convention"
		* Dispatche dans les diffrentes conventions
		GOSUB 300

	END
END ELSE
	IF LicencRetraite = "JS" THEN
		DateDernierBull=PeriodePaie
		* Modif Guillaume 19/11/2009 DA9184
		DateDernJourTrav = ICONV("01/":PeriodePaie[5,2]:"/":PeriodePaie[1,4], "D4/")		
	
		* Salaire de ref
		GOSUB 50
		
	END ELSE
		* Calcul les annes ralises pour l'indemnite
		PRINT "Calcul de l'anciennete"
		W_Date=DateFin - NbJourSusp
		PRINT "Date de fin moins jours de suspension : ":OCONV(W_Date,"D4/")
		GOSUB 400

		PRINT "Calcul du salaire de reference"
		* Salaire de ref
		GOSUB 50
		PRINT "Fin du calcul du salaire de reference."
		PRINT ""
		
		*PRINT "Application de la formule de calcul de l'indemnite en fonction de la convention"
		* Dispatche dans les diffrentes conventions
		GOSUB 310		
	END

END

MontIndemnite=INT(MontIndemnite+1/2)

	*****************************************
	* si provision pour depart en retraite
	IF LicencRetraite = "P" OR LicencRetraite = "PB" THEN
		MontIndemnite=MontIndemnite:";":W_TabHre:";":W_Paie
	END
	*****************************************
	
	*****************************************
	* si journe de solidarite JS
	IF LicencRetraite = "JS" THEN
		MontIndemnite=INT(W_Paie/30 +1/2)
	END
	*****************************************	
	
RETURN

******************************************************************************
* Calcul la salaire de reference : Meilleur entre les 3 et 12 derniers mois
******************************************************************************
50

	* Modif Guillaume DA9184 19/11/2009   
	W_Mois = OCONV(DateDernJourTrav, "D4/")[4,2] - 1
	W_Mois=W_Mois "R%2"
	W_Annee = OCONV(DateDernJourTrav, "D4/")[7,4]
	IF W_Mois="00" THEN
		W_Annee=W_Annee-1
		W_Mois=12
	END

* Parcours des avenants pour dterminer si  la hausse sur les 3 derniers mois : si oui, on maintient le calcul du salaire
* de rfrence sur 3 mois et 12 mois, sinon sur 12 mois exclusivement
	IF W_MENSUALISATIONCONTRAT="OUI" AND LicencRetraite # "PB" THEN
		W_PERLIMITEAVENANT=W_Annee:W_Mois
		W_PERLIMITEAVENANTFIN=W_Mois+1
		W_PERLIMITEAVENANTFIN=W_PERLIMITEAVENANTFIN "R%2"
		IF W_PERLIMITEAVENANTFIN=13 THEN
			W_PERLIMITEAVENANTFIN="31/12/":W_Annee
			W_PERLIMITEAVENANTFIN=ICONV(W_PERLIMITEAVENANTFIN,"D4/")
		END ELSE
			W_PERLIMITEAVENANTFIN="01/":W_PERLIMITEAVENANTFIN:"/":W_Annee
			W_PERLIMITEAVENANTFIN=ICONV(W_PERLIMITEAVENANTFIN,"D4/")
			W_PERLIMITEAVENANTFIN=W_PERLIMITEAVENANTFIN-1
		END
		FOR G=1 TO 2
			W_PERLIMITEAVENANT=W_PERLIMITEAVENANT-1
			IF W_PERLIMITEAVENANT[5,2]="00" THEN W_PERLIMITEAVENANT=W_PERLIMITEAVENANT-88
		NEXT G
		W_PERLIMITEAVENANT="01/":W_PERLIMITEAVENANT[5,2]:"/":W_PERLIMITEAVENANT[1,4]
		PRINT "Mensualisation - Recherche avenant a la hausse sur 3 derniers mois du : ":W_PERLIMITEAVENANT:" au ":OCONV(W_PERLIMITEAVENANTFIN,"D4/")
		W_PERLIMITEAVENANT=ICONV(W_PERLIMITEAVENANT,"D4/")
 		W_FINRECHAVENANT="NON"
 		G=DCOUNT(EXTRACT(ENR_CONTRAT,15),CHAR(253))
		LOOP
			IF G=0 THEN W_FINRECHAVENANT="OUI"
		UNTIL W_FINRECHAVENANT="OUI" DO
			DatEffetContrat=EXTRACT(ENR_CONTRAT,15,G)
			IF DatEffetContrat>=W_PERLIMITEAVENANT AND DatEffetContrat<W_PERLIMITEAVENANTFIN THEN
				W_FINRECHAVENANT="OUI"
			END ELSE
				G=G-1
			END
		REPEAT
		IF G>0 THEN
			PRINT "Date effet avenant retenu : ":OCONV(DatEffetContrat, "D4/")
			W_DERNDUREEWCONTRAT=EXTRACT(ENR_CONTRAT,24,G)
			W_DERNFREQWCONTRAT=EXTRACT(ENR_CONTRAT,25,G)
			BEGIN CASE
				CASE W_DERNFREQWCONTRAT=1 ;* hebdomadaire
					W_DERNHEURESMENS=INT(W_DERNDUREEWCONTRAT*52/12+1/2)
				CASE W_DERNFREQWCONTRAT=2 ;* quatorzaine
					W_DERNHEURESMENS=INT(W_DERNDUREEWCONTRAT*26/12+1/2)
				CASE W_DERNFREQWCONTRAT=3 ;* mensuelle
					W_DERNHEURESMENS=W_DERNDUREEWCONTRAT
				CASE W_DERNFREQWCONTRAT=4 ;* annuelle
					W_DERNHEURESMENS=INT(W_DERNDUREEWCONTRAT/12+1/2)
			END CASE
			W_PRECHEURESMENS=0
			W_FINRECHAVENANT="NON"
			G=G-1
 			LOOP
 				IF G=0 THEN W_FINRECHAVENANT="OUI"
			UNTIL W_FINRECHAVENANT="OUI" DO
				DatEffetContrat=EXTRACT(ENR_CONTRAT,15,G)
				IF DatEffetContrat<W_PERLIMITEAVENANT THEN
					DureeWContrat=EXTRACT(ENR_CONTRAT,24,G)
					FreqWContrat=EXTRACT(ENR_CONTRAT,25,G)
					BEGIN CASE
						CASE FreqWContrat=1 ;* hebdomadaire
							W_PRECHEURESMENS=INT(DureeWContrat*52/12+1/2)
						CASE FreqWContrat=2 ;* quatorzaine
							W_PRECHEURESMENS=INT(DureeWContrat*26/12+1/2)
						CASE FreqWContrat=3 ;* mensuelle
							W_PRECHEURESMENS=DureeWContrat
						CASE FreqWContrat=4 ;* annuelle
							W_PRECHEURESMENS=INT(DureeWContrat/12+1/2)
					END CASE
					W_FINRECHAVENANT="OUI"
				END ELSE
					G=G-1
				END
			REPEAT
			* Si la variable W_MENSUALISATIONCONTRAT est positionne  "NON", cela signifie que le salaire de rfrence est
			* galement calcul sur les 3 derniers mois
			IF W_DERNHEURESMENS>W_PRECHEURESMENS THEN W_MENSUALISATIONCONTRAT="NON"
			PRINT "Valeur dernier avenant : ":W_DERNHEURESMENS:"   Valeur avenant precedent :":W_PRECHEURESMENS
			PRINT ""
		END
	END

	W_TabHre=""

	W_Date="01":OCONV(DateDernJourTrav, "D4/")[3,8]
	W_Date=ICONV(W_Date,"D4/")

	* Calcul la periode d'absence
	PRINT "Calcul de la periode d'absence."
* Didier 06/11/2014 : ne pas faire 500 si calcul provision retraite pour budget
	IF LicencRetraite # "PB" THEN GOSUB 500

* Didier 06/11/2014 : ne pas faire 500 si calcul provision retraite pour budget
   	IF LicencRetraite # "PB" THEN
		W_FINRECH="NON"
		LOOP
			IF W_JourAbs12>=W_NBJRS12MOIS AND W_PaieAbs12=0 THEN NULL ELSE W_FINRECH="OUI"
		UNTIL W_FINRECH="OUI" DO
			W_Date=OCONV(W_DEBABSANC,"D4/")
			W_Date="01/":W_Date[4,2]:"/":W_Date[7,4]
			W_Mois=W_Date[4,2] - 1
			W_Mois=W_Mois "R%2"
			W_Annee=W_Date[7,4]
			IF W_Mois="00" THEN
				W_Annee=W_Annee-1
				W_Mois=12
			END
			W_Date=ICONV(W_Date,"D4/")
			IF DateDeb<W_Date THEN
				GOSUB 500
			END ELSE
				W_FINRECH="OUI"
			END
		REPEAT
	END ELSE
		W_JourAbs3=0
		W_JourAbs12=0
		W_PaieAbs3=0
		W_PaieAbs12=0
	END

	PRINT "Nombre de jours d'absence  3 mois autre qu'arret travail : ":W_JourAbs3
	PRINT "Nombre de jours d'absence 12 mois autre qu'arret travail : ":W_JourAbs12
	PRINT "Valorisation jours d'absence  3 mois arrt travail : ":W_PaieAbs3
	PRINT "Valorisation jours d'absence 12 mois arrt travail : ":W_PaieAbs12
	PRINT ""
	
	FOR i=1 TO 12
		IF i=4 THEN
			W_Paie3Mois=W_TotalPaie
			W_TabHre3=W_TabHre
		END
		IF W_Mois=0 THEN
			W_Annee=W_Annee-1
			W_Mois=12
		END
		READ ENR_DETAILCALCUL FROM F.DETAILCALCUL,CodeContrat:W_Annee:W_Mois THEN
			IF DateEuroAAAAMM > W_Annee:W_Mois AND EnEuro="VRAI" THEN
				ENR_DETAILCALCUL<7>=INT(ENR_DETAILCALCUL<7> / RapportEuro + 1/2)
			END

			IF LicencRetraite = "JS" THEN
				W_TotalPaie=W_TotalPaie+ENR_DETAILCALCUL<6>
			END ELSE
				W_TotalPaie=W_TotalPaie+ENR_DETAILCALCUL<7>
			END

			W_DeduitCompl=0
			IF LicencRetraite <> "JS" THEN
				j=1
				LOOP
				WHILE ENR_DETAILCALCUL<2,j> # "" DO
					IF INDEX(W_ListeRubCmplts,ENR_DETAILCALCUL<2,j>,1) # 0 THEN
						IF DateEuroAAAAMM > W_Annee:W_Mois AND EnEuro="VRAI" THEN
							ENR_DETAILCALCUL<5,j>=INT(ENR_DETAILCALCUL<5,j> / RapportEuro + 1/2)
						END
						W_DeduitCompl=W_DeduitCompl + ENR_DETAILCALCUL<5,j>
					END
					j=j+1
				REPEAT
				W_TotalPaie=W_TotalPaie-W_DeduitCompl
				PRINT "Periode de paie : ":W_Annee:W_Mois
				PRINT "     Paie : ":ENR_DETAILCALCUL<7>
				PRINT "     Complement a deduire : ":W_DeduitCompl
				PRINT "     Paies cumulees : ":W_TotalPaie
			END

			W_CountMoisActif=W_CountMoisActif+1

			*****************************************
			* si provision pour depart en retraite
			IF LicencRetraite = "P" OR LicencRetraite = "PB" THEN
				IF ENR_CONTRAT<6>="P" THEN
					W_Count25=DCOUNT(ENR_DETAILCALCUL<25>,CHAR(253))
					FOR i25=1 TO W_Count25
						IF W_TabHre="" THEN
							W_TabHre<1>=ENR_DETAILCALCUL<25,i25>
							W_TabHre<2>=ENR_DETAILCALCUL<26,i25>
						END ELSE
							j=1
							LOOP
							UNTIL ENR_DETAILCALCUL<26,i25> = W_TabHre<2,j> OR  W_TabHre<2,j>="" DO
								j=j+1
							REPEAT
							IF ENR_DETAILCALCUL<26,i25> = W_TabHre<2,j> THEN
								W_TabHre<1,j>=W_TabHre<1,j>+ENR_DETAILCALCUL<25,i25>
							END ELSE
								W_TabHre<1,j>=ENR_DETAILCALCUL<25,i25>
								W_TabHre<2,j>=ENR_DETAILCALCUL<26,i25>
							END
						END
					NEXT i25
				END
			END
			**********************************************
		END
		W_Mois=W_Mois-1
		W_Mois=W_Mois "R%2"
	NEXT i

* Didier 28/10/2014 : calcul salaire de rfrence systmatiquement sur 12 mois si modul ou mensualis
	IF W_MENSUALISATIONCONTRAT="OUI" THEN W_Paie3Mois=0

	PRINT "Total paie 3 mois : ":W_Paie3Mois
	PRINT "Total heures 3 mois (si provision retraite) : ":W_TabHre3
	
	PRINT "Total paie 12 mois : ":W_TotalPaie
	PRINT "Total heures 12 mois (si provision retraite) : ":W_TabHre
	
	PRINT "Formule calcul salaire de reference 3 mois."
* Didier 28/10/2014 : ajout revalorisation des absences pour motif <= 06
	IF W_JourAbs3=0 THEN  
*		W_Paie3Mois=INT(W_Paie3Mois/3+1/2)
		W_Paie3Mois=INT(((W_Paie3Mois + W_PaieAbs3)/3)+1/2)
	END ELSE
		IF W_JourAbs3  < W_NBJRS3MOIS THEN
*			W_Paie3Mois=W_Paie3Mois/(W_NBJRS3MOIS-W_JourAbs3)
			W_Paie3Mois=(W_Paie3Mois + W_PaieAbs3)/(W_NBJRS3MOIS-W_JourAbs3)
			W_Paie3Mois=INT(W_Paie3Mois*30+1/2)
		END ELSE
			W_Paie3Mois=W_PaieAbs3
		END
	END
	
	PRINT "Formule calcul salaire de reference 12 mois."
	IF W_JourAbs12=0 THEN
		W_Paie12Mois=INT((W_TotalPaie+W_PaieAbs12)/12+1/2)
	END ELSE
		IF W_JourAbs12 < W_NBJRS12MOIS THEN
			W_Paie12Mois=(W_TotalPaie + W_PaieAbs12)/(W_NBJRS12MOIS-W_JourAbs12)
			W_Paie12Mois=INT(W_Paie12Mois*30+1/2)
		END ELSE
			W_Paie12Mois = W_PaieAbs12	
		END
	END
	
	PRINT "Salaire de reference  3 mois : ":W_Paie3Mois
	PRINT "Salaire de reference 12 mois : ":W_Paie12Mois
	
	IF W_Paie12Mois>W_Paie3Mois THEN
		W_Paie=W_Paie12Mois
	END ELSE
		W_Paie=W_Paie3Mois
		W_TabHre=W_TabHre3
	END
	
	PRINT "Salaire de reference retenu : ":W_Paie
	PRINT "Total heures retenu (si provision retraite) : ":W_TabHre
	
RETURN
******************************************************************************


****************
* Licenciement *
****************

******************************************************************************
* Code du travail pour les licenciements Aide a domicile                     *
******************************************************************************
100
   W_Temp=W_MoisFait+W_AnneeFaite*12
   IF W_Temp > 120 THEN
      W_AnneeFaite=W_AnneeFaite-10
      MontIndemnite=W_Paie+W_Paie/6*W_AnneeFaite+W_Paie*W_MoisFait/120+W_Paie*W_MoisFait/180    
	  ** test si la date est apres le 19 juillet 2008 **
	  IF DateNotif >= 14811 THEN
		MontIndemnite = MontIndemnite * 2
	  END
   END ELSE
      MontIndemnite=W_Paie*W_AnneeFaite*1/10+W_Paie*W_MoisFait/120
	  IF DateNotif >= 14811 THEN
		MontIndemnite = MontIndemnite * 2
	  END
   END
RETURN

******************************************************************************
* Code du travail pour les licenciements Employe de maison                   *
******************************************************************************
105
   W_Temp=W_MoisFait+W_AnneeFaite*12
   IF W_Temp > 120 THEN
      W_AnneeFaite=W_AnneeFaite-10
      MontIndemnite=W_Paie+W_Paie/6*W_AnneeFaite+W_Paie*W_MoisFait/120+W_Paie*W_MoisFait/180    
   END ELSE
      MontIndemnite=W_Paie*W_AnneeFaite*1/10+W_Paie*W_MoisFait/120
   END
RETURN

***********************************************************************
* Convention ADMR pour les licenciements                              *
***********************************************************************
110
   IF ENR_CONTRAT<6>="A" THEN
      IF DateDeb <= 3784 THEN ;* 11 mai 1978
         MontIndemnite=W_Paie*6
      END ELSE
         IF W_AnneeFaite < 5 THEN
             MontIndemnite=W_Paie*1/5*W_AnneeFaite+W_MoisFait/12*1/5*W_Paie
         END ELSE
            IF W_AnneeFaite > 5 THEN
               MontIndemnite=W_Paie*3
            END ELSE
               MontIndemnite=W_Paie*1/2*W_AnneeFaite+W_MoisFait/12*1/2*W_Paie
            END
         END
      END
   END ELSE
      GOSUB 100
   END

RETURN

*************************************************************************
* Convention Famille Rurale pour les licenciements , Ets priv (FEHAPS) *
*************************************************************************
120
   IF W_AnneeFaite > 11 THEN
      MontIndemnite=W_Paie*6
   END ELSE
      MontIndemnite=W_Paie*1/2*W_AnneeFaite+W_MoisFait/12*1/2*W_Paie
   END
RETURN

***********************************************************************
* Convention Travailleuses Familliales pour les licenciements         *
***********************************************************************
130
   MontIndemnite=W_Paie/5*W_AnneeFaite+W_MoisFait/12*W_Paie/5
RETURN


************
* Retraite *
************

******************************************************************************
* Code du travail a domicile pour les dparts en retraite, Employe de maison *
******************************************************************************
200
   BEGIN CASE
      CASE W_AnneeFaite>9 AND W_AnneeFaite<15
         MontIndemnite=W_Paie*1/2
      CASE W_AnneeFaite>14 AND W_AnneeFaite<20
         MontIndemnite=W_Paie
      CASE W_AnneeFaite>19 AND W_AnneeFaite<30
         MontIndemnite=W_Paie+W_Paie/2
      CASE W_AnneeFaite>29
         MontIndemnite=W_Paie*2
   END CASE
RETURN

*****************************************************************************
* Convention ADMR pour les dparts en retraite                              *
*****************************************************************************
210
   IF W_AnneeFaite > 9 THEN
      W_Temp=W_AnneeFaite/10
      MontIndemnite=W_Paie*W_Temp+W_MoisFait/120*W_Paie 
      MontIndemnite=INT(MontIndemnite + 1/2)
   END
RETURN

*****************************************************************************
* Convention Famille Rurale pour les dparts en retraite                    *
*****************************************************************************
220
   MontIndemnite=W_Paie/10*W_AnneeFaite
RETURN

*****************************************************************************
* Convention Aide a domicile pour les dparts en retraite                   *
*****************************************************************************
230
* Didier 30/01/2012 : nouvelles rgles suite CCB
*   BEGIN CASE
*      CASE W_AnneeFaite>4 AND W_AnneeFaite<10
*         MontIndemnite=W_Paie*1/4
*      CASE W_AnneeFaite>9 AND W_AnneeFaite<15
*         MontIndemnite=W_Paie*1/2
*      CASE W_AnneeFaite>14 AND W_AnneeFaite<20
*         MontIndemnite=W_Paie
*      CASE W_AnneeFaite>19 AND W_AnneeFaite<30
*         MontIndemnite=W_Paie*2
*      CASE W_AnneeFaite>29
*         MontIndemnite=W_Paie*3
*   END CASE
   BEGIN CASE
      CASE W_AnneeFaite>4 AND W_AnneeFaite<10
         MontIndemnite=W_Paie*1/2
      CASE W_AnneeFaite>9 AND W_AnneeFaite<15
         MontIndemnite=W_Paie
      CASE W_AnneeFaite>14 AND W_AnneeFaite<20
         MontIndemnite=W_Paie+W_Paie/2
      CASE W_AnneeFaite>19 AND W_AnneeFaite<25
         MontIndemnite=W_Paie*2
      CASE W_AnneeFaite>24 AND W_AnneeFaite<30
         MontIndemnite=(W_Paie*2)+W_Paie/2
      CASE W_AnneeFaite>29
         MontIndemnite=W_Paie*3
   END CASE

RETURN

*****************************************************************************
* Convention Ets priv pour les dparts en retraite (FEHAPS)                *
*****************************************************************************
240
   BEGIN CASE
      CASE W_AnneeFaite>10 AND W_AnneeFaite<15
         MontIndemnite=W_Paie
      CASE W_AnneeFaite>14 AND W_AnneeFaite<19
         MontIndemnite=W_Paie*3
      CASE W_AnneeFaite>18 AND W_AnneeFaite<22
         MontIndemnite=W_Paie*4
      CASE W_AnneeFaite>21 AND W_AnneeFaite<25
         MontIndemnite=W_Paie*5
      CASE W_AnneeFaite>24
         MontIndemnite=W_Paie*6
   END CASE
RETURN

***********************************************************************
* Convention Travailleuses Familliales pour les dparts en retraite   *
***********************************************************************
250
   IF W_AnneeFaite>29 THEN
      MontIndemnite=W_Paie*3
   END ELSE
      IF W_AnneeFaite>9 THEN
         MontIndemnite=W_Paie/10*W_AnneeFaite         
      END
   END

RETURN

********************************************************************
* Appel les sub des differentes conventions pour les licenciements *
********************************************************************
300

***************** MODIF LUDO ***************
	* Modif Greg - 30/12/08
	* Le mandataire se cale sur le prestataire : les indemnits
	* sont doubles. Donc le calcul devient exactement le mme
	* que la convention 01.
	*IF CodeConvCol # "02" THEN
		PRINT "Calcul indemnite licenciement : formule par dfaut (convention 01)."
		GOSUB 100
		PRINT "Indemnite licenciement par defaut (convention 01) : ":MontIndemnite
		MontIndemniteTemp = MontIndemnite
		
		BEGIN CASE
			CASE CodeConvCol="02"
				PRINT "Calcul indemnite licenciement : convention 02."
				GOSUB 105
			CASE CodeConvCol="03"
				PRINT "Calcul indemnite licenciement : convention 03."
				GOSUB 110
			* Modif Guillaume DA10098 23/04/2010
*			CASE CodeConvCol="04" OR CodeConvCol="05"
			CASE CodeConvCol="05"
				PRINT "Calcul indemnite licenciement : conventions 04 et 05."
				GOSUB 120
			CASE CodeConvCol="06"
				PRINT "Calcul indemnite licenciement : convention 06."
				GOSUB 130
		END CASE
   
		PRINT "Indemnite licenciement en fonction de la convention : ":MontIndemnite
   
		IF MontIndemniteTemp >= MontIndemnite THEN
			MontIndemnite = MontIndemniteTemp
		END ELSE
			MontIndemnite = MontIndemnite
		END
	*END ELSE
	*	GOSUB 105
	*END
********************************************

   *BEGIN CASE
      *CASE CodeConvCol="01" OR CodeConvCol="02" OR CodeConvCol="07" OR CodeConvCol="08" OR CodeConvCol="09"
         *GOSUB 100
      *CASE CodeConvCol="03"
         *GOSUB 110
      *CASE CodeConvCol="04" OR CodeConvCol="05"
         *GOSUB 120
      *CASE CodeConvCol="06"
         *GOSUB 130
   *END CASE
RETURN

**************************************************************************
* Appel les sub des differentes conventions pour les dparts en retraite *
**************************************************************************
310
   BEGIN CASE
      CASE CodeConvCol="01"
	   PRINT "Calcul indemnite retraite : conventions 01."
         GOSUB 230
      CASE CodeConvCol="02" OR CodeConvCol="07" OR CodeConvCol="08" OR CodeConvCol="09"
	   PRINT "Calcul indemnite retraite : conventions 02, 07, 08 et 09."
         GOSUB 200
      CASE CodeConvCol="03"
	   PRINT "Calcul indemnite retraite : conventions 03."
         GOSUB 210
      CASE CodeConvCol="04"
	   PRINT "Calcul indemnite retraite : conventions 04."
* Didier 30/01/2012 : calcul idem CCN 01 suite CCB
*        GOSUB 220
         GOSUB 230
      CASE CodeConvCol="05"
	   PRINT "Calcul indemnite retraite : conventions 05."
         GOSUB 240
      CASE CodeConvCol="06"
	   PRINT "Calcul indemnite retraite : conventions 06."
* Didier 30/01/2012 : calcul idem CCN 01 suite CCB
*        GOSUB 250
         GOSUB 230
   END CASE
   
   PRINT "Indemnite retraite en fonction de la convention : ":MontIndemnite
RETURN

********************************************************
* Calcul les annes ralises pour determiner si droit *
* ou non a l'indemnite +                               *
* les annes ralises pour le montant de l'indemnite  *
********************************************************
400
   W_AnneeFin=OCONV(W_Date,"D4/")
   W_AnneeDebut=OCONV(DateDeb,"D4/")
   W_AnneeFaite=W_AnneeFin[7,4]-W_AnneeDebut[7,4]
   W_MoisFait=W_AnneeFin[4,2]-W_AnneeDebut[4,2]
   W_JourFait=W_AnneeFin[1,2]-W_AnneeDebut[1,2]
   IF W_JourFait<0 THEN
      W_MoisFait=W_MoisFait-1
   END
   IF W_MoisFait<0 THEN
      W_AnneeFaite=W_AnneeFaite-1
      W_MoisFait=12+W_MoisFait
   END

	PRINT "Date debut pour calcul anciennete : ":W_AnneeDebut
	PRINT "Date fin pour calcul anciennete   : ":W_AnneeFin
	PRINT "Annees faites : ":W_AnneeFaite
	PRINT "Mois faits : ":W_MoisFait
	PRINT ""
RETURN

********************************************************
* Calcul la periode d'absence                          *
********************************************************
500
   LISTABSAIDANT=""
   W_NBJRS3MOIS=0
   W_NBJRS12MOIS=0
   W_DEBABSANC=""
   W_PaieAbs3=0
   W_PaieAbs12=0
   W_Temp=""
   W_DateInterne=W_Date
   W_Date=OCONV(W_Date,"D4/")
   IF W_Date[4,2]>3 THEN
    W_Temp=W_Date[4,2]-3
   END ELSE
    W_Temp=W_Date[4,2]-4
   END
   IF W_Temp < 0 THEN
      W_Date3="01/":13+W_Temp:"/":W_Date[7,4]-1
   END ELSE
      W_Date3="01/":W_Temp:"/":W_Date[7,4]
   END
   W_Date12="01/":W_Date[4,2]:"/":W_Date[7,4]-1      

   W_DateFin500 = ICONV("01/":W_Date[4,2]:"/":W_Date[7,4],"D4/") - 1

   W_JourAbs12=0
   W_JourAbs3=0
   W_Fini="FAUX"

* Didier 28/10/2014 : valorisation des absences pour arrt travail  partir du salaire de rfrence de la dite absence
   W_PaieAbs12Detail=0
   W_JourAbs12Detail=0
   W_PaieAbs3Detail=0
   W_JourAbs3Detail=0

   W_Date12=ICONV(W_Date12,"D4/")
   W_Date3=ICONV(W_Date3,"D4/")

   W_NBJRS3MOIS=W_DateFin500-W_Date3+1
   W_NBJRS12MOIS=W_DateFin500-W_Date12+1

   PRINT "Selection des absences."
   PRINT "Date de debut des absences  3 mois : ":OCONV(W_Date3,"D4/")
   PRINT "Date de debut des absences 12 mois : ":OCONV(W_Date12,"D4/")
   PRINT "Date de fin des absences           : ":OCONV(W_DateFin500,"D4/")
   EXECUTE 'SSELECT ABSENCESAIDANT AVEC @ID = "':CodeContrat[1,5]:']" AND AVEC DebAbsAidant <= "':W_DateFin500:'" AND AVEC 2 => "':W_Date12:'" AND AVEC NumMotifAidant => "01" AND AVEC NumMotifAidant <= "06" OR = "12" OR = "13" OR = "22" OR = "23" PAR DebAbsAidant'


   EXECUTE 'SAUVE-LISTE LISTABSAIDANT'
   EXECUTE 'LISTE LISTABSAIDANT' RETURNING W_MSG
   IF W_MSG<1>="209" THEN
    EXECUTE 'EFFACER-LISTE LISTABSAIDANT'
    RETURN
   END
   SELECT F.ABSENCESAIDANT TO LISTABSAIDANT

   LOOP
      READNEXT W_CleAbs FROM LISTABSAIDANT ELSE W_Fini="VRAI"
   WHILE W_Fini = "FAUX"

      READ ENR_ABSENCESAIDANT FROM F.ABSENCESAIDANT,W_CleAbs ELSE RETURN

* Didier 28/10/2014 : valorisation des absences pour arrt travail  partir du salaire de rfrence de la dite absence
      W_PaieAbs12Detail=0
      W_JourAbs12Detail=0
      W_PaieAbs3Detail=0
      W_JourAbs3Detail=0

      IF W_CleAbs[6,2] <= 6 THEN
	* maladie, accident : on value le salaire de rfrence de la plus ancienne abs ds les 3 / 12 mois :
* Didier 28/10/2014 : valorisation des absences pour arrt travail  partir du salaire de rfrence de la dite absence
*         IF (ENR_ABSENCESAIDANT<2> >= W_Date12 AND W_PaieAbs12 = 0) THEN
         IF ENR_ABSENCESAIDANT<2> >= W_Date12 THEN
	    IF LEN(ENR_CONTRAT<3>) = 5 THEN
             W_Employeur=ENR_CONTRAT<3>
	    END ELSE
	     W_Employeur=ENR_CONTRAT<2>
	    END
            i=1
            LOOP
            WHILE ENR_ABSENCESAIDANT<13,i> # W_Employeur AND ENR_ABSENCESAIDANT<13,i> # "" DO
               i=i+1
            REPEAT
            IF ENR_ABSENCESAIDANT<13,i> # "" THEN
               W_DateAbsAAAAMM=OCONV(W_CleAbs[8,5],"D4/")
               W_DateAbsAAAAMM=W_DateAbsAAAAMM[7,4]:W_DateAbsAAAAMM[4,2]
               IF DateEuroAAAAMM > W_DateAbsAAAAMM AND EnEuro="VRAI" THEN
                  ENR_ABSENCESAIDANT<14,i>=INT(ENR_ABSENCESAIDANT<14,i> / RapportEuro + 1/2)
               END
* Didier 28/10/2014 : valorisation des absences pour arrt travail  partir du salaire de rfrence de la dite absence
*               W_PaieAbs12=ENR_ABSENCESAIDANT<14,i>
               W_PaieAbs12Detail=ENR_ABSENCESAIDANT<14,i>
	       IF W_DEBABSANC="" THEN W_DEBABSANC=W_CleAbs[8,5]
            END
         END
* Didier 28/10/2014 : valorisation des absences pour arrt travail  partir du salaire de rfrence de la dite absence
*	 IF (ENR_ABSENCESAIDANT<2> >= W_Date3 AND W_PaieAbs3 = 0) THEN
	 IF ENR_ABSENCESAIDANT<2> >= W_Date3 THEN
	    IF LEN(ENR_CONTRAT<3>) = 5 THEN
             W_Employeur=ENR_CONTRAT<3>
	    END ELSE
	     W_Employeur=ENR_CONTRAT<2>
	    END
            i=1
            LOOP
            WHILE ENR_ABSENCESAIDANT<13,i> # W_Employeur AND ENR_ABSENCESAIDANT<13,i> # "" DO
               i=i+1
            REPEAT
            IF ENR_ABSENCESAIDANT<13,i> # "" THEN
               W_DateAbsAAAAMM=OCONV(W_CleAbs[8,5],"D4/")
               W_DateAbsAAAAMM=W_DateAbsAAAAMM[7,4]:W_DateAbsAAAAMM[4,2]
               IF DateEuroAAAAMM > W_DateAbsAAAAMM AND EnEuro="VRAI" THEN
                  ENR_ABSENCESAIDANT<14,i>=INT(ENR_ABSENCESAIDANT<14,i> / RapportEuro + 1/2)
               END
* Didier 28/10/2014 : valorisation des absences pour arrt travail  partir du salaire de rfrence de la dite absence
*               W_PaieAbs3=ENR_ABSENCESAIDANT<14,i>
               W_PaieAbs3Detail=ENR_ABSENCESAIDANT<14,i>
            END
	 END
      END
      W_Handicap12 = 0
      W_Handicap3 = 0
      IF W_CleAbs[6,2] = 12 OR W_CleAbs[6,2] = 13 OR W_CleAbs[6,2] = 22 OR W_CleAbs[6,2] = 23 THEN
	    
          i=1
          LOOP
          WHILE ENR_ABSENCESAIDANT<26,i> # CodeContrat AND ENR_ABSENCESAIDANT<26,i> # "" DO
             i=i+1
          REPEAT
	    
          IF ENR_ABSENCESAIDANT<26,i> # "" THEN
		IF ENR_ABSENCESAIDANT<21,i> = "N" THEN
			* Pas d'abs -> ne faisons rien !
			W_DateDebAbs = W_Date12
			W_DateFinAbs = W_Date12 
			W_Handicap12 = 1
		END ELSE
	                IF W_DEBABSANC="" THEN W_DEBABSANC=W_CleAbs[8,5]
			W_DateDebAbs =ENR_ABSENCESAIDANT<22,i>
			W_DateFinAbs =ENR_ABSENCESAIDANT<24,i>
			IF W_DateDebAbs < W_Date12 THEN
				W_DateDebAbs = W_Date12
			END ELSE
				IF ENR_ABSENCESAIDANT<23,i> # "M" THEN
					W_Handicap12 = 1/2
					IF W_DateDebAbs >= W_Date3 THEN W_Handicap3 = W_Handicap3 + 1/2
				END
			END
			IF W_DateFinAbs > W_DateFin500 THEN
				W_DateFinAbs = W_DateFin500
			END ELSE
				IF ENR_ABSENCESAIDANT<25,i> # "S" THEN
					W_Handicap12 = W_Handicap12 + 1/2
					IF W_DateFinAbs >= W_Date3 THEN W_Handicap3 = W_Handicap3 + 1/2
				
				END
			END
		END
          END ELSE
                IF W_DEBABSANC="" THEN W_DEBABSANC=W_CleAbs[8,5]
	        W_DateDebAbs =W_CleAbs[8,5]
		W_DateFinAbs =ENR_ABSENCESAIDANT<2>
		IF W_DateDebAbs < W_Date12 THEN
		   W_DateDebAbs = W_Date12
		END ELSE
		   IF ENR_ABSENCESAIDANT<1> # "1" THEN
		      W_Handicap12 = 1/2
                      IF W_DateDebAbs >= W_Date3 THEN W_Handicap3 = W_Handicap3 + 1/2
		   END
		END
		IF W_DateFinAbs > W_DateFin500 THEN
		   W_DateFinAbs = W_DateFin500
		END ELSE
		   IF ENR_ABSENCESAIDANT<3> # "2" THEN
		      W_Handicap12 = W_Handicap12 + 1/2
		      IF W_DateFinAbs >= W_Date3 THEN W_Handicap3 = W_Handicap3 + 1/2
		   END
		END

	 END
      END ELSE
		W_DateDebAbs =W_CleAbs[8,5]
		W_DateFinAbs =ENR_ABSENCESAIDANT<2>
		IF W_DateDebAbs < W_Date12 THEN
			W_DateDebAbs = W_Date12
		END ELSE
		  * rien
		END
		IF W_DateFinAbs > W_DateFin500 THEN
			W_DateFinAbs = W_DateFin500
		END ELSE
			* rien	
		END
      END

* Didier 28/10/2014 : valorisation des absences pour arrt travail  partir du salaire de rfrence de la dite absence
*	IF W_CleAbs[6,2] # "03" THEN
*		W_JourAbs12 = W_JourAbs12 + (W_DateFinAbs - W_DateDebAbs + 1) - W_Handicap12
*	END ELSE
*		W_JourAbs12 = W_JourAbs12 + (W_DateFinAbs - W_DateDebAbs + 1)/2 - W_Handicap12
*	END
*	IF W_DateFinAbs >= W_Date3 THEN
*		IF W_DateDebAbs < W_Date3 THEN W_DateDebAbs = W_Date3
*		IF W_CleAbs[6,2] # "03" THEN
*			W_JourAbs3 = W_JourAbs3 + (W_DateFinAbs - W_DateDebAbs + 1) - W_Handicap3
*		END ELSE
*			W_JourAbs3 = W_JourAbs3 + (W_DateFinAbs - W_DateDebAbs + 1)/2 - W_Handicap3
*		END
	IF W_CleAbs[6,2] # "03" THEN
		W_JourAbs12Detail = (W_DateFinAbs - W_DateDebAbs + 1) - W_Handicap12
		IF LicencRetraite = "JS" THEN
			W_JourAbs12 = W_JourAbs12 + W_JourAbs12Detail
		END ELSE
			IF W_CleAbs[6,2] > "06" THEN
				W_JourAbs12 = W_JourAbs12 + W_JourAbs12Detail
			END
		END
	END ELSE
		W_JourAbs12Detail = (W_DateFinAbs - W_DateDebAbs + 1)/2 - W_Handicap12
	END
	IF W_DateFinAbs >= W_Date3 THEN
		IF W_DateDebAbs < W_Date3 THEN W_DateDebAbs = W_Date3
		IF W_CleAbs[6,2] # "03" THEN
			W_JourAbs3Detail = (W_DateFinAbs - W_DateDebAbs + 1) - W_Handicap3
			IF LicencRetraite = "JS" THEN
				W_JourAbs3 = W_JourAbs3 + W_JourAbs3Detail
			END ELSE
				IF W_CleAbs[6,2] > "06" THEN
					W_JourAbs3 = W_JourAbs3 + W_JourAbs3Detail
				END
			END
		END ELSE
			W_JourAbs3Detail = (W_DateFinAbs - W_DateDebAbs + 1)/2 - W_Handicap3
		END
		
	END
	IF W_PaieAbs3Detail#0 THEN
		W_PaieAbs3 = W_PaieAbs3 + INT(((W_PaieAbs3Detail/30)*W_JourAbs3Detail)+1/2)
	END
	IF W_PaieAbs12Detail#0 THEN
		W_PaieAbs12 = W_PaieAbs12 + INT(((W_PaieAbs12Detail/30)*W_JourAbs12Detail)+1/2)
	END

   REPEAT
   EXECUTE 'EFFACER-LISTE LISTABSAIDANT'

* Didier 28/10/2014 : calcul salaire de rfrence systmatiquement sur 12 mois si modul ou mensualis
   IF W_MENSUALISATIONCONTRAT="OUI" THEN
      W_PaieAbs3=0
      W_JourAbs3=0
   END
   IF LicencRetraite = "JS" THEN
      W_PaieAbs3=0
      W_PaieAbs12=0
   END

* Pour information :  la sortie du GOSUB 500
* La variable W_JourAbs3 contient le nombre de jours d'absence pour motif > 06 sur les 3 derniers mois. 
*             Sauf si type JS o tous les jours d'absence sont comptabiliss
* La variable W_PaieAbs3 contient la valorisation sur les 3 derniers mois des jours d'absence pour motif <= 06  partir du salaire de rfrence de l'absence
* La variable W_JourAbs12 contient le nombre de jours d'absence pour motif > 06 sur les 12 derniers mois
*             Sauf si type JS o tous les jours d'sbence sont comptabilises
* La variable W_PaieAbs12 contient la valorisation sur les 12 derniers mois des jours d'absence pour motif <= 06  partir du salaire de rfrence de l'absence
RETURN
