**********************************************************
*  gnration d'un fichier de type DIR qui reprend la liste des factures prleves
*  pour la MAJ automatique de la compta (spcifique pour TROYES pour SAARI)
*  Programme chaine  partir d'un projet VB
*  Vanessa
*  octobre 2002
**********************************************************

* Ouvertures des fichiers

EXECUTE "SET-THOUS ."
EXECUTE "SET-DEC ,"
EXECUTE "DATE.FORMAT"
OPEN "","LIENCOMPTA" TO F.LIENCOMPTA ELSE PRINT "OUVERTURE LIENCOMPTA" ;* en lecture criture
OPEN "","FACTURAIDE" TO F.FACTURAIDE ELSE PRINT "OUVERTURE FACTURAIDE" ;* en lecture
OPEN "","CIVILAIDE" TO F.CIVILAIDE ELSE PRINT "OUVERTURE CIVILAIDE" ;* en lecture
OPEN "","FEDEASSOC" TO F.FEDEASSOC ELSE PRINT "OUVERTURE FEDEASSOC" ;* en lecture
OPEN "","TEMPO" TO F.TEMPO ELSE PRINT "OUVERTURE TEMPO" ;* en lecture criture
*********************************************************
* initialisation des variables

ENR_LIENCOMPTA=""
W_NbEnr=0
W_TotalCredit=0
ENR_TEMPO=""
W_TamponCle = ""
W_RequeteComptaFact=""
*********************************************************
* Recuperation des arguments

PROCREAD ARGUMENTS ELSE STOP
W_Periode=FIELD(ARGUMENTS," ",2)
W_Assoc=FIELD(ARGUMENTS," ",3)
W_NomFichier=FIELD(ARGUMENTS," ",4)
*********************************************************
* PROGRAMME PRINCIPAL

   READ ENR_FEDEASSOC FROM F.FEDEASSOC,W_Assoc ELSE ENR_FEDEASSOC=""

   W_Temp='SELECT FACTURAIDE AVEC PeriodeCleFactAide = "':W_Periode:'"'
   W_Temp=W_Temp:' AND AVEC NoCpteAide # "" AND AVEC 11 = "1"'
   W_Temp=W_Temp:' AND AVEC PrelevFact = ""'
   W_Temp=W_Temp:' AND AVEC CodeSecteurFact = "':ENR_FEDEASSOC<41,1>:'"'


   W_Count=DCOUNT(ENR_FEDEASSOC<41>,CHAR(253))
   FOR i=2 TO W_Count
      W_Temp=W_Temp:' OR = "':ENR_FEDEASSOC<41,i>:'"'
   NEXT i

   W_Temp=W_Temp:' PAR NomAideFact PAR PrenomAideFact PAR-DECR 0'

   EXECUTE W_Temp
   EXECUTE 'SAUVE-LISTE W_RequeteComptaFact'
   EXECUTE "LISTE W_RequeteComptaFact" RETURNING MSGCODE

   IF MSGCODE<1>=209 THEN
      STOP
   END ELSE
      SELECT F.FACTURAIDE TO W_RequeteComptaFact
 
      W_End="FAUX"
      i=2
     
      LOOP
         READNEXT W_CleFact FROM W_RequeteComptaFact ELSE W_End = "VRAI"
	 
      WHILE W_End = "FAUX" DO
	IF W_CleFact[1,25] # W_TamponCle THEN       
	 READ ENR_FACTURAIDE FROM F.FACTURAIDE,W_CleFact ELSE ENR_FACTURAIDE=""
         W_Montant=0
         W_Count=DCOUNT(ENR_FACTURAIDE<5>,CHAR(253))
         FOR j=1 TO W_Count
            W_Montant = W_Montant + ENR_FACTURAIDE<5,j>
         NEXT j
         IF ENR_FACTURAIDE<9> # "" THEN
            W_Montant = W_Montant + ENR_FACTURAIDE<9>
         END
	 IF W_Montant > 0 THEN
          W_TotalCredit=W_TotalCredit+W_Montant
          * ligne crdit
          W_NbEnr=W_NbEnr+1
          * date de prlvement
          W_Date=ENR_FACTURAIDE<12>
          W_Date=OCONV(W_Date,"D2/")
          W_Date=W_Date[1,2]:W_Date[4,2]:W_Date[7,2]
          READ ENR_CIVILAIDE FROM F.CIVILAIDE,W_CleFact[1,5] ELSE ENR_CIVILAIDE=""
          W_Nom=CONVERT(" ","",ENR_CIVILAIDE<2>)
	  W_Nom = W_Nom[1,3]
          ENR_LIENCOMPTA<i>="CL ":W_Date:"FC411000       X":W_Nom:W_CleFact[1,5]:"00000"
          W_NumFact=INT(W_CleFact[16,10])
          IF W_Montant >= 0 THEN
           ENR_LIENCOMPTA<i>=ENR_LIENCOMPTA<i>:W_NumFact:SPACE(13-LEN(W_NumFact))
          END ELSE
           IF LEN(W_NumFact) > 7 THEN
            ENR_LIENCOMPTA<i>=ENR_LIENCOMPTA<i>:"AVOIR ":W_NumFact[1,7]
           END ELSE
            ENR_LIENCOMPTA<i>=ENR_LIENCOMPTA<i>:"AVOIR ":W_NumFact:SPACE(7-LEN(W_NumFact))
           END
          END
          * lit le nom prnom de l'aid
          W_Aidant=ENR_CIVILAIDE<2>:" ":ENR_CIVILAIDE<3>
          IF LEN(W_Aidant) > 25 THEN
           ENR_LIENCOMPTA<i> = ENR_LIENCOMPTA<i>:W_Aidant[1,25]
          END ELSE
           ENR_LIENCOMPTA<i> = ENR_LIENCOMPTA<i>:W_Aidant:SPACE(25-LEN(W_Aidant))
          END
          ENR_LIENCOMPTA<i> = ENR_LIENCOMPTA<i>:"C":W_Date:"C":SPACE(10):SPACE(9-LEN(W_Montant)):W_Montant[1,LEN(W_Montant)-2]:".":W_Montant[LEN(W_Montant)-1,2]:"N"
          i=i+1
         END
	END
	W_TamponCle = W_CleFact[1,25]
      REPEAT
   END

   * ligne dbit
   W_NbEnr=W_NbEnr+1
   ENR_LIENCOMPTA<i>="CL ":W_Date:"FC512000    ":SPACE(30)
   ENR_LIENCOMPTA<i> = ENR_LIENCOMPTA<i>:"PRELEVEMENTS FACTURES    "
   ENR_LIENCOMPTA<i> = ENR_LIENCOMPTA<i>:"C":W_Date:"D":SPACE(10):SPACE(9-LEN(W_TotalCredit)):W_TotalCredit[1,LEN(W_TotalCredit)-2]:".":W_TotalCredit[LEN(W_TotalCredit)-1,2]:"N"
   WRITE ENR_LIENCOMPTA ON F.LIENCOMPTA,W_NomFichier
   ENR_TEMPO<1>=W_NbEnr
   ENR_TEMPO<2>=W_TotalCredit
   WRITE ENR_TEMPO ON F.TEMPO,"RAPPORTCOMPTAFACT"

STOP
