****************************************
*  PASSAGE DU MODULE FACTURE EN EURO   *
****************************************

EXECUTE "SET-THOUS ."
EXECUTE "SET-DEC ,"
EXECUTE "DATE.FORMAT"
OPEN "","FACTURAIDETRIM"  TO F.FACTURAIDETRIM ELSE STOP
OPEN "","FACTURORG" TO F.FACTURORG ELSE STOP

EURO = 6.55957

EXECUTE 'SSELECT FACTURAIDETRIM AVEC 11 = "0" OR = ""'

GOSUB 100

EXECUTE 'SSELECT FACTURORG AVEC 9 = "" AND AVEC 10 = ""'

GOSUB 200

STOP

*************************************
* PASSAGE DE FACTURAIDETRIM EN EURO *
*************************************

100

W_Fini="FAUX"

LOOP
   READNEXT W_Cle ELSE W_Fini="VRAI"
WHILE W_Fini="FAUX" DO

   READ ENR_FACTURAIDETRIM FROM F.FACTURAIDETRIM,W_Cle ELSE STOP

   I = 0

   LOOP
	I = I + 1
   WHILE ENR_FACTURAIDETRIM<3,I> # ""
	IF ENR_FACTURAIDETRIM<4,I> => 0 THEN
		ENR_FACTURAIDETRIM<4,I> = (ENR_FACTURAIDETRIM<4,I> / EURO) + (1/2)
		ENR_FACTURAIDETRIM<4,I> = INT(ENR_FACTURAIDETRIM<4,I>)
	END ELSE
		ENR_FACTURAIDETRIM<4,I> = (ENR_FACTURAIDETRIM<4,I> / EURO) - (1/2)
		ENR_FACTURAIDETRIM<4,I> = INT(ENR_FACTURAIDETRIM<4,I>)
	END
	
	ENR_FACTURAIDETRIM<5,I> = ((ENR_FACTURAIDETRIM<3,I> / 100) * (ENR_FACTURAIDETRIM<4,I> / 100))
	ENR_FACTURAIDETRIM<5,I> = INT(ENR_FACTURAIDETRIM<5,I> * 100)
   REPEAT

   WRITE ENR_FACTURAIDETRIM ON F.FACTURAIDETRIM,W_Cle

REPEAT

RETURN

********************************
* PASSAGE DE FACTURORG EN EURO *
********************************

200

W_Fini="FAUX"

LOOP
   READNEXT W_Cle ELSE W_Fini="VRAI"
WHILE W_Fini="FAUX" DO

   READ ENR_FACTURORG FROM F.FACTURORG,W_Cle ELSE STOP

   I = 0
   TOTHRES = 0
   MONTFR = 0
   MONTEURO = 0

   LOOP
	I = I + 1
   WHILE ENR_FACTURORG<1,I> # ""
	TOTHRES = TOTHRES + ENR_FACTURORG<1,I>
	IF ENR_FACTURORG<2,I> => 0 THEN
		ENR_FACTURORG<2,I> = (ENR_FACTURORG<2,I> / EURO) + (1/2)
		ENR_FACTURORG<2,I> = INT(ENR_FACTURORG<2,I>)
	END ELSE
		ENR_FACTURORG<2,I> = (ENR_FACTURORG<2,I> / EURO) - (1/2)
		ENR_FACTURORG<2,I> = INT(ENR_FACTURORG<2,I>)
	END
	IF ENR_FACTURORG<3,I> => 0 THEN
		ENR_FACTURORG<3,I> = (ENR_FACTURORG<3,I> / EURO) + (1/2)
		ENR_FACTURORG<3,I> = INT(ENR_FACTURORG<3,I>)
	END ELSE
		ENR_FACTURORG<3,I> = (ENR_FACTURORG<3,I> / EURO) - (1/2)
		ENR_FACTURORG<3,I> = INT(ENR_FACTURORG<3,I>)
	END
	MONTFR = MONTFR + ENR_FACTURORG<4,I>
	ENR_FACTURORG<4,I> = ((ENR_FACTURORG<1,I> / 100) * (ENR_FACTURORG<3,I> / 100))
	ENR_FACTURORG<4,I> = INT(ENR_FACTURORG<4,I> * 100)
	MONTEURO = MONTEURO + ENR_FACTURORG<4,I>
   REPEAT

   IF ENR_FACTURORG<5> <> "" THEN
	TOTHRES = TOTHRES + ENR_FACTURORG<5>
	IF ENR_FACTURORG<6> => 0 THEN
		ENR_FACTURORG<6> = (ENR_FACTURORG<6> / EURO) + (1/2)
		ENR_FACTURORG<6> = INT(ENR_FACTURORG<6>)
	END ELSE
		ENR_FACTURORG<6> = (ENR_FACTURORG<6> / EURO) - (1/2)
		ENR_FACTURORG<6> = INT(ENR_FACTURORG<6>)
	END
	IF ENR_FACTURORG<7> => 0 THEN
		ENR_FACTURORG<7> = (ENR_FACTURORG<7> / EURO) + (1/2)
		ENR_FACTURORG<7> = INT(ENR_FACTURORG<7>)
	END ELSE
		ENR_FACTURORG<7> = (ENR_FACTURORG<7> / EURO) - (1/2)
		ENR_FACTURORG<7> = INT(ENR_FACTURORG<7>)
	END
	MONTFR = MONTFR + ENR_FACTURORG<8>
	ENR_FACTURORG<8> = ((ENR_FACTURORG<5> / 100) * (ENR_FACTURORG<7> / 100))
	ENR_FACTURORG<8> = INT(ENR_FACTURORG<8> * 100)
	MONTEURO = MONTEURO + ENR_FACTURORG<8>
   END

   IF MONTFR = ENR_FACTURORG<12> THEN
	ENR_FACTURORG<12> = MONTEURO
   END ELSE
	I = 0
	J = 1
	TXHRES = MONTEURO/TOTHRES
	MONTANAL = 0
	LOOP
	   I = I + 1
	WHILE ENR_FACTURORG<12,I> <> ""
	   ENR_FACTURORG<12,I> = ENR_FACTURORG<13,I> * TXHRES
	   ENR_FACTURORG<12,I> = INT(ENR_FACTURORG<12,I>)
	   MONTANAL = MONTANAL + ENR_FACTURORG<12,I>
	   IF I > 1 THEN
		IF ENR_FACTURORG<12,I> > ENR_FACTURORG<12,J> THEN
		   J = I
		END
	   END
	REPEAT
	IF MONTANAL <> MONTEURO THEN
		DIF = MONTEURO - MONTANAL
		ENR_FACTURORG<12,J> = ENR_FACTURORG<12,J> + DIF
	END
   END

   IF ENR_FACTURORG<14> <> "" THEN
	IF ENR_FACTURORG<14> => 0 THEN
		ENR_FACTURORG<14> = (ENR_FACTURORG<14> / EURO) + (1/2)
		ENR_FACTURORG<14> = INT(ENR_FACTURORG<14>)
	END ELSE
		ENR_FACTURORG<14> = (ENR_FACTURORG<14> / EURO) - (1/2)
		ENR_FACTURORG<14> = INT(ENR_FACTURORG<14>)
	END
   END

   IF ENR_FACTURORG<15> <> "" THEN
	IF ENR_FACTURORG<15> => 0 THEN
		ENR_FACTURORG<15> = (ENR_FACTURORG<15> / EURO) + (1/2)
		ENR_FACTURORG<15> = INT(ENR_FACTURORG<15>)
	END ELSE
		ENR_FACTURORG<15> = (ENR_FACTURORG<15> / EURO) - (1/2)
		ENR_FACTURORG<15> = INT(ENR_FACTURORG<15>)
	END
   END

   IF ENR_FACTURORG<16> <> "" THEN
	IF ENR_FACTURORG<16> = MONTFR THEN
	   ENR_FACTURORG<16> = MONTEURO
	END ELSE
	   IF ENR_FACTURORG<16> => 0 THEN
		ENR_FACTURORG<16> = (ENR_FACTURORG<16> / EURO) + (1/2)
		ENR_FACTURORG<16> = INT(ENR_FACTURORG<16>)
	   END ELSE
		ENR_FACTURORG<16> = (ENR_FACTURORG<16> / EURO) - (1/2)
		ENR_FACTURORG<16> = INT(ENR_FACTURORG<16>)
	   END
	END
   END

   IF ENR_FACTURORG<17> <> "" THEN
	IF ENR_FACTURORG<17> => 0 THEN
		ENR_FACTURORG<17> = (ENR_FACTURORG<17> / EURO) + (1/2)
		ENR_FACTURORG<17> = INT(ENR_FACTURORG<17>)
	END ELSE
		ENR_FACTURORG<17> = (ENR_FACTURORG<17> / EURO) - (1/2)
		ENR_FACTURORG<17> = INT(ENR_FACTURORG<17>)
	END
   END

   WRITE ENR_FACTURORG ON F.FACTURORG,W_Cle

REPEAT

RETURN
