**************************************************************
*  gnration automatique d'un rubrique aprs net imposable  *
*  intitul "DONT JOUR DE SOLIDARITE 16 MAI" qui informe,    *
*  pour les contrats mensualiss, la valeur en heures d'un 	 *
*  jour ouvr du contrat de travail 				 *
*										 *
*  FANNY                                 27/05/2005          *
**************************************************************

EXECUTE "SET-THOUS ."
EXECUTE "SET-DEC ,"
EXECUTE "DATE.FORMAT"
OPEN "","CONTRAT" TO F.CONTRAT ELSE STOP
OPEN "","DETAILPREST" TO F.DETAILPREST ELSE STOP

**********************************************************
* Selection des contrats de travail prestataires de type *
* mensualis - production actif au 16 mai 2005		   *
**********************************************************
W_Requete = ""
W_Cle = ""


W_Requete = 'SELECT CONTRAT AVEC 65 = "" AND AVEC 7 <= "13651" AND AVEC 8 >= "13651" OR = "" AND AVEC TypeActivite ="P"'
W_Requete = W_Requete :'AND AVEC 6="P" PAR 0'


EXECUTE W_Requete
EXECUTE 'SAUVE-LISTE W_Requete'
EXECUTE 'LISTE W_Requete' RETURNING MSGCODE


IF MSGCODE<1> # "209" THEN

	SELECT F.CONTRAT TO W_Requete
	W_Fin = "Faux"
	LOOP
	   READNEXT W_Cle FROM W_Requete ELSE W_Fin = "Vrai"
	WHILE W_Fin = "Faux" DO
	   W_ValeurJour = 0

	   READ ENR_CONTRAT FROM F.CONTRAT,W_Cle THEN
			
		***************************************************************
		* calcul valeur 1 jour ouvr du contrat de travail   		  *
		***************************************************************
		i=0
		FOR i=DCOUNT(ENR_CONTRAT<14>,CHAR(253)) TO 1 STEP -1
		   IF ENR_CONTRAT<24,i> # "" AND ENR_CONTRAT<15,i> <= "13651"  THEN
			IF ENR_CONTRAT<25,i> = 1 THEN
			   W_ValeurJour= ENR_CONTRAT<24,i>*52/12
			   EXIT 
			END ELSE
			   IF ENR_CONTRAT<25,i> =2 THEN
				W_ValeurJour= ENR_CONTRAT<24,i>*26/12
				EXIT
			   END ELSE
				IF ENR_CONTRAT<25,i> = 4 THEN
				   W_ValeurJour= ENR_CONTRAT<24,i>/12
				   EXIT
				END ELSE
				   W_ValeurJour= ENR_CONTRAT<24,i>
				   EXIT
				END
			   END
			END
		   END 
		NEXT i		
		
		W_ValeurJour = INT((W_ValeurJour * 12 / 260) +1/2)

		***********************************************************************************
		* genrer rubrique DONT JOUR SOLIDARITE 16 MAI en M.O.I. dans fichier DETAILPREST *
		***********************************************************************************
		j=0
		W_CodeDetailPrest =  W_Cle:"200505" 

		READ ENR_DETAILPREST FROM F.DETAILPREST, W_CodeDetailPrest THEN	
		   ENR_DETAILPREST<5,-1> = "109"
		   ENR_DETAILPREST<6,-1> = W_ValeurJour
		   ENR_DETAILPREST<7,-1> = 0
		   ENR_DETAILPREST<8,-1> = 0
		   ENR_DETAILPREST<9,-1> = 001001	

		END ELSE
		   ENR_DETAILPREST = ""
		   ENR_DETAILPREST<5,1> = "109"
		   ENR_DETAILPREST<6,1> = W_ValeurJour
		   ENR_DETAILPREST<7,1> = 0
		   ENR_DETAILPREST<8,1> = 0
		   ENR_DETAILPREST<9,1> = 001001	

		END
		WRITE ENR_DETAILPREST TO F.DETAILPREST, W_CodeDetailPrest
	   END
   	REPEAT
END

STOP   
