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

PRINT "Periode "
INPUT W_Periode

PRINT "Code rubrique IRCEM obligatoire "
INPUT W_RubIrcem

EXECUTE 'SELECT DETAILCALCUL AVEC 0 = "[':W_Periode:']" AND AVEC ConvColContratDetailCalcul = "02"'

W_Fin = "Faux"
W_Erreur = "Faux"

READ ENR_RUBCHARGE FROM F.RUBCHARGE, W_RubIrcem ELSE W_Erreur = "Vrai"

IF W_Erreur = "Vrai" THEN
	PRINT "Rubrique IRCEM obligatoire non trouve. Verifiez le code..."
	STOP
END ELSE
	W_TauxSalObligatoire = ENR_RUBCHARGE<10>
	IF W_TauxSalObligatoire = "" THEN
		W_TauxSalObligatoire = 0
	END
	
	W_TauxPatObligatoire = ENR_RUBCHARGE<14>
	IF W_TauxPatObligatoire = "" THEN
		W_TauxPatObligatoire = 0
	END
END
ENR_RUBCHARGE = ""

LOOP

	READNEXT W_Cle ELSE W_Fin = "Vrai"

WHILE W_Fin = "Faux"

   READ ENR_DETAILCALCUL FROM F.DETAILCALCUL, W_Cle ELSE ENR_DETAILCALCUL = ""
   IF ENR_DETAILCALCUL	# "" THEN
	ENR_DETAILCALCUL<8,-1> = W_RubIrcem
	W_TauxSal = W_TauxSalObligatoire
	W_TauxPat = W_TauxPatObligatoire
	GOSUB 100
	
	W_DefautContrat = "Faux"
	READ ENR_CONTRAT FROM F.CONTRAT, W_Cle[1,8] ELSE W_DefautContrat = "Vrai"
	IF W_DefautContrat = "Vrai" THEN
		PRINT "Contrat n : ":W_Cle[1,8]:" non trouve"
		ENR_CONTRAT = ""
	END ELSE

		W_DefautPrev = "Faux"

		READ ENR_CONTRATSPREV FROM F.CONTRATSPREV, ENR_CONTRAT<29> ELSE W_DefautPrev = "Vrai"
		
		IF W_DefautPrev = "Vrai" THEN
			PRINT "Contrat prevoyance n : ":ENR_CONTRAT<29>:", contrat n : ":W_Cle[1,8]:" non trouve" 			
			ENR_CONTRATSPREV = ""
		END ELSE
			W_Count = DCOUNT(ENR_CONTRATSPREV<35>, CHAR(253))
			FOR I=1 TO W_Count
			    W_DefautRub = "Faux"
				READ ENR_RUBCHARGE FROM F.RUBCHARGE, ENR_CONTRATSPREV<35,I> ELSE W_DefautRub = "Vrai"
				IF W_DefautRub = "Vrai" THEN
					PRINT "Rubrique ":ENR_CONTRATSPREV<35,I>:" inexistante sur le contrat prevoyance n : ":ENR_CONTRAT<29>
					ENR_RUBCHARGE=""
				END ELSE
				    IF ENR_CONTRATSPREV<35,I> # W_RubIrcem THEN
					ENR_DETAILCALCUL<8,-1> = ENR_CONTRATSPREV<35,I>
					W_TauxSal = ENR_RUBCHARGE<10>
					W_TauxPat = ENR_RUBCHARGE<14>
					GOSUB 100
				    END
				END		
			   
			NEXT I
		END
	END
	WRITE ENR_DETAILCALCUL ON F.DETAILCALCUL,W_Cle
    END
REPEAT


STOP

* MAJ MV DETAIL CALCUL RUBRIQUES
100
ENR_DETAILCALCUL<9,-1> = ENR_DETAILCALCUL<7>
ENR_DETAILCALCUL<10,-1> =W_TauxSal
ENR_DETAILCALCUL<11,-1> = - INT(ENR_DETAILCALCUL<7>*W_TauxSal/100000+1/2)
ENR_DETAILCALCUL<12,-1> = ENR_DETAILCALCUL<7>
ENR_DETAILCALCUL<13,-1> = W_TauxPat
ENR_DETAILCALCUL<14,-1> = INT(ENR_DETAILCALCUL<7>*W_TauxPat/100000+1/2)
RETURN
