**********************************************************
*  CONVERSION DE LA COMPTA DE FRANC VERS EURO
*  VANESSA
*  SEPTEMBRE 2001
**********************************************************
* OUVERTURES DES FICHIERS

EXECUTE "SET-THOUS ."
EXECUTE "SET-DEC ,"
EXECUTE "DATE.FORMAT"
OPEN "","ACTIVITES" TO F.ACTIVITES ELSE PRINT "OUVERTURE ACTIVITES" ;* en lecture
OPEN "","BALANCEANAL" TO F.BALANCEANAL ELSE PRINT "OUVERTURE BALANCEANAL" ;* en lecture criture
OPEN "","BALANCEAUX" TO F.BALANCEAUX ELSE PRINT "OUVERTURE BALANCEAUX" ;* en lecture criture
OPEN "","BALANCEGENE" TO F.BALANCEGENE ELSE PRINT "OUVERTURE BALANCEGENE" ;* en lecture criture
OPEN "","DETAILECRITUREAUX" TO F.DETAILECRITUREAUX ELSE PRINT "OUVERTURE DETAILECRITUREAUX" ;* en lecture criture
OPEN "","DETAILECRITUREGENE" TO F.DETAILECRITUREGENE ELSE PRINT "OUVERTURE DETAILECRITUREGENE" ;* en lecture criture
OPEN "","IMMO" TO F.IMMO ELSE PRINT "OUVERTURE IMMO" ;* en lecture criture
OPEN "","JOURNAL" TO F.JOURNAL ELSE PRINT "OUVERTURE JOURNAL" ;* en lecture criture
OPEN "","PARAMENTITECOMPTA" TO F.PARAMENTITECOMPTA ELSE PRINT "OUVERTURE PARAMENTITECOMPTA" ;* en lecture
OPEN "","PLANCOMPTABLE" TO F.PLANCOMPTABLE ELSE PRINT "OUVERTURE PLANCOMPTABLE" ;* en lecture criture

*********************************************************
* PROGRAMME PRINCIPAL

   W_SauveEntite=""
   W_SauveExer=""
   W_CumulDebit=0
   W_CumulCredit=0
   W_Montant=0
   W_Debit="FAUX"
   W_Compte=""

* rajoute la section analytique sur les comptes de classe 6 et 7 
   EXECUTE 'SELECT DETAILECRITUREGENE AVEC 3 >= "[6000000000" AND AVEC 3 <= "[7999999999" AND AVEC 10 # ""'

   W_End="FAUX"

   LOOP
      READNEXT W_Cle ELSE W_End = "VRAI"
   WHILE W_End = "FAUX" DO
      READ ENR_DETAILECRITUREGENE FROM F.DETAILECRITUREGENE,W_Cle ELSE ENR_DETAILECRITUREGENE=""
      READ ENR_ACTIVITES FROM F.ACTIVITES,W_Cle[1,3]:"001" ELSE ENR_ACTIVITES=""
      ENR_DETAILECRITUREGENE<10> = ENR_ACTIVITES<2>
      WRITE ENR_DETAILECRITUREGENE ON F.DETAILECRITUREGENE,W_Cle

   REPEAT

   EXECUTE 'VIDER-FICHIER BALANCEGENE'
   EXECUTE 'VIDER-FICHIER BALANCEAUX'
   EXECUTE 'VIDER-FICHIER BALANCEANAL'


* convertit debit et credit du fichier DETAILECRITUREGENE
   EXECUTE 'SELECT DETAILECRITUREGENE'

   W_End="FAUX"

   LOOP
      READNEXT W_Cle ELSE W_End = "VRAI"
   WHILE W_End = "FAUX" DO
      READ ENR_DETAILECRITUREGENE FROM F.DETAILECRITUREGENE,W_Cle ELSE ENR_DETAILECRITUREGENE=""

      IF ENR_DETAILECRITUREGENE<6> # "" THEN
         ENR_DETAILECRITUREGENE<6> = ENR_DETAILECRITUREGENE<6> / 6.55957
         ENR_DETAILECRITUREGENE<6> = INT(ENR_DETAILECRITUREGENE<6> + (1/2))
      END ELSE
         IF ENR_DETAILECRITUREGENE<7> # "" THEN
            ENR_DETAILECRITUREGENE<7> = ENR_DETAILECRITUREGENE<7> / 6.55957
            ENR_DETAILECRITUREGENE<7> = INT(ENR_DETAILECRITUREGENE<7> + (1/2))
         END
      END

      WRITE ENR_DETAILECRITUREGENE ON F.DETAILECRITUREGENE,W_Cle

      * lecture et MAJ du fichier BALANCEGENE
      W_DetailEcriture = ENR_DETAILECRITUREGENE
      W_CleBalance = W_Cle[6,2]:ENR_DETAILECRITUREGENE<3>
      READ ENR_BALANCEGENE FROM F.BALANCEGENE,W_CleBalance ELSE ENR_BALANCEGENE=""
      W_TabDyn=ENR_BALANCEGENE
      GOSUB 10
      ENR_BALANCEGENE=W_TabDyn
      W_TabDyn=""
      WRITE ENR_BALANCEGENE ON F.BALANCEGENE,W_CleBalance

      * lecture et MAJ du fichier BALANCEANAL
      IF ENR_DETAILECRITUREGENE<3>[4,1]="6" OR ENR_DETAILECRITUREGENE<3>[4,1]="7" THEN
         W_CleBalance = W_Cle[6,2]:ENR_DETAILECRITUREGENE<3>:ENR_DETAILECRITUREGENE<10>
         READ ENR_BALANCEANAL FROM F.BALANCEANAL,W_CleBalance ELSE ENR_BALANCEANAL=""
         W_TabDyn=ENR_BALANCEANAL
         GOSUB 10
         ENR_BALANCEANAL=W_TabDyn
         W_TabDyn=""
         WRITE ENR_BALANCEANAL ON F.BALANCEANAL,W_CleBalance
      END
    
   REPEAT


* convertit debit et credit du fichier DETAILECRITUREAUX
   EXECUTE 'SELECT DETAILECRITUREAUX'

   W_End="FAUX"

   LOOP
      READNEXT W_Cle ELSE W_End = "VRAI"
   WHILE W_End = "FAUX" DO
      READ ENR_DETAILECRITUREAUX FROM F.DETAILECRITUREAUX,W_Cle ELSE ENR_DETAILECRITUREAUX=""

      IF ENR_DETAILECRITUREAUX<6> # "" THEN
         ENR_DETAILECRITUREAUX<6> = ENR_DETAILECRITUREAUX<6> / 6.55957
         ENR_DETAILECRITUREAUX<6> = INT(ENR_DETAILECRITUREAUX<6> + (1/2))
      END ELSE
         IF ENR_DETAILECRITUREAUX<7> # "" THEN
            ENR_DETAILECRITUREAUX<7> = ENR_DETAILECRITUREAUX<7> / 6.55957
            ENR_DETAILECRITUREAUX<7> = INT(ENR_DETAILECRITUREAUX<7> + (1/2))
         END
      END

      WRITE ENR_DETAILECRITUREAUX ON F.DETAILECRITUREAUX,W_Cle

      * lecture et MAJ du fichier BALANCEAUX
      W_DetailEcriture = ENR_DETAILECRITUREAUX
      W_CleBalance = W_Cle[6,2]:W_Cle[1,3]:ENR_DETAILECRITUREAUX<3>
      READ ENR_BALANCEAUX FROM F.BALANCEAUX,W_CleBalance ELSE ENR_BALANCEAUX=""
      W_TabDyn=ENR_BALANCEAUX
      GOSUB 10
      ENR_BALANCEAUX=W_TabDyn
      W_TabDyn=""
      WRITE ENR_BALANCEAUX ON F.BALANCEAUX,W_CleBalance

   REPEAT


* compare cumul des debits et credits de DETAILECRITUREAUX avec le BALANCEGENE du compte
* de centralisation client
   EXECUTE 'SELECT DETAILECRITUREAUX PAR EntiteDetailEcrAux PAR ExerciceDetailEcrAux'

   W_End="FAUX"

   LOOP
      READNEXT W_Cle ELSE W_End = "VRAI"
   WHILE W_End = "FAUX" DO
      READ ENR_DETAILECRITUREAUX FROM F.DETAILECRITUREAUX,W_Cle ELSE ENR_DETAILECRITUREAUX=""
      IF W_SauveEntite="" THEN
         W_SauveEntite=W_Cle[1,3]
         W_SauveExer=W_Cle[6,2]
      END
      IF W_SauveEntite # W_Cle[1,3] OR W_SauveExer=W_Cle[6,2] THEN
         READ ENR_PARAMENTITECOMPTA FROM F.PARAMENTITECOMPTA,W_SauveEntite ELSE ENR_PARAMENTITECOMPTA=""
         READ ENR_BALANCEGENE FROM F.BALANCEGENE,W_SauveExer:W_SauveEntite:ENR_PARAMENTITECOMPTA<16> ELSE ENR_BALANCEGENE=""

         W_Debit="FAUX"

         IF W_CumulDebit # ENR_BALANCEGENE<1> THEN
            W_Montant=W_CumulDebit - ENR_BALANCEGENE<1>
            W_Debit="VRAI"
            GOSUB 20
         END 

         IF W_CumulCredit # ENR_BALANCEGENE<2> THEN
            W_Montant=W_CumulCredit - ENR_BALANCEGENE<2>
            W_Debit="FAUX"
            GOSUB 20
         END

         W_SauveEntite=W_Cle[1,3]
         W_SauveExer=W_Cle[6,2]
         W_CumulDebit=0
         W_CumulCredit=0

         IF ENR_DETAILECRITUREAUX<6> # "" THEN
            W_CumulDebit=W_CumulDebit+ENR_DETAILECRITUREAUX<6>
         END ELSE
            IF ENR_DETAILECRITUREAUX<7> # "" THEN
               W_CumulCredit=W_CumulCredit+ENR_DETAILECRITUREAUX<7>
            END
         END

      END ELSE
         IF ENR_DETAILECRITUREAUX<6> # "" THEN
            W_CumulDebit=W_CumulDebit+ENR_DETAILECRITUREAUX<6>
         END ELSE
            IF ENR_DETAILECRITUREAUX<7> # "" THEN
               W_CumulCredit=W_CumulCredit+ENR_DETAILECRITUREAUX<7>
            END
         END

      END

   REPEAT

   READ ENR_PARAMENTITECOMPTA FROM F.PARAMENTITECOMPTA,W_SauveEntite ELSE ENR_PARAMENTITECOMPTA=""
   READ ENR_BALANCEGENE FROM F.BALANCEGENE,W_SauveExer:W_SauveEntite:ENR_PARAMENTITECOMPTA<16> ELSE ENR_BALANCEGENE=""

   W_Debit="FAUX"

   IF W_CumulDebit # ENR_BALANCEGENE<1> THEN
      W_Montant=W_CumulDebit - ENR_BALANCEGENE<1>
      W_Debit="VRAI"
      GOSUB 20
   END 

   IF W_CumulCredit # ENR_BALANCEGENE<2> THEN
      W_Montant=W_CumulCredit - ENR_BALANCEGENE<2>
      W_Debit="FAUX"
      GOSUB 20
   END

   W_SauveEntite=""
   W_SauveExer=""
   W_CumulDebit=0
   W_CumulCredit=0
   W_Montant=0


* cumule les debits et credits de BALANCEGENE pour vrifier l'quilibre
   EXECUTE 'SELECT BALANCEGENE PAR EntiteBalGene PAR ExerBalGene'

   W_End="FAUX"

   LOOP
      READNEXT W_Cle ELSE W_End = "VRAI"
   WHILE W_End = "FAUX" DO
      READ ENR_BALANCEGENE FROM F.BALANCEGENE,W_Cle ELSE ENR_BALANCEGENE=""

      IF W_SauveEntite="" THEN
         W_SauveEntite=W_Cle[3,3]
         W_SauveExer=W_Cle[1,2]
      END
      IF W_SauveEntite # W_Cle[3,3] OR W_SauveExer=W_Cle[1,2] THEN

         W_Compte=""

         IF W_CumulDebit > W_CumulCredit THEN
            W_Montant=W_CumulDebit-W_CumulCredit
            W_Compte="7661000000"
            GOSUB 30
         END 

         IF W_CumulDebit < W_CumulCredit THEN
            W_Montant=W_CumulCredit-W_CumulDebit
            W_Compte="6661000000"
            GOSUB 30
         END

         W_SauveEntite=W_Cle[3,3]
         W_SauveExer=W_Cle[1,2]
         W_CumulDebit=0
         W_CumulCredit=0

         W_CumulDebit=W_CumulDebit+ENR_BALANCEGENE<1>
         W_CumulCredit=W_CumulCredit+ENR_BALANCEGENE<2>

      END ELSE

         W_CumulDebit=W_CumulDebit+ENR_BALANCEGENE<1>
         W_CumulCredit=W_CumulCredit+ENR_BALANCEGENE<2>

      END

   REPEAT

   W_Compte=""

   IF W_CumulDebit > W_CumulCredit THEN
      W_Montant=W_CumulDebit-W_CumulCredit
      W_Compte="7661000000"
      GOSUB 30
   END 

   IF W_CumulDebit < W_CumulCredit THEN
      W_Montant=W_CumulCredit-W_CumulDebit
      W_Compte="6661000000"
      GOSUB 30
   END


* conversion des fichiers des immo
   EXECUTE 'SELECT IMMO'

   W_End="FAUX"

   LOOP
      READNEXT W_Cle ELSE W_End = "VRAI"
   WHILE W_End = "FAUX" DO
      READ ENR_IMMO FROM F.IMMO,W_Cle ELSE ENR_IMMO=""

      IF ENR_IMMO<3> # "" THEN
         ENR_IMMO<3> = ENR_IMMO<3> / 6.55957
         ENR_IMMO<3> = INT(ENR_IMMO<3> + (1/2))
      END
      IF ENR_IMMO<9> # "" THEN
         ENR_IMMO<9> = ENR_IMMO<9> / 6.55957
         ENR_IMMO<9> = INT(ENR_IMMO<9> + (1/2))
      END
      IF ENR_IMMO<10> # "" THEN
         ENR_IMMO<10> = ENR_IMMO<10> / 6.55957
         ENR_IMMO<10> = INT(ENR_IMMO<10> + (1/2))
      END

      WRITE ENR_IMMO ON F.IMMO,W_Cle

   REPEAT

STOP

*********************************************************
*  MAJ des fichiers BALANCE (AUX, ANAL ou GENE)

10
   
   * cumul dbit
   IF W_DetailEcriture<6> # "" THEN
      IF W_TabDyn<1>="" THEN
         W_TabDyn<1>=W_DetailEcriture<6>
      END ELSE
         W_TabDyn<1>=W_TabDyn<1> + W_DetailEcriture<6>
      END
   END

   * cumul crdit
   IF W_DetailEcriture<7> # "" THEN
      IF W_TabDyn<2>="" THEN
         W_TabDyn<2>=W_DetailEcriture<7>
      END ELSE
         W_TabDyn<2>=W_TabDyn<2> + W_DetailEcriture<7>
      END
   END

   * cumul quantit
   IF W_DetailEcriture<9> # "" THEN
      IF W_TabDyn<3>="" THEN
         W_TabDyn<3>=W_DetailEcriture<9>
      END ELSE
         W_TabDyn<3>=W_TabDyn<3> + W_DetailEcriture<9>
      END
   END

   * recherche le mois
   W_Date = OCONV(W_DetailEcriture<2>,"D4/")
   W_Mois=W_Date[4,2]
   k=1
   LOOP
   WHILE INT(W_TabDyn<4,k>) < INT(W_Mois) AND W_TabDyn<4,k> # "" DO
      k=k+1
   REPEAT

   * dbit par mois
   IF W_DetailEcriture<6> # "" THEN
      IF W_TabDyn<4,k>=W_Mois THEN
         W_TabDyn<5,k>=W_TabDyn<5,k> + W_DetailEcriture<6>
      END ELSE
         W_TabDyn=INSERT(W_TabDyn,4,k;W_Mois)
         W_TabDyn=INSERT(W_TabDyn,5,k;W_DetailEcriture<6>)
         W_TabDyn=INSERT(W_TabDyn,6,k;"0")
      END
   END ELSE
      IF W_TabDyn<4,k> = "" THEN
         W_TabDyn=INSERT(W_TabDyn,4,k;W_Mois)
         W_TabDyn=INSERT(W_TabDyn,5,k;"0")
      END
   END

   * crdit par mois
   IF W_DetailEcriture<7> # "" THEN
      IF W_TabDyn<4,k>=W_Mois THEN
         W_TabDyn<6,k>=W_TabDyn<6,k> + W_DetailEcriture<7>
      END ELSE
         W_TabDyn=INSERT(W_TabDyn,4,k;W_Mois)
         W_TabDyn=INSERT(W_TabDyn,5,k;"0")
         W_TabDyn=INSERT(W_TabDyn,6,k;W_DetailEcriture<7>)
      END
   END ELSE
      IF W_TabDyn<6,k> = "" THEN
         W_TabDyn<6,k>="0"
      END
   END

   * quantit par mois
   k = 1
   LOOP
   WHILE INT(W_TabDyn<4,k>) # INT(W_Mois) AND W_TabDyn<4,k>#"" DO
      k=k+1
   REPEAT

   IF W_DetailEcriture<9> # "" THEN
      IF W_TabDyn<7,k>="" THEN
         W_TabDyn<7,k>=W_DetailEcriture<9>
      END ELSE
         W_TabDyn<7,k>=W_TabDyn<7,k> + W_DetailEcriture<9>
      END
   END ELSE
      IF W_TabDyn<7,k> = "" THEN
         W_TabDyn=INSERT(W_TabDyn,7,k;"0")
      END
   END

   * date opration
   k=1
   LOOP
   WHILE INT(W_TabDyn<8,k>) <= INT(W_DetailEcriture<2>) AND W_TabDyn<8,k>#"" DO
      k=k+1
   REPEAT

   W_TabDyn=INSERT(W_TabDyn,8,k;W_DetailEcriture<2>)
   W_TabDyn=INSERT(W_TabDyn,9,k;W_Cle)

RETURN

*********************************************************
*  CREATION ECRITURE DE REGUL DANS LE COMPTE DE CENTRALISATION

20

   ENR_DETAILECRITUREGENE=""
   ENR_JOURNAL=""

   LOOP
   UNTIL ENR_JOURNAL<2> = "O" DO
      PRINT "Veuillez saisir le code du journal d'OD de l'entit ":W_SauveEntite:" (2N) : "
      INPUT W_Journal

      W_CodeJournal=W_SauveEntite:W_Journal

      READ ENR_JOURNAL FROM F.JOURNAL,W_SauveEntite:W_Journal ELSE ENR_JOURNAL=""
   REPEAT

   IF W_SauveExer = "N0" THEN
      IF ENR_JOURNAL<5>="" THEN
         ENR_JOURNAL<5>="00001"
         W_CleEcriture=W_CodeJournal:"N0":"00001"
      END ELSE
         ENR_JOURNAL<5>=ENR_JOURNAL<5>+1 "R%5"
         W_CleEcriture=W_CodeJournal:"N0":ENR_JOURNAL<5>
      END
   END ELSE
      IF ENR_JOURNAL<7>="" THEN
         ENR_JOURNAL<7>="00001"
         W_CleEcriture=W_CodeJournal:"N1":"00001"
      END ELSE
         ENR_JOURNAL<7>=ENR_JOURNAL<7>+1 "R%5"
         W_CleEcriture=W_CodeJournal:"N1":ENR_JOURNAL<7>
      END 
   END

   ENR_DETAILECRITUREGENE<1>=DATE()
   ENR_DETAILECRITUREGENE<2>=DATE()
   ENR_DETAILECRITUREGENE<3>=W_SauveEntite:ENR_PARAMENTITECOMPTA<16>
   ENR_DETAILECRITUREGENE<4>="DIFF. CONVERSION EUROS"
   ENR_DETAILECRITUREGENE<5>=""
   IF W_Debit="VRAI" THEN
      ENR_DETAILECRITUREGENE<6>=W_Montant
      ENR_DETAILECRITUREGENE<7>=""
   END ELSE
      ENR_DETAILECRITUREGENE<6>=""
      ENR_DETAILECRITUREGENE<7>=W_Montant
   END
   ENR_DETAILECRITUREGENE<8>=""
   ENR_DETAILECRITUREGENE<9>=""
   ENR_DETAILECRITUREGENE<10>=""
   ENR_DETAILECRITUREGENE<11>=""

   WRITE ENR_DETAILECRITUREGENE ON F.DETAILECRITUREGENE,W_CleEcriture

   * lecture et MAJ du fichier BALANCEGENE
   W_DetailEcriture = ENR_DETAILECRITUREGENE
   W_CleBalance = W_SauveExer:ENR_DETAILECRITUREGENE<3>
   READ ENR_BALANCEGENE FROM F.BALANCEGENE,W_CleBalance ELSE ENR_BALANCEGENE=""
   W_TabDyn=ENR_BALANCEGENE
   GOSUB 10
   ENR_BALANCEGENE=W_TabDyn
   W_TabDyn=""
   WRITE ENR_BALANCEGENE ON F.BALANCEGENE,W_CleBalance

RETURN

*********************************************************
*  CREATION ECRITURE DE REGUL DE DIFFERENCE D'ARRONDI

30

   ENR_DETAILECRITUREGENE=""
   ENR_JOURNAL=""

   LOOP
   UNTIL ENR_JOURNAL<2> = "O" DO
      PRINT "Veuillez saisir le code du journal d'OD de l'entit ":W_SauveEntite:" (2N) : "
      INPUT W_Journal

      W_CodeJournal=W_SauveEntite:W_Journal

      READ ENR_JOURNAL FROM F.JOURNAL,W_SauveEntite:W_Journal ELSE ENR_JOURNAL=""
   REPEAT

   IF W_SauveExer = "N0" THEN
      IF ENR_JOURNAL<5>="" THEN
         ENR_JOURNAL<5>="00001"
         W_CleEcriture=W_CodeJournal:"N0":"00001"
      END ELSE
         ENR_JOURNAL<5>=ENR_JOURNAL<5>+1 "R%5"
         W_CleEcriture=W_CodeJournal:"N0":ENR_JOURNAL<5>
      END
   END ELSE
      IF ENR_JOURNAL<7>="" THEN
         ENR_JOURNAL<7>="00001"
         W_CleEcriture=W_CodeJournal:"N1":"00001"
      END ELSE
         ENR_JOURNAL<7>=ENR_JOURNAL<7>+1 "R%5"
         W_CleEcriture=W_CodeJournal:"N1":ENR_JOURNAL<7>
      END 
   END

   ENR_DETAILECRITUREGENE<1>=DATE()
   ENR_DETAILECRITUREGENE<2>=DATE()

   READ ENR_PLANCOMPTABLE FROM F.PLANCOMPTABLE,W_SauveEntite:W_Compte ELSE ENR_PLANCOMPTABLE=""
   IF ENR_PLANCOMPTABLE="" THEN
      GOSUB 40
   END
   ENR_DETAILECRITUREGENE<3>=W_SauveEntite:W_Compte
   ENR_DETAILECRITUREGENE<4>="DIFF. CONVERSION COMPTA"
   ENR_DETAILECRITUREGENE<5>=""
   IF W_Compte="7661000000" THEN
      ENR_DETAILECRITUREGENE<6>=""
      ENR_DETAILECRITUREGENE<7>=W_Montant
   END ELSE
      ENR_DETAILECRITUREGENE<6>=W_Montant
      ENR_DETAILECRITUREGENE<7>=""
   END
   ENR_DETAILECRITUREGENE<8>=""
   ENR_DETAILECRITUREGENE<9>=""
   READ ENR_ACTIVITES FROM F.ACTIVITES,W_CleEcriture[1,3]:"001" ELSE ENR_ACTIVITES=""
   ENR_DETAILECRITUREGENE<10> = ENR_ACTIVITES<2>
   ENR_DETAILECRITUREGENE<11>=""

   WRITE ENR_DETAILECRITUREGENE ON F.DETAILECRITUREGENE,W_CleEcriture

   * lecture et MAJ du fichier BALANCEGENE
   W_DetailEcriture = ENR_DETAILECRITUREGENE
   W_CleBalance = W_SauveExer:ENR_DETAILECRITUREGENE<3>
   READ ENR_BALANCEGENE FROM F.BALANCEGENE,W_CleBalance ELSE ENR_BALANCEGENE=""
   W_TabDyn=ENR_BALANCEGENE
   GOSUB 10
   ENR_BALANCEGENE=W_TabDyn
   W_TabDyn=""
   WRITE ENR_BALANCEGENE ON F.BALANCEGENE,W_CleBalance

RETURN

*********************************************************
*  CREATION DU COMPTE COMPTABLE S'IL N'EXISTE PAS 

40

   IF W_Compte="7661000000" THEN
      ENR_PLANCOMPTABLE<1>="GAIN DE CHANGE"
   END ELSE
      ENR_PLANCOMPTABLE<1>="PERTE DE CHANGE"
   END
   ENR_PLANCOMPTABLE<2>="0"
   ENR_PLANCOMPTABLE<3>="0"
   ENR_PLANCOMPTABLE<4>="0"
   ENR_PLANCOMPTABLE<5>=""
   ENR_PLANCOMPTABLE<6>=""
   ENR_PLANCOMPTABLE<7>="0"
   ENR_PLANCOMPTABLE<8>=""
   ENR_PLANCOMPTABLE<9>="0"
   ENR_PLANCOMPTABLE<10>=W_SauveExer
   ENR_PLANCOMPTABLE<11>="0"

   WRITE ENR_PLANCOMPTABLE ON F.PLANCOMPTABLE,W_SauveEntite:W_Compte

RETURN
