EXECUTE "SET-THOUS ."
EXECUTE "SET-DEC ,"
EXECUTE "DATE.FORMAT"
OPEN "", "ACTIVITESBISAIDE" TO F.ACTIVITESBISAIDE ELSE STOP
OPEN "", "STATACTAIDE" TO F.STATACTAIDE ELSE STOP
W_DateDeb = ""
LOOP
WHILE W_DateDeb = ""
	PRINT "Veuillez saisir la date de dbut de priode (JJ/MM/AAAA)?"
	INPUT W_DateDeb
	IF W_DateDeb = "" THEN
		PRINT "Traitement abandonn."
		STOP
	END

	W_DateDeb = ICONV(W_DateDeb, "D4/")
REPEAT
W_MoisDeb = OCONV(W_DateDeb,"D4/")[7,4]:OCONV(W_DateDeb,"D4/")[4,2]

W_DateFin = ""
LOOP
WHILE W_DateFin = ""
	PRINT "Veuillez saisir la date de fin de priode (JJ/MM/AAAA)?"
	INPUT W_DateFin
	IF W_DateFin = "" THEN
		PRINT "Traitement abandonn."
		STOP
	END

	W_DateFin = ICONV(W_DateFin, "D4/")
REPEAT
W_MoisFin = OCONV(W_DateFin,"D4/")[7,4]:OCONV(W_DateFin,"D4/")[4,2]

W_TypeAct=""

LOOP
WHILE W_TypeAct = ""
	PRINT "Veuillez saisir le type d'activit (P/M)?"
	INPUT W_TypeAct
	IF W_TypeAct = "m" THEN
		W_TypeAct = "M"
	END ELSE
		IF W_TypeAct = "p" THEN
			W_TypeAct = "P"
		END ELSE
			IF W_TypeAct = "" THEN
				PRINT "Traitement abandonn."
				STOP
			END
		END
	END
	IF W_TypeAct # "M" AND W_TypeAct # "P" THEN
		W_TypeAct = ""
	END
REPEAT

W_ReqStatAct=""
W_ReqActBis=""

EXECUTE 'SELECT ACTIVITESBISAIDE AVEC DateDebAct <= "':W_DateFin:'" AND AVEC 1 >= "':W_DateDeb:'" OR = "" AND AVEC TypeActBisAide = "':W_TypeAct:'" PAR CodeAide'
EXECUTE 'SAUVE-LISTE W_ActBis'
EXECUTE 'LISTE W_ActBis' RETURNING MSGCODE
IF MSGCODE<1> = "209" THEN
	PRINT "Aucun bnficiaire n'a d'activit ouverte du type slectionn entre le ":OCONV(W_DateDeb,"D4/"):" et le ":OCONV(W_DateFin,"D4/"):"."
	STOP
END

SELECT F.ACTIVITESBISAIDE TO W_ReqActBis

EXECUTE 'SELECT STATACTAIDE AVEC PeriodeAct <= "':W_MoisFin:'" AND AVEC PeriodeAct >= "':W_MoisDeb:'" AND AVEC TypeActiviteAct = "':W_TypeAct:'" PAR CodeAide'
EXECUTE 'SAUVE-LISTE W_Statact'
EXECUTE 'LISTE W_Statact' RETURNING MSGCODE
IF MSGCODE<1> = "209" THEN
	PRINT "Aucun bnficiaire n'a eu d'heure effectues du type d'activit slectionn entre le ":OCONV(W_DateDeb,"D4/"):" et le ":OCONV(W_DateFin,"D4/"):"."
	STOP
END

SELECT F.STATACTAIDE TO W_ReqStatAct
W_AideStatAct = 0
W_AideActBis = ""
W_FinActBis = "F"
W_NbStatAct = 0
W_NbActBis = 0
LOOP
	READNEXT W_CleActBis FROM W_ReqActBis ELSE W_FinActBis = "V"
WHILE W_FinActBis = "F"
	IF W_AideActBis # W_CleActBis[1,5] THEN
		W_AideActBis = W_CleActBis[1,5]
		LOOP WHILE W_AideActBis > W_AideStatAct
			READNEXT W_CleStatAct FROM W_ReqStatAct ELSE 
				W_CleStatAct = "99999"
				W_NbStatAct = W_NbStatAct - 1
			END
			IF W_AideStatAct # W_CleStatAct[1,5] THEN
				W_NbStatAct = W_NbStatAct + 1
				W_AideStatAct = W_CleStatAct[1,5]
				IF W_AideActBis > W_AideStatAct THEN
					PRINT "L'aid ":W_AideStatAct:" a bien des heures effectue, mais son activit n'est pas ouverte !"
				END
			END
		REPEAT
		IF W_AideActBis # W_AideStatAct THEN
			PRINT "L'aid ":W_AideActBis:" est ouvert mais n'a pas eu d'heures sur la priode."
		END
		W_NbActBis = W_NbActBis + 1
	END
REPEAT
PRINT W_NbActBis:" aids ouverts"
PRINT W_NbStatAct:" aids actifs"
EXECUTE 'EFFACER-LISTE W_ActBis'
EXECUTE 'EFFACER-LISTE W_Statact'
STOP
