********************************************************************
*  MOULINETTE POUR CONTROLER LE LETTRAGE DES ECRITURES AUXILIAIRES *
*  ET DELETTRER LES ECRITURES QUI NE DEVAIENT PAS ETRE LETTREES    *
*  VANESSA                                                         *
*  AVRIL 2002                                                      *
********************************************************************
* 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 "","CIVILAIDE" TO F.CIVILAIDE ELSE PRINT "OUVERTURE CIVILAIDE" ;* en lecture
********************************************************************
* PROGRAMME PRINCIPAL

   PRINTER ON

   EXECUTE 'SSELECT DETAILECRITUREAUX AVEC 11 # "" PAR 3 PAR 11'

   W_Fini="FAUX"
   W_SauveCpte=""
   W_SauveLettre=""
   W_SauveCle=""
   W_Credit=""
   W_Debit=""
   W_Premier="FAUX"
   W_TabDyn=""

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

      IF W_TabDyn<11>[2,1] # "1" THEN
         IF W_SauveCpte = W_TabDyn<3> THEN
            * rupture sur la lettre
            IF W_SauveLettre # W_TabDyn<11> AND W_Premier = "VRAI" THEN

               IF W_Debit # W_Credit THEN
                  GOSUB 10
               END

               W_SauveLettre = W_TabDyn<11>
               W_SauveCle=""
               W_Credit=""
               W_Debit=""
            END
            W_Premier = "VRAI"
 
            IF W_TabDyn<6> # "" THEN
               W_Debit = W_Debit + W_TabDyn<6>
	    END
            IF W_TabDyn<7> # "" THEN
               W_Credit = W_Credit + W_TabDyn<7>
	    END

            * sauvegarde la cl
            W_Count=DCOUNT(W_SauveCle,CHAR(254))
            W_SauveCle<W_Count+1>=W_Cle

         END ELSE
            IF W_Debit # W_Credit THEN
               GOSUB 10
            END

            W_SauveLettre = W_TabDyn<11>
            W_SauveCpte = W_TabDyn<3>
            W_SauveCle=""
            W_Credit=""
            W_Debit=""

            IF W_TabDyn<6> # "" THEN
               W_Debit = W_Debit + W_TabDyn<6>
	    END
            IF W_TabDyn<7> # "" THEN
               W_Credit = W_Credit + W_TabDyn<7>
	    END

            * sauvegarde la cl
            W_Count=DCOUNT(W_SauveCle,CHAR(254))
            W_SauveCle<W_Count+1>=W_Cle

         END
      END
   REPEAT

   IF W_Debit # W_Credit THEN
      GOSUB 10
   END

   PRINTER OFF
   PRINTER CLOSE

STOP

******************************************************************************************
* delettre les critures avec dbit # crdit et imprime le compte concern

10 

   W_CountCle = DCOUNT(W_SauveCle,CHAR(254))

   FOR i = 1 TO W_CountCle
      READ ENR_DETAILECRITUREAUX FROM F.DETAILECRITUREAUX,W_SauveCle<i> ELSE ENR_DETAILECRITUREAUX=""
      ENR_DETAILECRITUREAUX<11> = ""
      WRITE ENR_DETAILECRITUREAUX ON F.DETAILECRITUREAUX,W_SauveCle<i>
   NEXT i

   READ ENR_CIVILAIDE FROM F.CIVILAIDE,ENR_DETAILECRITUREAUX<3> ELSE ENR_CIVILAIDE=""
   PRINT ENR_DETAILECRITUREAUX<3>:"  ":ENR_CIVILAIDE<2>:"  ":ENR_CIVILAIDE<3>

RETURN
