**********************************************************
*  migration de la comptabilit 
*  Vanessa
*  Mars 2000
**********************************************************
* DIFFERENTES PROCEDURES
* 100 -> Remplit BROUILLARDDETAIL
* 200 -> Cre le descripteur EXERCICE sur les fichiers d'critures
* 300 -> Cre le descripteur JOURNAL sur les fichiers d'critures
* 400 -> Cre le descripteur ORDRE sur les fichiers d'critures
* 500 -> Suppression du VOC

**********************************************************
* Rcupration des paramtres
PROCREAD ARGUMENTS ELSE STOP
W_Module=FIELD(ARGUMENTS," ",2)
W_Base=FIELD(ARGUMENTS," ",3)
W_Entite=FIELD(ARGUMENTS," ",4)

W_ModulePrest=FIELD(ARGUMENTS," ",5)
W_FichierPrest=FIELD(ARGUMENTS," ",6)
W_CacPrest=FIELD(ARGUMENTS," ",7)
W_CptePrest=FIELD(ARGUMENTS," ",8)
W_SectAnalPrest=FIELD(ARGUMENTS," ",9)

W_ModuleMandat=FIELD(ARGUMENTS," ",10)
W_FichierMandat=FIELD(ARGUMENTS," ",11)
W_CacMandat=FIELD(ARGUMENTS," ",12)
W_CpteMandat=FIELD(ARGUMENTS," ",13)
W_SectAnalMandat=FIELD(ARGUMENTS," ",14)

W_ModuleTF=FIELD(ARGUMENTS," ",15)
W_FichierTF=FIELD(ARGUMENTS," ",16)
W_CacTF=FIELD(ARGUMENTS," ",17)
W_CpteTF=FIELD(ARGUMENTS," ",18)
W_SectAnalTF=FIELD(ARGUMENTS," ",19)

W_ModuleAutre=FIELD(ARGUMENTS," ",20)
W_FichierAutre=FIELD(ARGUMENTS," ",21)
W_CacAutre=FIELD(ARGUMENTS," ",22)
W_CpteAutre=FIELD(ARGUMENTS," ",23)
W_SectAnalAutre=FIELD(ARGUMENTS," ",24)

W_Vidage=FIELD(ARGUMENTS," ",25)

**********************************************************
* Cration du voc

   OPEN "","VOC" TO F.VOC ELSE STOP

   ENR_VOC=""
   ENR_VOC=REPLACE(ENR_VOC,1;"F")
   IF W_Base="U" THEN
      ENR_VOC=REPLACE(ENR_VOC,2;"D:\TRANSCOMPTA\":W_Module:"\COMPTE-GENE")
      ENR_VOC=REPLACE(ENR_VOC,3;"D:\TRANSCOMPTA\":W_Module:"\D_COMPTE-GENE")
   END ELSE
      ENR_VOC=REPLACE(ENR_VOC,2;"D:\TRANSCOMPTA\":W_Module:"\COMPTE/GENE")
      ENR_VOC=REPLACE(ENR_VOC,3;"D:\TRANSCOMPTA\":W_Module:"\D_COMPTE/GENE")
   END
   WRITE ENR_VOC ON F.VOC,"COMPTEGENE"

   ENR_VOC=""
   ENR_VOC=REPLACE(ENR_VOC,1;"F")
   ENR_VOC=REPLACE(ENR_VOC,2;"D:\TRANSCOMPTA\":W_Module:"\JOURNAL")
   ENR_VOC=REPLACE(ENR_VOC,3;"D:\TRANSCOMPTA\":W_Module:"\D_JOURNAL")
   WRITE ENR_VOC ON F.VOC,"JOURNALANC"

   ENR_VOC=""
   ENR_VOC=REPLACE(ENR_VOC,1;"F")
   ENR_VOC=REPLACE(ENR_VOC,2;"D:\TRANSCOMPTA\":W_Module:"\DATES")
   ENR_VOC=REPLACE(ENR_VOC,3;"D:\TRANSCOMPTA\":W_Module:"\D_DATES")
   WRITE ENR_VOC ON F.VOC,"DATES"

   ENR_VOC=""
   ENR_VOC=REPLACE(ENR_VOC,1;"F")
   ENR_VOC=REPLACE(ENR_VOC,2;"D:\TRANSCOMPTA\":W_Module:"\ECRIGENE")
   ENR_VOC=REPLACE(ENR_VOC,3;"D:\TRANSCOMPTA\":W_Module:"\D_ECRIGENE")
   WRITE ENR_VOC ON F.VOC,"ECRIGENE"

*   ENR_VOC=""
*   ENR_VOC=REPLACE(ENR_VOC,1;"F")
*   ENR_VOC=REPLACE(ENR_VOC,2;"D:\TRANSCOMPTA\":W_Module:"\TEMPAIDE")
*   ENR_VOC=REPLACE(ENR_VOC,3;"D:\TRANSCOMPTA\":W_Module:"\D_TEMPAIDE")
*   WRITE ENR_VOC ON F.VOC,"TEMPAIDE"

   IF W_FichierPrest # "0" THEN
      ENR_VOC=""
      ENR_VOC=REPLACE(ENR_VOC,1;"F")
      IF W_CacPrest = "1" THEN
         ENR_VOC=REPLACE(ENR_VOC,2;"D:\TRANSCOMPTA\":W_ModulePrest:"\":W_FichierPrest)
         ENR_VOC=REPLACE(ENR_VOC,3;"D:\TRANSCOMPTA\":W_ModulePrest:"\D_":W_FichierPrest)
      END ELSE
         ENR_VOC=REPLACE(ENR_VOC,2;"D:\TRANSCOMPTA\":W_Module:"\":W_FichierPrest)
         ENR_VOC=REPLACE(ENR_VOC,3;"D:\TRANSCOMPTA\":W_Module:"\D_":W_FichierPrest)
      END
      WRITE ENR_VOC ON F.VOC,"ECRIAUXPREST"

      ENR_VOC=""
      ENR_VOC=REPLACE(ENR_VOC,1;"F")
      IF W_ModulePrest = "0" THEN
         ENR_VOC=REPLACE(ENR_VOC,2;"D:\TRANSCOMPTA\":W_Module:"\P.AIDEES")
         ENR_VOC=REPLACE(ENR_VOC,3;"D:\TRANSCOMPTA\":W_Module:"\D_P.AIDEES")
      END ELSE
         ENR_VOC=REPLACE(ENR_VOC,2;"D:\TRANSCOMPTA\":W_ModulePrest:"\P.AIDEES")
         ENR_VOC=REPLACE(ENR_VOC,3;"D:\TRANSCOMPTA\":W_ModulePrest:"\D_P.AIDEES")
      END
      WRITE ENR_VOC ON F.VOC,"AIDEPREST"
   END

   IF W_FichierMandat # "0" THEN
      ENR_VOC=""
      ENR_VOC=REPLACE(ENR_VOC,1;"F")
      IF W_CacMandat = "1" THEN
         ENR_VOC=REPLACE(ENR_VOC,2;"D:\TRANSCOMPTA\":W_ModuleMandat:"\":W_FichierMandat)
         ENR_VOC=REPLACE(ENR_VOC,3;"D:\TRANSCOMPTA\":W_ModuleMandat:"\D_":W_FichierMandat)
      END ELSE
         ENR_VOC=REPLACE(ENR_VOC,2;"D:\TRANSCOMPTA\":W_Module:"\":W_FichierMandat)
         ENR_VOC=REPLACE(ENR_VOC,3;"D:\TRANSCOMPTA\":W_Module:"\D_":W_FichierMandat)
      END
      WRITE ENR_VOC ON F.VOC,"ECRIAUXMANDAT"

      ENR_VOC=""
      ENR_VOC=REPLACE(ENR_VOC,1;"F")
      IF W_ModuleMandat = "0" THEN
         ENR_VOC=REPLACE(ENR_VOC,2;"D:\TRANSCOMPTA\":W_Module:"\EMPLOYEURS")
         ENR_VOC=REPLACE(ENR_VOC,3;"D:\TRANSCOMPTA\":W_Module:"\D_EMPLOYEURS")
      END ELSE
         ENR_VOC=REPLACE(ENR_VOC,2;"D:\TRANSCOMPTA\":W_ModuleMandat:"\EMPLOYEURS")
         ENR_VOC=REPLACE(ENR_VOC,3;"D:\TRANSCOMPTA\":W_ModuleMandat:"\D_EMPLOYEURS")
      END
      WRITE ENR_VOC ON F.VOC,"EMPLOYEURS"
   END

   IF W_FichierTF # "0" THEN
      ENR_VOC=""
      ENR_VOC=REPLACE(ENR_VOC,1;"F")
      IF W_CacTF = "1" THEN
         ENR_VOC=REPLACE(ENR_VOC,2;"D:\TRANSCOMPTA\":W_ModuleTF:"\":W_FichierTF)
         ENR_VOC=REPLACE(ENR_VOC,3;"D:\TRANSCOMPTA\":W_ModuleTF:"\D_":W_FichierTF)
      END ELSE
         ENR_VOC=REPLACE(ENR_VOC,2;"D:\TRANSCOMPTA\":W_Module:"\":W_FichierTF)
         ENR_VOC=REPLACE(ENR_VOC,3;"D:\TRANSCOMPTA\":W_Module:"\D_":W_FichierTF)
      END
      WRITE ENR_VOC ON F.VOC,"ECRIAUXTF"

      ENR_VOC=""
      ENR_VOC=REPLACE(ENR_VOC,1;"F")
      IF W_ModuleTF = "0" THEN
         ENR_VOC=REPLACE(ENR_VOC,2;"D:\TRANSCOMPTA\":W_Module:"\P.AIDEES")
         ENR_VOC=REPLACE(ENR_VOC,3;"D:\TRANSCOMPTA\":W_Module:"\D_P.AIDEES")
      END ELSE
         ENR_VOC=REPLACE(ENR_VOC,2;"D:\TRANSCOMPTA\":W_ModuleTF:"\P.AIDEES")
         ENR_VOC=REPLACE(ENR_VOC,3;"D:\TRANSCOMPTA\":W_ModuleTF:"\D_P.AIDEES")
      END
      WRITE ENR_VOC ON F.VOC,"AIDETF"
   END

   IF W_FichierAutre # "0" THEN
      ENR_VOC=""
      ENR_VOC=REPLACE(ENR_VOC,1;"F")
      IF W_CacAutre = "1" THEN
         ENR_VOC=REPLACE(ENR_VOC,2;"D:\TRANSCOMPTA\":W_ModuleAutre:"\":W_FichierAutre)
         ENR_VOC=REPLACE(ENR_VOC,3;"D:\TRANSCOMPTA\":W_ModuleAutre:"\D_":W_FichierAutre)
      END ELSE
         ENR_VOC=REPLACE(ENR_VOC,2;"D:\TRANSCOMPTA\":W_Module:"\":W_FichierAutre)
         ENR_VOC=REPLACE(ENR_VOC,3;"D:\TRANSCOMPTA\":W_Module:"\D_":W_FichierAutre)
      END
      WRITE ENR_VOC ON F.VOC,"ECRIAUXAUTRE"

      ENR_VOC=""
      ENR_VOC=REPLACE(ENR_VOC,1;"F")
      IF W_ModuleAutre = "0" THEN
         ENR_VOC=REPLACE(ENR_VOC,2;"D:\TRANSCOMPTA\FACTURE-REPAS\P.AIDEES")
         ENR_VOC=REPLACE(ENR_VOC,3;"D:\TRANSCOMPTA\FACTURE-REPAS\D_P.AIDEES")
      END ELSE
         ENR_VOC=REPLACE(ENR_VOC,2;"D:\TRANSCOMPTA\":W_ModuleAutre:"\P.AIDEES")
         ENR_VOC=REPLACE(ENR_VOC,3;"D:\TRANSCOMPTA\":W_ModuleAutre:"\D_P.AIDEES")
      END
      WRITE ENR_VOC ON F.VOC,"AIDEAUTRE"
   END

**********************************************************
* OUVERTURES DES FICHIERS

OPEN "","PLANCOMPTABLE" TO F.PLANCOMPTABLE ELSE PRINT "OUVERTURE PLANCOMPTABLE" ;* en lecture criture
OPEN "","COMPTEGENE" TO F.COMPTEGENE ELSE PRINT "OUVERTURE COMPTEGENE" ;* en lecture
OPEN "","JOURNAL" TO F.JOURNAL ELSE PRINT "OUVERTURE JOURNAL" ;* en lecture criture
OPEN "","JOURNALANC" TO F.JOURNALANC ELSE PRINT "OUVERTURE JOURNALANC" ;* en lecture
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 "","DATES" TO F.DATES ELSE PRINT "OUVERTURE DATES" ;* en lecture
OPEN "","COMPTEUR" TO F.COMPTEUR ELSE PRINT "OUVERTURE COMPTEUR" ;* en lecture criture
OPEN "","ECRIGENE" TO F.ECRIGENE ELSE PRINT "OUVERTURE ECRIGENE" ;* en lecture
* OPEN "","TEMPAIDE" TO F.TEMPAIDE ELSE PRINT "OUVERTURE TEMPAIDE" ;* en lecture

OPEN "DICT","ECRIGENE" TO F.ECRIGENEDICT ELSE PRINT "OUVERTURE ECRIGENE" ;* en lecture criture
GOSUB 200
WRITE ENR_DICT ON F.ECRIGENEDICT,"EXERCICE"
GOSUB 300
WRITE ENR_DICT ON F.ECRIGENEDICT,"JOURNAL"
GOSUB 400
WRITE ENR_DICT ON F.ECRIGENEDICT,"ORDRE"

IF W_FichierPrest # "0" THEN
   OPEN "","ECRIAUXPREST" TO F.ECRIAUXPREST ELSE PRINT "OUVERTURE ECRIAUXPREST" ;* en lecture
   OPEN "DICT","ECRIAUXPREST" TO F.ECRIAUXPRESTDICT ELSE PRINT "OUVERTURE ECRIAUXPREST" ;* en lecture criture
   GOSUB 200
   WRITE ENR_DICT ON F.ECRIAUXPRESTDICT,"EXERCICE"
   GOSUB 300
   WRITE ENR_DICT ON F.ECRIAUXPRESTDICT,"JOURNAL"
   GOSUB 400
   WRITE ENR_DICT ON F.ECRIAUXPRESTDICT,"ORDRE"
   OPEN "","AIDEPREST" TO F.AIDEPREST ELSE PRINT "OUVERTURE AIDEPREST" ;* en lecture
END

IF W_FichierMandat # "0" THEN
   OPEN "","ECRIAUXMANDAT" TO F.ECRIAUXMANDAT ELSE PRINT "OUVERTURE ECRIAUXMANDAT" ;* en lecture
   OPEN "DICT","ECRIAUXMANDAT" TO F.ECRIAUXMANDATDICT ELSE PRINT "OUVERTURE ECRIAUXMANDAT" ;* en lecture criture
   GOSUB 200
   WRITE ENR_DICT ON F.ECRIAUXMANDATDICT,"EXERCICE"
   GOSUB 300
   WRITE ENR_DICT ON F.ECRIAUXMANDATDICT,"JOURNAL"
   GOSUB 400
   WRITE ENR_DICT ON F.ECRIAUXMANDATDICT,"ORDRE"
   OPEN "","EMPLOYEURS" TO F.EMPLOYEURS ELSE PRINT "OUVERTURE EMPLOYEURS" ;* en lecture
END

IF W_FichierTF # "0" THEN
   OPEN "","ECRIAUXTF" TO F.ECRIAUXTF ELSE PRINT "OUVERTURE ECRIAUXTF" ;* en lecture
   OPEN "DICT","ECRIAUXTF" TO F.ECRIAUXTFDICT ELSE PRINT "OUVERTURE ECRIAUXTF" ;* en lecture criture
   GOSUB 200
   WRITE ENR_DICT ON F.ECRIAUXTFDICT,"EXERCICE"
   GOSUB 300
   WRITE ENR_DICT ON F.ECRIAUXTFDICT,"JOURNAL"
   GOSUB 400
   WRITE ENR_DICT ON F.ECRIAUXTFDICT,"ORDRE"
   OPEN "","AIDETF" TO F.AIDETF ELSE PRINT "OUVERTURE AIDETF" ;* en lecture
END

IF W_FichierAutre # "0" THEN
   OPEN "","ECRIAUXAUTRE" TO F.ECRIAUXAUTRE ELSE PRINT "OUVERTURE ECRIAUXAUTRE" ;* en lecture
   OPEN "DICT","ECRIAUXAUTRE" TO F.ECRIAUXAUTREDICT ELSE PRINT "OUVERTURE ECRIAUXAUTRE" ;* en lecture criture
   GOSUB 200
   WRITE ENR_DICT ON F.ECRIAUXAUTREDICT,"EXERCICE"
   GOSUB 300
   WRITE ENR_DICT ON F.ECRIAUXAUTREDICT,"JOURNAL"
   GOSUB 400
   WRITE ENR_DICT ON F.ECRIAUXAUTREDICT,"ORDRE"
   OPEN "","AIDEAUTRE" TO F.AIDEAUTRE ELSE PRINT "OUVERTURE AIDEAUTRE" ;* en lecture
END

***********************************************************
* INITIALISATION DES VARIABLES

ENR_PLANCOMPTABLE=""
ENR_JOURNAL=""
W_TabDyn=""
ENR_BROUILLARDDETAIL=""
W_ExerN0=""
W_ExerN1=""
W_Exer=""
W_CodeExer=""
W_CodeJournal=""
W_CodeSectAnal=""
*********************************************************
* PROGRAMME PRINCIPAL

   W_Prest="FAUX"
   W_Mandat="FAUX"
   W_TF="FAUX"
   W_Autre="FAUX"
   W_Gene="FAUX"

   * Vidage des fichiers
   IF W_Vidage="1" THEN
      EXECUTE 'VIDER-FICHIER PLANCOMPTABLE'
      EXECUTE 'VIDER-FICHIER JOURNAL'
      EXECUTE 'VIDER-FICHIER BROUILLARDTETE'
      EXECUTE 'VIDER-FICHIER BROUILLARDDETAIL'
   END

*********************************************************
   * Mise  jour du fichier PLANCOMPTABLE
   EXECUTE 'SSELECT COMPTEGENE'

   W_Fini="FAUX"
   LOOP
      READNEXT W_CleCpte ELSE W_Fini="VRAI"
   WHILE W_Fini = "FAUX" DO
      READ ENR_COMPTEGENE FROM F.COMPTEGENE,W_CleCpte THEN
         ENR_PLANCOMPTABLE<1>=ENR_COMPTEGENE<1>
         IF W_CleCpte[1,1]="4" OR W_CleCpte[1,1]="5" THEN
            ENR_PLANCOMPTABLE<2>="1" 
         END ELSE
            ENR_PLANCOMPTABLE<2>="0"
         END
         IF W_CleCpte[1,2]="70" THEN
            ENR_PLANCOMPTABLE<3>="1" 
         END ELSE
            ENR_PLANCOMPTABLE<3>="0"
         END
         ENR_PLANCOMPTABLE<4>="0"
         ENR_PLANCOMPTABLE<5>=""
         ENR_PLANCOMPTABLE<6>=""
         ENR_PLANCOMPTABLE<7>="1"
         ENR_PLANCOMPTABLE<8>=""
         ENR_PLANCOMPTABLE<9>="0"
         ENR_PLANCOMPTABLE<10>="N0"
          IF W_CleCpte[1,2]="40" OR W_CleCpte[1,2]="41" THEN
            ENR_PLANCOMPTABLE<11>="1" 
         END ELSE
            ENR_PLANCOMPTABLE<11>="0"
         END
         WRITE ENR_PLANCOMPTABLE ON F.PLANCOMPTABLE,W_Entite:W_CleCpte
      END
   REPEAT

*********************************************************
   * Mise  jour du fichier JOURNAL
   EXECUTE 'SSELECT JOURNALANC'

   W_Fini="FAUX"
   LOOP
      READNEXT W_CleJournal ELSE W_Fini="VRAI"
   WHILE W_Fini = "FAUX" DO
      READ ENR_JOURNALANC FROM F.JOURNALANC,W_CleJournal THEN
         ENR_JOURNAL<1>=ENR_JOURNALANC<1>
         IF W_CleJournal="99" THEN
            ENR_JOURNAL<2>="N" 
         END ELSE
            IF W_CleJournal="01" OR W_CleJournal = "21" THEN
               ENR_JOURNAL<2>="P" 
            END ELSE
               ENR_JOURNAL<2>="O"
            END
         END
         IF ENR_JOURNALANC<2> # "" THEN
            ENR_JOURNAL<3>=W_Entite:ENR_JOURNALANC<2>
         END ELSE
            ENR_JOURNAL<3>=""
         END
         FOR i = 4 TO 17
            ENR_JOURNAL<i>=""
         NEXT i
         WRITE ENR_JOURNAL ON F.JOURNAL,W_Entite:W_CleJournal
      END
   REPEAT

*********************************************************
   * lecture du fichier DATES pour connatre l'exercice
   READ ENR_DATES FROM F.DATES,"1" THEN
      W_ExerN0=ENR_DATES<1>
   END
   READ ENR_DATES FROM F.DATES,"2" THEN
      W_ExerN1=ENR_DATES<1>
   END

*********************************************************
   * gnration de BROUILLARDDETAIL si en prestataire
   IF W_FichierPrest # "0" THEN

      EXECUTE 'SSELECT ECRIAUXPREST PAR EXERCICE PAR JOURNAL PAR ORDRE'
      W_Prest="VRAI"
      W_CodeExer=""
      W_CodeJournal=""
      W_Fini="FAUX"
      W_Premier="FAUX"
      LOOP
         READNEXT W_CleEcri ELSE W_Fini="VRAI"
      WHILE W_Fini = "FAUX" DO
         READ ENR_ECRIAUXPREST FROM F.ECRIAUXPREST,W_CleEcri THEN
            W_TabDyn=ENR_ECRIAUXPREST
            GOSUB 100
         END
      REPEAT
      WRITE ENR_BROUILLARDTETE ON F.BROUILLARDTETE,W_Cle
      W_Prest="FAUX"
   END

*********************************************************
   * gnration de BROUILLARDDETAIL si en mandataire
   IF W_FichierMandat # "0" THEN

      EXECUTE 'SSELECT ECRIAUXMANDAT PAR EXERCICE PAR JOURNAL PAR ORDRE'
      W_Mandat="VRAI"
      W_CodeExer=""
      W_CodeJournal=""
      W_Fini="FAUX"
      W_Premier="FAUX"
      LOOP
         READNEXT W_CleEcri ELSE W_Fini="VRAI"
      WHILE W_Fini = "FAUX" DO
         READ ENR_ECRIAUXMANDAT FROM F.ECRIAUXMANDAT,W_CleEcri THEN
            W_TabDyn=ENR_ECRIAUXMANDAT
            GOSUB 100
         END
      REPEAT
      WRITE ENR_BROUILLARDTETE ON F.BROUILLARDTETE,W_Cle
      W_Mandat="FAUX"
   END

*********************************************************
   * gnration de BROUILLARDDETAIL si en TF
   IF W_FichierTF # "0" THEN

      EXECUTE 'SSELECT ECRIAUXTF PAR EXERCICE PAR JOURNAL PAR ORDRE'
      W_TF="VRAI"
      W_CodeExer=""
      W_CodeJournal=""
      W_Fini="FAUX"
      W_Premier="FAUX"
      LOOP
         READNEXT W_CleEcri ELSE W_Fini="VRAI"
      WHILE W_Fini = "FAUX" DO
         READ ENR_ECRIAUXTF FROM F.ECRIAUXTF,W_CleEcri THEN
            W_TabDyn=ENR_ECRIAUXTF
            GOSUB 100
         END
      REPEAT
      WRITE ENR_BROUILLARDTETE ON F.BROUILLARDTETE,W_Cle
      W_TF="FAUX"
   END

*********************************************************
   * gnration de BROUILLARDDETAIL si en Autre
   IF W_FichierAutre # "0" THEN

      EXECUTE 'SSELECT ECRIAUXAUTRE PAR EXERCICE PAR JOURNAL PAR ORDRE'
      W_Autre="VRAI"
      W_CodeExer=""
      W_CodeJournal=""
      W_Fini="FAUX"
      W_Premier="FAUX"
      LOOP
         READNEXT W_CleEcri ELSE W_Fini="VRAI"
      WHILE W_Fini = "FAUX" DO
         READ ENR_ECRIAUXAUTRE FROM F.ECRIAUXAUTRE,W_CleEcri THEN
            W_TabDyn=ENR_ECRIAUXAUTRE
            GOSUB 100
         END
      REPEAT
      WRITE ENR_BROUILLARDTETE ON F.BROUILLARDTETE,W_Cle
      W_Autre="FAUX"
   END

*********************************************************
   * gnration de BROUILLARDDETAIL pour les critures gnrales
   EXECUTE 'SSELECT ECRIGENE PAR EXERCICE PAR JOURNAL PAR ORDRE'
   W_Gene="VRAI"
   W_CodeExer=""
   W_CodeJournal=""
   W_Fini="FAUX"
   W_Premier="FAUX"
   LOOP
      READNEXT W_CleEcri ELSE W_Fini="VRAI"
   WHILE W_Fini = "FAUX" DO
      READ ENR_ECRIGENE FROM F.ECRIGENE,W_CleEcri THEN
         IF ENR_ECRIGENE<3> # W_CptePrest AND ENR_ECRIGENE<3> # W_CpteMandat AND ENR_ECRIGENE<3> # W_CpteTF AND ENR_ECRIGENE<3> # W_CpteAutre THEN
            W_TabDyn=ENR_ECRIGENE
            GOSUB 100
         END
      END
   REPEAT
   WRITE ENR_BROUILLARDTETE ON F.BROUILLARDTETE,W_Cle
   W_Autre="FAUX"

*********************************************************
   * mise  jour COMPTEUR att 15
   READ ENR_COMPTEUR FROM F.COMPTEUR,"999" ELSE ENR_COMPTEUR=""
   ENR_COMPTEUR<15>="001"
   WRITE ENR_COMPTEUR ON F.COMPTEUR,"999"

*********************************************************

STOP

*********************************************************
* Remplit BROUILLARDDETAIL

100

   IF W_CodeExer # W_CleEcri[1,2] OR W_CodeJournal # W_CleEcri[3,2] THEN
      W_CodeExer=W_CleEcri[1,2]
      W_CodeJournal = W_CleEcri[3,2]
      
      IF W_Premier="VRAI" THEN
         WRITE ENR_BROUILLARDTETE ON F.BROUILLARDTETE,W_Cle
      END
      W_Premier="VRAI"

      IF W_CleEcri[1,2] = W_ExerN0 THEN
         W_Exer="N0"
      END ELSE
         IF W_CleEcri[1,2] = W_ExerN1 THEN
            W_Exer="N1"
         END
      END

      W_Cle=W_Entite:W_CleEcri[3,2]:W_Exer:"1"
      READ ENR_BROUILLARDTETE FROM F.BROUILLARDTETE,W_Cle ELSE ENR_BROUILLARDTETE=""
   END

   IF ENR_BROUILLARDTETE<1>="" THEN
      ENR_BROUILLARDTETE<1>=0
      ENR_BROUILLARDTETE<2>=0
      ENR_BROUILLARDTETE<3>=0
   END

   ENR_BROUILLARDTETE<1>=ENR_BROUILLARDTETE<1>+1 "R%5"
   ENR_BROUILLARDTETE<2>=ENR_BROUILLARDTETE<2>+W_TabDyn<7>
   ENR_BROUILLARDTETE<3>=ENR_BROUILLARDTETE<3>+W_TabDyn<8>

   ENR_BROUILLARDDETAIL<1>=W_TabDyn<1>
   ENR_BROUILLARDDETAIL<2>=W_TabDyn<2>
   IF W_Gene="VRAI" THEN
      ENR_BROUILLARDDETAIL<3>=""
   END ELSE
      ENR_BROUILLARDDETAIL<3>="A"
   END
    
   IF W_TabDyn<3>[1,1] = "G" THEN
      W_TabDyn<3>=W_TabDyn<3>[2,4]
   END
   IF W_TabDyn<3>[1,1] = "F" THEN
      W_TabDyn<3>=W_TabDyn<3>[2,4]
   END
   
   W_CodeAide=""

   IF W_Prest = "VRAI" THEN
      READ ENR_AIDEPREST FROM F.AIDEPREST,W_TabDyn<3> ELSE ENR_AIDEPREST = ""
      IF ENR_AIDEPREST<50> # "" THEN
         W_CodeAide=ENR_AIDEPREST<50>
      END ELSE
         W_CodeAide=""
*         W_NomAide=FIELD(ENR_AIDEPREST<2>," ",2)
*         READ ENR_TEMPAIDE FROM F.TEMPAIDE,W_NomAide ELSE ENR_TEMPAIDE = ""
*         W_TabDyn<3>="F":W_TabDyn<3>
*         W_CountMV=DCOUNT(ENR_TEMPAIDE<6>,CHAR(253))
*         FOR j=1 TO W_CountMV
*            W_CountSV=DCOUNT(ENR_TEMPAIDE<6,j>,CHAR(252))
*            IF W_CountSV=1 THEN
*               IF ENR_TEMPAIDE<6,j>=W_TabDyn<3> THEN
*                  W_CodeAide=ENR_TEMPAIDE<1,j>
*               END
*            END ELSE
*               FOR l=1 TO W_CountSV
*                  IF ENR_TEMPAIDE<6,j,l>=W_TabDyn<3> THEN
*                     W_CodeAide=ENR_TEMPAIDE<1,j>
*                  END
*               NEXT l
*            END
*         NEXT j
      END
      W_CodeSectAnal=W_SectAnalPrest
   END ELSE
      IF W_Mandat = "VRAI" THEN
         READ ENR_EMPLOYEURS FROM F.EMPLOYEURS,W_TabDyn<3> ELSE ENR_EMPLOYEURS = ""
         IF ENR_EMPLOYEURS<50> # "" THEN
            W_CodeAide=ENR_EMPLOYEURS<50>
         END ELSE
            W_CodeAide=""
*            W_NomAide=FIELD(ENR_EMPLOYEURS<2>," ",2)
*            READ ENR_TEMPAIDE FROM F.TEMPAIDE,W_NomAide ELSE ENR_TEMPAIDE = ""
*            W_TabDyn<3>="G":W_TabDyn<3>
*            W_CountMV=DCOUNT(ENR_TEMPAIDE<6>,CHAR(253))
*            FOR j=1 TO W_CountMV
*               W_CountSV=DCOUNT(ENR_TEMPAIDE<6,j>,CHAR(252))
*               IF W_CountSV=1 THEN
*                  IF ENR_TEMPAIDE<6,j>=W_TabDyn<3> THEN
*                     W_CodeAide=ENR_TEMPAIDE<1,j>
*                  END
*               END ELSE
*                  FOR l=1 TO W_CountSV
*                     IF ENR_TEMPAIDE<6,j,l>=W_TabDyn<3> THEN
*                        W_CodeAide=ENR_TEMPAIDE<1,j>
*                     END
*                  NEXT l
*               END
*            NEXT j

         END
         W_CodeSectAnal=W_SectAnalMandat
      END ELSE
         IF W_TF = "VRAI" THEN
            READ ENR_AIDETF FROM F.AIDETF,W_TabDyn<3> ELSE ENR_AIDETF = ""
            W_CodeAide=ENR_AIDETF<50>
            W_CodeSectAnal=W_SectAnalTF
         END ELSE
            IF W_Autre = "VRAI" THEN
               READ ENR_AIDEAUTRE FROM F.AIDEAUTRE,W_TabDyn<3> ELSE ENR_AIDEAUTRE = ""
               W_CodeAide=ENR_AIDEAUTRE<50>
               W_CodeSectAnal=W_SectAnalAutre
            END ELSE
               IF W_Gene = "VRAI" THEN
                  W_CodeAide = W_Entite:W_TabDyn<3>
               END
            END
         END
      END
   END

   ENR_BROUILLARDDETAIL<4>=W_CodeAide
   ENR_BROUILLARDDETAIL<5>=W_TabDyn<5>
   ENR_BROUILLARDDETAIL<6>=W_TabDyn<4>
   ENR_BROUILLARDDETAIL<7>=W_TabDyn<7>
   ENR_BROUILLARDDETAIL<8>=W_TabDyn<8>
   ENR_BROUILLARDDETAIL<9>=""
   IF ENR_BROUILLARDDETAIL<7> # "" THEN
      ENR_BROUILLARDDETAIL<10>=W_TabDyn<9>
   END ELSE
      IF ENR_BROUILLARDDETAIL<8> # "" THEN
         ENR_BROUILLARDDETAIL<10>=-W_TabDyn<9>
      END 
   END

   IF LEN(ENR_BROUILLARDDETAIL<4>)=13 THEN
      IF ENR_BROUILLARDDETAIL<4>[4,1]="6" OR ENR_BROUILLARDDETAIL<4>[4,1]="7" THEN
	 IF W_CodeSectAnal # "0" AND W_CodeSectAnal # "" THEN
            ENR_BROUILLARDDETAIL<11>=W_CodeSectAnal
         END ELSE
            ENR_BROUILLARDDETAIL<11>=""
	 END
      END ELSE
         ENR_BROUILLARDDETAIL<11>=""
      END
   END ELSE
      ENR_BROUILLARDDETAIL<11>=""
   END
   W_CleDetail=W_Entite:W_CleEcri[3,2]:W_Exer:"1":ENR_BROUILLARDTETE<1>
   WRITE ENR_BROUILLARDDETAIL ON F.BROUILLARDDETAIL,W_CleDetail

RETURN

*********************************************************
* Cre le descripteur EXERCICE sur les fichiers d'critures
  
200

   ENR_DICT=""
   ENR_DICT<1>='V'
   ENR_DICT<2>='OCONV(@ID,"T1,2")'
   ENR_DICT<3>=""
   ENR_DICT<4>='EXERCICE'
   ENR_DICT<5>='2L'
   ENR_DICT<6>='M'

RETURN

*********************************************************
* Cre le descripteur JOURNAL sur les fichiers d'critures
  
300

   ENR_DICT=""
   ENR_DICT<1>='V'
   ENR_DICT<2>='OCONV(@ID,"T3,2")'
   ENR_DICT<3>=""
   ENR_DICT<4>='JOURNAL'
   ENR_DICT<5>='2L'
   ENR_DICT<6>='M'

RETURN

*********************************************************
* Cre le descripteur ORDRE sur les fichiers d'critures
  
400

   ENR_DICT=""
   ENR_DICT<1>='V'
   ENR_DICT<2>='OCONV(@ID,"T5,5")'
   ENR_DICT<3>=""
   ENR_DICT<4>='NUMERO ORDRE'
   ENR_DICT<5>='5R'
   ENR_DICT<6>='M'

RETURN

*********************************************************
* Suppression du VOC
  
500

   DELETE F.VOC,"COMPTEGENE"
   DELETE F.VOC,"JOURNALANC"
   DELETE F.VOC,"ECRIAUXMANDAT"
   DELETE F.VOC,"EMPLOYEURS"
   DELETE F.VOC,"ECRIAUXPREST"
   DELETE F.VOC,"AIDEPREST"
   DELETE F.VOC,"ECRIAUXTF"
   DELETE F.VOC,"AIDETF"
   DELETE F.VOC,"ECRIAUXAUTRE"
   DELETE F.VOC,"AIDEAUTRE"
   DELETE F.VOC,"DATES"
   DELETE F.VOC,"ECRIGENE"
   DELETE F.VOC,"TEMPAIDE"

RETURN