**********************************************************
*  MOULINETTE QUI REPASSE LES ECRITURES EN BROUILLARD
*  VANESSA
*  MAI 2000
**********************************************************
* OUVERTURES DES FICHIERS

EXECUTE "SET-THOUS ."
EXECUTE "SET-DEC ,"
EXECUTE "DATE.FORMAT"
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 "","BROUILLARDDETAIL" TO F.BROUILLARDDETAIL ELSE PRINT "OUVERTURE BROUILLARDDETAIL" ;* en lecture criture
OPEN "","BROUILLARDTETE" TO F.BROUILLARDTETE ELSE PRINT "OUVERTURE BROUILLARDTETE" ;* en lecture criture
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 "","JOURNAL" TO F.JOURNAL ELSE PRINT "OUVERTURE JOURNAL" ;* en lecture criture
OPEN "","PARAMENTITECOMPTA" TO F.PARAMENTITECOMPTA ELSE STOP
OPEN "","ASSOCIATION" TO F.ASSOCIATION ELSE STOP

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

   W_Ligne=0
   W_Debit=0
   W_Credit=0
   W_SauveCle=""
   ENR_BROUILLARDDETAIL=""
   ENR_BROUILLARDTETE=""

1 *
   PRINT "ENTITE ="
   INPUT W_ENTITE
   READ ENR_ASSOCIATION FROM F.ASSOCIATION,W_ENTITE ELSE GOSUB 1

2 *
   PRINT "JOURNAL ="
   INPUT W_JOURNAL
   READ ENR_JOURNAL FROM F.JOURNAL,W_ENTITE:W_JOURNAL ELSE GOSUB 2

   PRINT "EXERCICE (N0/N1)"
   INPUT W_EXERCICE

   PRINT "LIGNE DEBUT aux ="
   INPUT W_LIGNEDEB

   PRINT "LIGNE FIN aux ="
   INPUT W_LIGNEFIN

   EXECUTE 'SSELECT DETAILECRITUREAUX AVEC 0 >= "':W_ENTITE:W_JOURNAL:W_EXERCICE:W_LIGNEDEB:'" AND AVEC 0 <= "':W_ENTITE:W_JOURNAL:W_EXERCICE:W_LIGNEFIN:'" PAR 0'

   W_Fini="FAUX"
   LOOP
      READNEXT W_Cle ELSE W_Fini="VRAI"
   WHILE W_Fini = "FAUX" DO
      READ ENR_DETAILECRITUREAUX FROM F.DETAILECRITUREAUX,W_Cle ELSE ENR_DETAILECRITUREAUX=""
      ENR_BROUILLARDDETAIL<1>=ENR_DETAILECRITUREAUX<1>
      ENR_BROUILLARDDETAIL<2>=ENR_DETAILECRITUREAUX<2>
      ENR_BROUILLARDDETAIL<3>="A"
      ENR_BROUILLARDDETAIL<4>=ENR_DETAILECRITUREAUX<3>
      ENR_BROUILLARDDETAIL<5>=ENR_DETAILECRITUREAUX<4>
      ENR_BROUILLARDDETAIL<6>=ENR_DETAILECRITUREAUX<5>
      ENR_BROUILLARDDETAIL<7>=ENR_DETAILECRITUREAUX<7>
      ENR_BROUILLARDDETAIL<8>=ENR_DETAILECRITUREAUX<6>
      ENR_BROUILLARDDETAIL<9>=ENR_DETAILECRITUREAUX<8>
      ENR_BROUILLARDDETAIL<10>=-ENR_DETAILECRITUREAUX<9>
      ENR_BROUILLARDDETAIL<11>=""

      READ ENR_BROUILLARDTETE FROM F.BROUILLARDTETE,W_Cle[1,7]:"3" THEN
	 W_Ligne=ENR_BROUILLARDTETE<1>+1  "R%5"
         W_Debit=ENR_BROUILLARDTETE<2> + ENR_BROUILLARDDETAIL<7>
         W_Credit=ENR_BROUILLARDTETE<3> + ENR_BROUILLARDDETAIL<8>
      END ELSE
         W_Ligne="00001"
         W_Debit= ENR_BROUILLARDDETAIL<7>
         W_Credit= ENR_BROUILLARDDETAIL<8>
      END

      ENR_BROUILLARDTETE<1>=W_Ligne
      ENR_BROUILLARDTETE<2>=W_Debit
      ENR_BROUILLARDTETE<3>=W_Credit
      WRITE ENR_BROUILLARDTETE ON F.BROUILLARDTETE,W_Cle[1,7]:"3"

      WRITE ENR_BROUILLARDDETAIL ON F.BROUILLARDDETAIL,W_Cle[1,7]:"3":W_Ligne

   REPEAT

   W_Ligne=0
   W_Debit=0
   W_Credit=0
   ENR_BROUILLARDDETAIL=""
   ENR_BROUILLARDTETE=""


   READ ENR_PARAMENTITECOMPTA FROM F.PARAMENTITECOMPTA,W_ENTITE ELSE ENR_PARAMENTITECOMPTA=""

   PRINT "LIGNE DEBUT gene="
   INPUT W_LIGNEDEB

   PRINT "LIGNE FIN gene="
   INPUT W_LIGNEFIN


*   EXECUTE 'SSELECT DETAILECRITUREGENE AVEC 3 # "[':"4111100000":'" PAR 0'
   EXECUTE 'SSELECT DETAILECRITUREGENE AVEC 3 # "':W_ENTITE:ENR_PARAMENTITECOMPTA<16>:'" AND AVEC 0 >= "':W_ENTITE:W_JOURNAL:W_EXERCICE:W_LIGNEDEB:'" AND AVEC 0 <= "':W_ENTITE:W_JOURNAL:W_EXERCICE:W_LIGNEFIN:'" PAR 0'

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

         ENR_BROUILLARDDETAIL<1>=ENR_DETAILECRITUREGENE<1>
         ENR_BROUILLARDDETAIL<2>=ENR_DETAILECRITUREGENE<2>
         ENR_BROUILLARDDETAIL<3>=""
         ENR_BROUILLARDDETAIL<4>=ENR_DETAILECRITUREGENE<3>
         ENR_BROUILLARDDETAIL<5>=ENR_DETAILECRITUREGENE<4>
         ENR_BROUILLARDDETAIL<6>=ENR_DETAILECRITUREGENE<5>
         ENR_BROUILLARDDETAIL<7>=ENR_DETAILECRITUREGENE<7>
         ENR_BROUILLARDDETAIL<8>=ENR_DETAILECRITUREGENE<6>
         ENR_BROUILLARDDETAIL<9>=ENR_DETAILECRITUREGENE<8>
         ENR_BROUILLARDDETAIL<10>=-ENR_DETAILECRITUREGENE<9>
         IF ENR_DETAILECRITUREGENE<3>[4,1]="6" OR ENR_DETAILECRITUREGENE<3>[4,1]="7" THEN
            ENR_BROUILLARDDETAIL<11>=ENR_DETAILECRITUREGENE<10>
         END ELSE
	    ENR_BROUILLARDDETAIL<11>=""
         END

         READ ENR_BROUILLARDTETE FROM F.BROUILLARDTETE,W_Cle[1,7]:"3" THEN
	    W_Ligne=ENR_BROUILLARDTETE<1>+1  "R%5"
            W_Debit=ENR_BROUILLARDTETE<2> + ENR_BROUILLARDDETAIL<7>
            W_Credit=ENR_BROUILLARDTETE<3> + ENR_BROUILLARDDETAIL<8>
         END ELSE
            W_Ligne="00001"
            W_Debit= ENR_BROUILLARDDETAIL<7>
            W_Credit= ENR_BROUILLARDDETAIL<8>
         END

         ENR_BROUILLARDTETE<1>=W_Ligne
         ENR_BROUILLARDTETE<2>=W_Debit
         ENR_BROUILLARDTETE<3>=W_Credit
         WRITE ENR_BROUILLARDTETE ON F.BROUILLARDTETE,W_Cle[1,7]:"3"

         WRITE ENR_BROUILLARDDETAIL ON F.BROUILLARDDETAIL,W_Cle[1,7]:"3":W_Ligne

   REPEAT

STOP
