********************************************************************
* cumuls des bruts et des charges patronnale par semestre sur 2003 *
* spcifique toulouse DA131-01                                     *
* ALAIN 22/08/2003                                                 *
********************************************************************

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

W_RESULTAT = ""
W_REP = ""
W_CANCEL = "O"
ENR_FUSION = ""

LOOP
WHILE W_REP # "AAD" AND W_REP # "TF" AND W_REP # "ADM" AND W_CANCEL # "N" DO

	PRINT 'SAISSISEZ LE TYPE DE PERSONNEL A TRAITER (ADMINISTRATIF = ADM, TRAVAILLEUSE FAMILIALE = TF ET AIDE A DOMICILE = AAD) : '
	INPUT W_REP
	W_REP = ICONV(W_REP,"MCU")	

	IF W_REP # "AAD" AND W_REP # "TF" AND W_REP # "ADM" THEN
		PRINT 'VOUS N AVEZ PAS SAISSI UN TYPE DE PERSONNEL CORRECT, VOULEZ-VOUS CONTINUER ? (O/N)'
		INPUT W_CANCEL
		W_CANCEL = ICONV(W_CANCEL,"MCU")
	END

REPEAT

W_REQ = 'SELECT CONTRAT AVEC 65 # "O" '

IF W_REP = "ADM" THEN
	W_REQ = W_REQ:'AND AVEC 6 = "A" '
	W_DET = 'AND AVEC TypePersonnel = "A"'
	W_CLEFUSION = "INCIDENCE-CCU-ADM.CSV"
END ELSE
	IF W_REP = "AAD" THEN
		W_REQ = W_REQ:'AND AVEC 6 = "P" AND AVEC 1 = "01" '
		W_DET = 'AND AVEC ConvColContratDetailCalcul = "01" AND AVEC TypePersonnel = "P"'
		W_CLEFUSION = "INCIDENCE-CCU-AAD.CSV"
	END ELSE
		W_REQ = W_REQ:'AND AVEC 6 = "P" AND AVEC 1 = "06" '
		W_DET = 'AND AVEC ConvColContratDetailCalcul = "06" AND AVEC TypePersonnel = "P"'
		W_CLEFUSION = "INCIDENCE-CCU-TISF.CSV"
	END
END
	
W_REQ = W_REQ:'AND AVEC 7 <= "12966" AND AVEC 8 => "12966" OR = "" PAR NomPrenomAidantContrat PAR CodeAidant'

EXECUTE W_REQ
EXECUTE 'SAUVE-LISTE W_RESULTAT' 
EXECUTE "LISTE W_RESULTAT" RETURNING MSGCODE

IF MSGCODE<1> # 209 THEN

	W_FINI = "FAUX"
	W_AIDANT=""
	W_ANCAIDANT = ""
	CLE.CONTRAT=""
	I = 0

	SELECT F.CONTRAT TO W_RESULTAT

    	LOOP
		READNEXT CLE.CONTRAT FROM W_RESULTAT ELSE W_FINI="VRAI"
	WHILE W_FINI = "FAUX" DO
		W_AIDANT = CLE.CONTRAT[1,5]
		IF W_AIDANT # W_ANCAIDANT THEN
			READ ENR_CIVILAIDANT FROM F.CIVILAIDANT,W_AIDANT ELSE ENR_CIVILAIDANT = ""
			W_RESULTATDET = ""
			I = I + 1

			EXECUTE 'SSELECT DETAILCALCUL AVEC 0 = "':W_AIDANT:']" ':W_DET:' AND AVEC PeriodeDetailCalcul = "2003]" PAR PeriodeDetailCalcul'
			EXECUTE 'SAUVE-LISTE W_RESULTATDET' 
			EXECUTE "LISTE W_RESULTATDET" RETURNING MSGCODE

			IF MSGCODE<1> # 209 THEN
				W_FINIDET = "FAUX"	
				CLE.DET = ""
				CUMULBRUT1 = 0
				CUMULPAT1 = 0
				CUMULBRUT2 = 0
				CUMULPAT2 = 0
				W_PER = ""

				LOOP
					READNEXT CLE.DET ELSE W_FINIDET = "VRAI"
					W_PER = CLE.DET[9,6]
				WHILE W_FINIDET = "FAUX" AND W_PER < "200308" DO
					READ ENR_DETAILCALCUL FROM F.DETAILCALCUL,CLE.DET ELSE ENR_DETAILCALCUL = ""
					IF W_PER # "200307" THEN
						CUMULBRUT1 = CUMULBRUT1 + ENR_DETAILCALCUL<7>
						W_NBCHARGE = DCOUNT(EXTRACT(ENR_DETAILCALCUL,14),CHAR(253))
						FOR J = 1 TO W_NBCHARGE
							IF ENR_DETAILCALCUL<14,J> # "" THEN
								CUMULPAT1  = CUMULPAT1 + ENR_DETAILCALCUL<14,J>
							END
						NEXT J
					END ELSE
						IF W_PER = "200307" THEN
							CUMULBRUT2 = CUMULBRUT2 + ENR_DETAILCALCUL<7>
							W_NBCHARGE = DCOUNT(EXTRACT(ENR_DETAILCALCUL,14),CHAR(253))
							FOR J = 1 TO W_NBCHARGE
								IF ENR_DETAILCALCUL<14,J> # "" THEN
									CUMULPAT2  = CUMULPAT2 + ENR_DETAILCALCUL<14,J>
								END
							NEXT J
						END
					END
				REPEAT

				CUMULBRUT1 = INT((CUMULBRUT1/100)+(1/2))
				CUMULPAT1 = INT((CUMULPAT1/100)+(1/2))
				TOTAL1 = CUMULBRUT1 + CUMULPAT1
				CUMULBRUT2 = INT(((CUMULBRUT2*6)/100)+(1/2))
				CUMULPAT2 = INT(((CUMULPAT2*6)/100)+(1/2))
				TOTAL2 = CUMULBRUT2 + CUMULPAT2

				ENR_FUSION<I> = ENR_CIVILAIDANT<2>:' ':ENR_CIVILAIDANT<3>:';':CUMULBRUT1:';':CUMULPAT1:';':TOTAL1:';':CUMULBRUT2:';':CUMULPAT2:';':TOTAL2
			END ELSE
				ENR_FUSION<I> = ENR_CIVILAIDANT<2>:' ':ENR_CIVILAIDANT<3>:';0,00;0,00;0,00;0,00;0,00;0,00'
			END
			W_ANCAIDANT = W_AIDANT
		END
	REPEAT

	WRITE ENR_FUSION TO F.FUSION,W_CLEFUSION

END ELSE

	PRINT 'AUCUNE DONNES DISPONIBLE POUR CE TYPE DE PERSONNEL'

END

STOP
