EXECUTE "SET-THOUS ."
EXECUTE "SET-DEC ,"
EXECUTE "DATE.FORMAT"

OPEN "", "COMPTEUR" TO F.COMPTEUR ELSE STOP
OPEN "", "FACTURORG" TO F.FACTURORG ELSE STOP
OPEN "", "FLUXCOMPTABLES" TO F.FLUXCOMPTABLES ELSE STOP

PROCREAD PARAMETRES ELSE STOP

W_NumFact = FIELD(PARAMETRES, "|", 2)
W_Periode = FIELD(PARAMETRES, "|", 3)
W_Activite = FIELD(PARAMETRES, "|", 4)
W_Entite = FIELD(PARAMETRES, "|", 5)

EXECUTE 'SELECT FACTURORG AVEC 9 = "':W_NumFact:'" AND AVEC 10 ="':W_Periode:'" AND AVEC TypeActiviteFacturOrg = "':W_Activite:'" AND AVEC EntiteFacturOrg = "':W_Entite:'"'

W_Fin = "F"
LOOP 
	READNEXT W_Cle ELSE W_Fin = "V"
WHILE W_Fin = "F"
	READ ENR_FACTURORG FROM F.FACTURORG, W_Cle ELSE ENR_FACTURORG = ""
	IF ENR_FACTURORG # "" THEN
		ENR_FACTURORG<9>=""
		ENR_FACTURORG<10>=""
		WRITE ENR_FACTURORG ON F.FACTURORG, W_Cle

	END
REPEAT

READ ENR_COMPTEUR FROM F.COMPTEUR,"999" THEN
	IF ENR_COMPTEUR<17>#"" AND LEN(ENR_COMPTEUR<17>)=3 THEN
		W_TABFACTFRAISGEST=""
		W_ReqFlux=""
		EXECUTE 'SELECT FLUXCOMPTABLES AVEC 3 = "':W_NumFact:'" AND AVEC 1 = "':W_Periode:'"'
		EXECUTE 'SAUVE-LISTE W_ReqFlux'
		EXECUTE "LISTE W_ReqFlux" RETURNING MSGCODE
		IF MSGCODE<1> # 209 THEN
			SELECT F.FLUXCOMPTABLES TO W_ReqFlux
			W_Fin="FAUX"
			LOOP
			READNEXT W_Cle FROM W_ReqFlux ELSE W_Fin = "VRAI"
			WHILE W_Fin = "FAUX" DO
				READ ENR_FLUXCOMPTABLES FROM F.FLUXCOMPTABLES,W_Cle THEN
					I=1
					LOOP
					UNTIL W_TABFACTFRAISGEST<I>="" OR W_TABFACTFRAISGEST<I>=ENR_FLUXCOMPTABLES<20> DO
						I=I+1
					REPEAT
					IF W_TABFACTFRAISGEST<I>="" THEN W_TABFACTFRAISGEST<I>=ENR_FLUXCOMPTABLES<20>
				END
				DELETE F.FLUXCOMPTABLES,W_Cle
			REPEAT
		END
		EXECUTE "EFFACER-LISTE W_ReqFlux"
		I=1
		LOOP
		UNTIL W_TABFACTFRAISGEST<I>="" DO
			W_ReqFlux1=""
			EXECUTE 'SELECT FLUXCOMPTABLES AVEC 20 = "':W_TABFACTFRAISGEST<I>:'"'
			EXECUTE 'SAUVE-LISTE W_ReqFlux1'
			EXECUTE "LISTE W_ReqFlux1" RETURNING MSGCODE
			IF MSGCODE<1> # 209 THEN
				SELECT F.FLUXCOMPTABLES TO W_ReqFlux1
				W_Fin="FAUX"
				LOOP
				READNEXT W_Cle FROM W_ReqFlux1 ELSE W_Fin = "VRAI"
				WHILE W_Fin = "FAUX" DO
					DELETE F.FLUXCOMPTABLES,W_Cle
				REPEAT
			END
			EXECUTE "EFFACER-LISTE W_ReqFlux1"
			I=I+1
		REPEAT

	END
END

STOP
