***************************************************
* ASMAD                                           *
* Prog permettant de rattraper les mois qui n'ont *
* pas t facturs au 4me trimestre.             *
*                                                 *
* Grgory - 14/01/2011                            *
***************************************************
EXECUTE "SET-THOUS ."
EXECUTE "SET-DEC ,"
EXECUTE "DATE.FORMAT"
OPEN "", "FACTURAIDE" TO F.FACTURAIDE ELSE STOP
OPEN "", "FACTURAIDETRIM2" TO F.FACTURAIDETRIM2 ELSE STOP
OPEN "", "CIVILAIDE" TO F.CIVILAIDE ELSE STOP
OPEN "", "FUSION" TO F.FUSION ELSE STOP
OPEN "", "NUMEROFACT" TO F.NUMEROFACT ELSE STOP
***************************************************

ENR_FACTURAIDE=""
ENR_FACTURAIDETRIM2=""
ENR_CIVILAIDE=""
ENR_FUSION=""
ENR_NUMEROFACT=""

W_MaxCol=0

ENR_FUSION<1>="Code aide;Nom prenom aide;Mois;Libelle;Montant"

READ ENR_NUMEROFACT FROM F.NUMEROFACT, "001" ELSE STOP

W_ReqFactur=""

EXECUTE 'SELECT FACTURAIDETRIM2'
EXECUTE 'SAUVE-LISTE W_ReqFactur'
EXECUTE 'LISTE W_ReqFactur' RETURNING MSGCODE

IF MSGCODE<1> # "209" THEN
	SELECT F.FACTURAIDETRIM2 TO W_ReqFactur

	W_Fin = "F"
	LOOP
		READNEXT W_Cle FROM W_ReqFactur ELSE W_Fin = "O"
	WHILE W_Fin = "F"
		READ ENR_FACTURAIDETRIM2 FROM F.FACTURAIDETRIM2, W_Cle THEN
			IF ENR_FACTURAIDETRIM2<1><>"" THEN
				ENR_NUMEROFACT<1>=ENR_NUMEROFACT<1>+1 "R%10"
				
				WRITE ENR_FACTURAIDETRIM2 ON F.FACTURAIDE, W_Cle[1,5]:"001P201012":ENR_NUMEROFACT<1>:"0"
				
				W_Ligne=""
				READ ENR_CIVILAIDE FROM F.CIVILAIDE, W_Cle[1,5] ELSE ENR_CIVILAIDE=""
				
				W_Ligne=W_Cle[1,5]:";":ENR_CIVILAIDE<2>:' ':ENR_CIVILAIDE<3>
				FOR I = 1 TO DCOUNT(ENR_FACTURAIDETRIM2<1>,CHAR(253))
					IF I>W_MaxCol THEN W_MaxCol=I
					
					W_Ligne=W_Ligne:";":ENR_FACTURAIDETRIM2<1,I>:";":ENR_FACTURAIDETRIM2<2,I>:";":ENR_FACTURAIDETRIM2<5,I>/100
				NEXT I
				
				ENR_FUSION<-1>=W_Ligne
			END
		END
	REPEAT
END

WRITE ENR_NUMEROFACT ON F.NUMEROFACT, "001"

IF W_MaxCol>=2 THEN
	FOR J = 1 TO DCOUNT(ENR_FUSION,CHAR(254))
		IF (2+(3*W_MaxCol))<>DCOUNT(ENR_FUSION<J>,";") THEN
			FOR I = 2 TO W_MaxCol
				ENR_FUSION<J>=ENR_FUSION<J>:";;;"
			NEXT I
		END
	NEXT J
END
WRITE ENR_FUSION ON F.FUSION, "Liste_aides_factures_trimestre_rattrapees.csv"


STOP