* COMPARAISON DES CUMUL DES DETAILCALCUL ET DES HISTORCUMULS *

OPEN "","HISTORCUMUL" TO F.HISTORCUMUL ELSE STOP
OPEN "","DETAILCALCUL" TO F.DETAILCALCUL ELSE STOP
OPEN "","CIVILAIDANT" TO F.CIVILAIDANT ELSE STOP
OPEN "","CIVILAIDE" TO F.CIVILAIDE ELSE STOP
OPEN "","CONTRAT" TO F.CONTRAT ELSE STOP
COMPTEUR=0
***********
* REQUETE *
***********
	EXECUTE 'SSELECT DETAILCALCUL PAR NomAidantDetailCalcul PAR PrenomAidantDetailCalcul AVEC ConvColContratDetailCalcul = "02" AND AVEC PeriodeDetailCalcul >= "200101" AND AVEC PeriodeDetailCalcul <= "200112" PAR CodeAidantDetailCalcul PAR CodEtabContrat'
	EXECUTE 'SAUVE-LISTE W_REQDETAIL'
	EXECUTE "LISTE W_REQDETAIL" RETURNING MSGCODE	

	IF MSGCODE<1>#209 THEN
		SELECT F.DETAILCALCUL TO W_REQDETAIL
		GOSUB 100
	END
PRINT COMPTEUR
STOP

*************************************************
* PARCOURS DES DETAILCALCUL ET CUMUL PAR AIDANT *
*************************************************
100
	
	W_ANCIENAIDANT=""
	W_ANCIENEMPLOYEUR=""
	W_Fini="FAUX"
	LOOP
   		READNEXT W_CLE FROM W_REQDETAIL ELSE W_Fini="VRAI"
	WHILE W_Fini="FAUX" DO

		IF W_ANCIENAIDANT="" THEN
			W_ANCIENAIDANT=W_CLE[1,5]
			READ ENR_CONTRAT FROM F.CONTRAT,W_CLE[1,8] THEN
				W_ANCIENEMPLOYEUR=ENR_CONTRAT<3>
			END ELSE
				PRINT "PAS DE CONTRAT"
			END
			W_CUMUL7=0
			W_CUMUL5=0
		END

		READ ENR_CONTRAT FROM F.CONTRAT,W_CLE[1,8] ELSE PRINT "PAS DE CONTRAT"

		IF W_ANCIENAIDANT=W_CLE[1,5] AND W_ANCIENEMPLOYEUR=ENR_CONTRAT<3> AND LEN(W_ANCIENEMPLOYEUR)=LEN(ENR_CONTRAT<3>) THEN
			GOSUB 300
		END ELSE
			GOSUB 200
			W_CUMUL5=0
			W_CUMUL7=0
			W_ANCIENAIDANT=W_CLE[1,5]
			W_ANCIENEMPLOYEUR=ENR_CONTRAT<3>
			GOSUB 300
		END

	REPEAT
	GOSUB 200

RETURN

**********************************************
* RECHERCHE POUR COMPARAISON SUR HISTORCUMUL *
**********************************************
200

	W_CUMUL5=0

	IF LEN(W_ANCIENEMPLOYEUR)=6 THEN
		W_CLERECH=W_ANCIENEMPLOYEUR[1,3]
	END ELSE
		W_CLERECH=W_ANCIENEMPLOYEUR
	END

	READ ENR_HISTORCUMUL FROM F.HISTORCUMUL,W_ANCIENAIDANT:"2001":W_CLERECH THEN
		W_CUMUL5=ENR_HISTORCUMUL<5>
		IF W_CUMUL5 # W_CUMUL7 THEN
                        COMPTEUR=COMPTEUR+1
			READ ENR_CIVILAIDANT FROM F.CIVILAIDANT,W_ANCIENAIDANT THEN
                                WNOMAIDANT=ENR_CIVILAIDANT<2>:" ":ENR_CIVILAIDANT<3>
                                WNOMAIDANT=WNOMAIDANT "L#22"
                                READ ENR_CIVILAIDE FROM F.CIVILAIDE,W_ANCIENEMPLOYEUR ELSE ENR_CIVILAIDE=""
                                WNOMAIDE=ENR_CIVILAIDE<2>:" ":ENR_CIVILAIDE<3>
                                WNOMAIDE=WNOMAIDE "L#22"
				PRINT W_ANCIENAIDANT:" ":WNOMAIDANT:" ":W_ANCIENEMPLOYEUR "R#6":" ":WNOMAIDE:" DIFF D-H ":W_CUMUL7-W_CUMUL5 "R#10"
			END ELSE 
				PRINT "PAS CIVILAIDANT AVEC HISTOR ":W_ANCIENAIDANT
			END
		END
	END ELSE
                COMPTEUR=COMPTEUR+1
		READ ENR_CIVILAIDANT FROM F.CIVILAIDANT,W_ANCIENAIDANT THEN
                        WNOMAIDANT=ENR_CIVILAIDANT<2>:" ":ENR_CIVILAIDANT<3>
                        WNOMAIDANT=WNOMAIDANT "L#22"
                        READ ENR_CIVILAIDE FROM F.CIVILAIDE,W_ANCIENEMPLOYEUR ELSE ENR_CIVILAIDE=""
                        WNOMAIDE=ENR_CIVILAIDE<2>:" ":ENR_CIVILAIDE<3>
                        WNOMAIDE=WNOMAIDE "L#22"
			PRINT W_ANCIENAIDANT:" PAS HISTOR ":WNOMAIDANT:" ":W_ANCIENEMPLOYEUR "R#6":" ":WNOMAIDE:" DIFF D-H ":W_CUMUL7 "R#10"
		END ELSE 
			PRINT W_ANCIENAIDANT:" PAS CIVILAIDANT"
		END

	END

RETURN

**********************
* CUMUL DETAILCALCUL *
**********************
300
	READ ENR_DETAILCALCUL FROM F.DETAILCALCUL,W_CLE THEN
		W_CUMUL7=W_CUMUL7+ENR_DETAILCALCUL<7>
	END ELSE
		PRINT "DETAILCALCUL"
	END
RETURN
