************************************************************
*  moulinette qui slectionne les facturaide avec 13 = "3" *
*  (3 dcimales pour le taux)                              *
*  et qui rajoute un "3"  la fin du code de l'archivefact *
*  Vanessa                                                 *
*  janvier 2004                                            *
************************************************************

* Ouvertures des fichiers

EXECUTE "SET-THOUS ."
EXECUTE "SET-DEC ,"
EXECUTE "DATE.FORMAT"
OPEN "","FACTURAIDE" TO F.FACTURAIDE ELSE PRINT "OUVERTURE FACTURAIDE" ;* en lecture
OPEN "","ARCHIVEFACT" TO F.ARCHIVEFACT ELSE PRINT "OUVERTURE ARCHIVEFACT" ;* en criture
OPEN "","AIDESARCHIVEFACT" TO F.AIDESARCHIVEFACT ELSE PRINT "OUVERTURE AIDESARCHIVEFACT" ;* en criture

*********************************************************
* initialisation des variables
W_Sauve=""
W_RequeteFact=""
*********************************************************
* PROGRAMME PRINCIPAL

   W_Temp = 'SSELECT FACTURAIDE AVEC 13 = "3"'
   W_Temp = W_Temp:' AND AVEC 11 = "1"'
   W_Temp = W_Temp:' PAR 0'

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

   IF MSGCODE<1>=209 THEN
      STOP
   END ELSE
      SELECT F.FACTURAIDE TO W_RequeteFact
 
      W_End="FAUX"
    
      LOOP
         READNEXT W_CleFact FROM W_RequeteFact ELSE W_End = "VRAI"
      WHILE W_End = "FAUX" DO

         IF W_Sauve # W_CleFact[1,25] THEN
            W_Sauve = W_CleFact[1,25]
    
            W_Cle=W_CleFact[1,5]:W_CleFact[10,4]
            READ ENR_AIDESARCHIVEFACT FROM F.AIDESARCHIVEFACT,W_Cle ELSE ENR_AIDESARCHIVEFACT=""

            W_Att=W_CleFact[14,2]
            W_Count=DCOUNT(ENR_AIDESARCHIVEFACT<W_Att>,CHAR(253))

            FOR i = 1 TO W_Count
               IF ENR_AIDESARCHIVEFACT<W_Att,i>=W_Sauve THEN

                  READ ENR_ARCHIVEFACT FROM F.ARCHIVEFACT,W_Sauve ELSE ENR_ARCHIVEFACT=""
                  WRITE ENR_ARCHIVEFACT ON F.ARCHIVEFACT,W_Sauve:"3"
                  DELETE F.ARCHIVEFACT,W_Sauve


                  ENR_AIDESARCHIVEFACT<W_Att,i>=ENR_AIDESARCHIVEFACT<W_Att,i>:"3"
                  WRITE ENR_AIDESARCHIVEFACT ON F.AIDESARCHIVEFACT,W_Cle

                  EXIT

               END

            NEXT i

         END
      REPEAT
   END

STOP
