*********************************************************
*  gnration du fichier ARCHIVEBORDCAISSE		*
*  Programme chaine  partir d'un projet VB		*
*  spcifique fdration TROYES				*
*  Vanessa						*
*  OCTOBRE 2000						*
*********************************************************

* Ouvertures des fichiers

EXECUTE "DATE.FORMAT"
OPEN "","TEMPO" TO F.TEMPO ELSE PRINT "OUVERTURE TEMPO" ;* en criture
OPEN "","ACTIVITES" TO F.ACTIVITES ELSE PRINT "OUVERTURE ACTIVITES" ;* en lecture
OPEN "","ARCHIVEBORDCAISSE" TO F.ARCHIVEBORDCAISSE ELSE PRINT "OUVERTURE ARCHIVEBORDCAISSE" ;* en criture
OPEN "","ASSOCIATION" TO F.ASSOCIATION ELSE PRINT "OUVERTURE ASSOCIATION" ;* en lecture
OPEN "","ORGPRISECHARGE" TO F.ORGPRISECHARGE ELSE PRINT "OUVERTURE ORGPRISECHARGE" ;* en lecture
OPEN "","FACTURORG" TO F.FACTURORG ELSE PRINT "OUVERTURE FACTURORG" ;* en lecture criture
OPEN "","CIVILAIDE" TO F.CIVILAIDE ELSE PRINT "OUVERTURE CIVILAIDE";* en lecture
OPEN "","SECTEUR" TO F.SECTEUR ELSE PRINT "OUVERTURE SECTEUR";* en lecture
OPEN "","ACCORD" TO F.ACCORD ELSE PRINT "OUVERTURE ACCORD";* en lecture
OPEN "","TABLES" TO F.TABLES ELSE PRINT "OUVERTURE TABLES";* en lecture
OPEN "","FEDEASSOC" TO F.FEDEASSOC ELSE PRINT "OUVERTURE FEDEASSOC";* en lecture
OPEN "","FLUXCOMPTABLES" TO F.FLUXCOMPTABLES ELSE PRINT "OUVERTURE FLUXCOMPTABLES";* en lecture
OPEN "","FRAISGESTIONASSO" TO F.FRAISGESTIONASSO ELSE PRINT "OUVERTURE FRAISGESTIONASSO";* en lecture
*********************************************************
* initialisation des variables
ENR_ARCHIVEBORDCAISSE=""
W_Adresse=""
W_RequeteFacturOrg=""
W_TotalMontant=0
W_TotalHres=0
W_TotalHresComp=0
W_TotalMontBenef=0
W_TotalMontComp=0
W_TotalMontAPayer=0
W_TotalMontantComp=0
W_Rupture="FAUX"
ENR_FRAISGESTION=""
W_SauveAide=""
W_MemeAide="FAUX"
W_Aide="FAUX"
*********************************************************
* Recuperation des arguments

PROCREAD ARGUMENTS ELSE STOP
W_User=FIELD(ARGUMENTS," ",2)
W_PeriodeTrait=FIELD(ARGUMENTS," ",3)
W_Assoc=FIELD(ARGUMENTS," ",4)

W_Temp = ICONV("01/":W_PeriodeTrait[5,2]:"/":W_PeriodeTrait[1,4],"D4/")
W_Date = OCONV(W_Temp, "D")
GOSUB 300
W_PERIODETRAITCLAIR = W_Mois:" ":W_Date[8,4]
W_PERIODETRAITCLAIR=OCONV(W_PERIODETRAITCLAIR,"MCU")

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

   EXECUTE 'SSELECT FRAISGESTIONASSO AVEC CodeFedeAsso = "':W_Assoc:'" AND AVEC 0 = "[':W_PeriodeTrait:'"'
  
   W_Fini="FAUX"
   LOOP 
      READNEXT W_Cle ELSE W_Fini="VRAI"
   WHILE W_Fini="FAUX" DO
      READ ENR_FRAISGESTION FROM F.FRAISGESTIONASSO,W_Cle THEN
         DELETE F.FRAISGESTIONASSO,W_Cle
      END
   REPEAT

   EXECUTE "SET-DEC ,"
   EXECUTE "SET-THOUS ."

   READ ENR_TEMPO FROM F.TEMPO,"ARCHIVEBORDCAISSE":W_User ELSE ENR_TEMPO=""
   READ ENR_TEMPOREQUETE FROM F.TEMPO,"REQUETEFACTURORG":W_User ELSE ENR_TEMPOREQUETE=""

   l=1
   W_TempFact=ENR_TEMPOREQUETE<1>
   LOOP 
      W_Field=FIELD(W_TempFact,"|",l)
   WHILE W_Field # "" DO
      W_RequeteFacturOrg<l>=W_Field
      l=l+1
   REPEAT

   j=1
   l=1

   READ ENR_FLUXCOMPTABLES FROM F.FLUXCOMPTABLES,W_RequeteFacturOrg<l> ELSE ENR_FLUXCOMPTABLES=""

   IF ENR_FLUXCOMPTABLES<2> # "" THEN
      READ ENR_FACTURORG FROM F.FACTURORG,ENR_FLUXCOMPTABLES<2> ELSE ENR_FACTURORG=""
   END ELSE
      IF ENR_FLUXCOMPTABLES<4>#"" AND ENR_FLUXCOMPTABLES<6>#"" THEN
         ENR_FACTURORG=""
         ENR_FACTURORG<1>=ENR_FLUXCOMPTABLES<6>
         ENR_FACTURORG<2>=(ENR_FLUXCOMPTABLES<17>*100)/ENR_FLUXCOMPTABLES<6>
		IF ENR_FACTURORG<2> >= 0 THEN
				ENR_FACTURORG<2>=INT(ENR_FACTURORG<2> + (1/2))
		END ELSE
				ENR_FACTURORG<2>=INT(ENR_FACTURORG<2> - (1/2))
		END		 
		 
		 * ENR_FACTURORG<2>=INT(ABS(ENR_FLUXCOMPTABLES<17>)*100/ABS(ENR_FLUXCOMPTABLES<6>)+1/2)
         ENR_FACTURORG<4>=ENR_FLUXCOMPTABLES<7>
         W_CoutTarifSpecif=INT(((ENR_FLUXCOMPTABLES<7>*100)+(ENR_FLUXCOMPTABLES<17>*100))/ENR_FLUXCOMPTABLES<6>+1/2)
	   
      END
   END
   W_SauveOrga=ENR_FLUXCOMPTABLES<4>
   W_SauveAide=W_RequeteFacturOrg<l>[1,5]
   READ ENR_CIVILAIDE FROM F.CIVILAIDE,W_RequeteFacturOrg<l>[1,5] ELSE ENR_CIVILAIDE=""
   W_SauveSecteur = ENR_CIVILAIDE<40>[1,3]
   W_SauvePeriode=W_RequeteFacturOrg<l>[12,6]
   W_SauveNumFact=ENR_FLUXCOMPTABLES<3>

   * Entete
   READ ENR_ORGPRISECHARGE FROM F.ORGPRISECHARGE,ENR_FLUXCOMPTABLES<4> ELSE ENR_ORGPRISECHARGE=""
	IF ENR_FLUXCOMPTABLES<4>="000" THEN
		ENR_ORGPRISECHARGE<18>="P"
	END
   GOSUB 10

   GOSUB 60
   GOSUB 70

   W_CountFacturOrg=DCOUNT(W_RequeteFacturOrg,CHAR(254))

   FOR l = 2 TO W_CountFacturOrg
      READ ENR_FLUXCOMPTABLES FROM F.FLUXCOMPTABLES,W_RequeteFacturOrg<l> ELSE ENR_FLUXCOMPTABLES=""

      IF ENR_FLUXCOMPTABLES<2> # "" THEN
   	 READ ENR_FACTURORG FROM F.FACTURORG,ENR_FLUXCOMPTABLES<2> ELSE ENR_FACTURORG=""
      END ELSE
         IF ENR_FLUXCOMPTABLES<4>#"" AND ENR_FLUXCOMPTABLES<6>#"" THEN
            ENR_FACTURORG=""
            ENR_FACTURORG<1>=ENR_FLUXCOMPTABLES<6>
	        ENR_FACTURORG<2>=(ENR_FLUXCOMPTABLES<17>*100)/ENR_FLUXCOMPTABLES<6>
			IF ENR_FACTURORG<2> >= 0 THEN
					ENR_FACTURORG<2>=INT(ENR_FACTURORG<2> + (1/2))
			END ELSE
					ENR_FACTURORG<2>=INT(ENR_FACTURORG<2> - (1/2))
			END	
            *ENR_FACTURORG<2>=INT(ABS(ENR_FLUXCOMPTABLES<17>)*100/ABS(ENR_FLUXCOMPTABLES<6>)+1/2)
            ENR_FACTURORG<4>=ENR_FLUXCOMPTABLES<7>
			W_CoutTarifSpecif=INT(((ENR_FLUXCOMPTABLES<7>*100)+(ENR_FLUXCOMPTABLES<17>*100))/ENR_FLUXCOMPTABLES<6>+1/2)
         END
      END

      * Rupture sur secteur
      READ ENR_CIVILAIDE FROM F.CIVILAIDE,W_RequeteFacturOrg<l>[1,5] ELSE ENR_CIVILAIDE=""

      W_MemeAide="FAUX"
      IF W_SauveSecteur <> ENR_CIVILAIDE<40>[1,3] THEN
         W_Rupture="VRAI"
         GOSUB 30

         W_Cle = W_Assoc:W_SauvePeriode:W_SauveSecteur
         WRITE ENR_ARCHIVEBORDCAISSE ON F.ARCHIVEBORDCAISSE,W_Cle
         ENR_ARCHIVEBORDCAISSE=""
         ENR_TEMPO=REPLACE(ENR_TEMPO,1,j;W_Cle)

         W_SauveSecteur = ENR_CIVILAIDE<40>[1,3]
         W_SauvePeriode=W_RequeteFacturOrg<l>[12,6]
         W_SauveNumFact=ENR_FLUXCOMPTABLES<3>

         j=j+1
         READ ENR_ORGPRISECHARGE FROM F.ORGPRISECHARGE,ENR_FLUXCOMPTABLES<4> ELSE ENR_ORGPRISECHARGE=""
		 IF ENR_FLUXCOMPTABLES<4>="000" THEN
			ENR_ORGPRISECHARGE<18>="P"
		 END
         GOSUB 10

         W_TotalMontant=0
         W_TotalHres=0
         W_TotalHresComp=0
         W_TotalMontBenef=0
         W_TotalMontComp=0
         W_TotalMontAPayer=0
         W_TotalMontantComp=0

         GOSUB 60
         GOSUB 70
  
      END ELSE
  
         * Rupture sur priode
         IF W_SauvePeriode <> W_RequeteFacturOrg<l>[12,6] THEN

            W_Rupture="VRAI" 
            GOSUB 30
  
            W_Cle = W_Assoc:W_SauvePeriode:W_SauveSecteur
            WRITE ENR_ARCHIVEBORDCAISSE ON F.ARCHIVEBORDCAISSE,W_Cle
            ENR_ARCHIVEBORDCAISSE=""
            ENR_TEMPO=REPLACE(ENR_TEMPO,1,j;W_Cle)

            W_SauveSecteur = ENR_CIVILAIDE<40>[1,3]
            W_SauvePeriode=W_RequeteFacturOrg<l>[12,6]
            W_SauveNumFact=ENR_FLUXCOMPTABLES<3>

            j=j+1
            READ ENR_ORGPRISECHARGE FROM F.ORGPRISECHARGE,ENR_FLUXCOMPTABLES<4> ELSE ENR_ORGPRISECHARGE=""
			IF ENR_FLUXCOMPTABLES<4>="000" THEN
				ENR_ORGPRISECHARGE<18>="P"
			END			
            GOSUB 10

            W_TotalMontant=0
            W_TotalHres=0
            W_TotalHresComp=0
            W_TotalMontBenef=0
            W_TotalMontComp=0
            W_TotalMontAPayer=0
            W_TotalMontantComp=0

            GOSUB 60
            GOSUB 70
 
         END ELSE
 
            IF W_Rupture # "VRAI" THEN

               READ ENR_ORGPRISECHARGE FROM F.ORGPRISECHARGE,ENR_FLUXCOMPTABLES<4> ELSE ENR_ORGPRISECHARGE=""
				IF ENR_FLUXCOMPTABLES<4>="000" THEN
					ENR_ORGPRISECHARGE<18>="P"
				END			   
			   
               IF W_SauveAide=W_RequeteFacturOrg<l>[1,5] THEN
                  W_MemeAide="VRAI"
               END
      	       GOSUB 70

            END
         END

      END

      W_Rupture="FAUX"
      W_SauveAide=W_RequeteFacturOrg<l>[1,5]
   NEXT l

   GOSUB 30

   W_Cle = W_Assoc:W_SauvePeriode:W_SauveSecteur
   WRITE ENR_ARCHIVEBORDCAISSE ON F.ARCHIVEBORDCAISSE,W_Cle
   ENR_ARCHIVEBORDCAISSE=""
   ENR_TEMPO=REPLACE(ENR_TEMPO,1,j;W_Cle)

   WRITE ENR_TEMPO ON F.TEMPO,"ARCHIVEBORDCAISSE":W_User

   EXECUTE "SET-DEC ."
   EXECUTE "SET-THOUS ,"

STOP

*****************************************************************************
*  MAJ du fichier ARCHIVEBORDCAISSE - Entete

10

   * ENTETE
   ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,1;"#1")

   READ ENR_ASSOCIATION FROM F.ASSOCIATION,"001" ELSE ENR_ASSOCIATION=""
   ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,2;ENR_ASSOCIATION<2>)

   W_Rang = 2
   IF ENR_ASSOCIATION<3> # "" THEN
      W_Adresse = ENR_ASSOCIATION<3>:" "
   END
   IF ENR_ASSOCIATION<4> # "" THEN
      W_Adresse = W_Adresse:ENR_ASSOCIATION<4>:" "
   END
   IF ENR_ASSOCIATION<5> # "" THEN
      W_Adresse = W_Adresse:ENR_ASSOCIATION<5>:" "
   END
   IF ENR_ASSOCIATION<6> # "" THEN
      W_Adresse = W_Adresse:ENR_ASSOCIATION<6>:" "
   END
   IF W_Adresse # "" THEN
      W_Rang = W_Rang+1
      ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang;W_Adresse)
   END
   IF ENR_ASSOCIATION<7> # "" THEN
      W_Rang = W_Rang+1
      ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang;ENR_ASSOCIATION<7>)
   END
   W_Rang = W_Rang+1
   W_TempAdr = ENR_ASSOCIATION<8>:" ":ENR_ASSOCIATION<9>
   IF ENR_ASSOCIATION<10>="1" THEN
      W_TempAdr = W_TempAdr:" Cedex ":ENR_ASSOCIATION<11>
   END
   ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang;W_TempAdr)
   
   W_Rang = W_Rang+1
   ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang;"%")
   W_Rang = W_Rang+1

   ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang;"BORDEREAU DE REGLEMENT ":W_PERIODETRAITCLAIR)

   W_Rang = W_Rang+1
   READ ENR_FEDEASSOC FROM F.FEDEASSOC,W_Assoc ELSE ENR_FEDEASSOC=""
   ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,1;"Association : ":W_Assoc:" ":ENR_FEDEASSOC<1>)
   
   W_Rang = W_Rang+1

   W_Adresse=""
   IF ENR_FEDEASSOC<3> # "" THEN
      W_Adresse = ENR_FEDEASSOC<3>:" "
   END
   IF ENR_FEDEASSOC<4> # "" THEN
      W_Adresse = W_Adresse:ENR_FEDEASSOC<4>:" "
   END
   IF ENR_FEDEASSOC<5> # "" THEN
      W_Adresse = W_Adresse:ENR_FEDEASSOC<5>:" "
   END
   IF ENR_FEDEASSOC<6> # "" THEN
      W_Adresse = W_Adresse:ENR_FEDEASSOC<6>:" "
   END
   IF W_Adresse # "" THEN
      ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,1;W_Adresse)
   END

   W_Rang = W_Rang+1
   IF ENR_FEDEASSOC<7> # "" THEN
      ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,1;ENR_FEDEASSOC<7>)
   END

   W_Rang = W_Rang+1
   W_TempAdr=""
   W_TempAdr = ENR_FEDEASSOC<8>:" ":ENR_FEDEASSOC<9>
   IF ENR_FEDEASSOC<10>="1" THEN
      W_TempAdr = W_TempAdr:" Cedex ":ENR_FEDEASSOC<11>
   END
   ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,1;W_TempAdr)

   W_Rang = W_Rang+1
   ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang;"%")

   READ ENR_CIVILAIDE FROM F.CIVILAIDE,W_RequeteFacturOrg<l>[1,5] ELSE ENR_CIVILAIDE=""
   READ ENR_SECTEUR FROM F.SECTEUR,ENR_CIVILAIDE<40>[1,3] ELSE ENR_SECTEUR=""

   W_Rang = W_Rang+1
   ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,1;"Secteur     : ":ENR_SECTEUR<1>)

   W_Temp = ICONV("01/":W_RequeteFacturOrg<l>[16,2]:"/":W_RequeteFacturOrg<l>[12,4],"D4/")
   W_Date = OCONV(W_Temp, "D")
   GOSUB 300
   W_Date = W_Mois:" ":W_Date[8,4]

   ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,2;"Periode de facturation : ":OCONV(W_Date,"MCU"))

RETURN

*****************************************************************************
*  MAJ du fichier ARCHIVEBORDCAISSE - Fin tableau bordereau

30

   W_Rang=W_Rang+1
   ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang;"#4")

   W_Rang = W_Rang+1
   ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,1;SPACE(40))
   ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,2;SPACE(24))

   W_Str="R26(#10)"
   ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,3;W_TotalHres W_Str)

   W_Str="R26(#9)"
   ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,4;W_TotalMontant W_Str)

   ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,5;SPACE(9))

   W_Str="R26(#10)"
   ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,6;W_TotalMontBenef W_Str)

   W_Str="R26(#9)"
   ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,7;W_TotalMontAPayer W_Str)

   W_Rang = W_Rang+1
   ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,1;SPACE(40))
   ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,2;SPACE(24))

   W_Str="R26(#10)"
   ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,3;W_TotalHresComp W_Str)

   W_Str="R26(#9)"
**   ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,4;W_TotalMontantComp W_Str)
   ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,4;SPACE(9))

   ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,5;SPACE(9))

   W_Str="R26(#10)"
   W_TotalMontComp=W_TotalMontComp*(-1)
   ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,6;W_TotalMontComp W_Str)

   ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,7;SPACE(9))

   W_Rang = W_Rang+1
   ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,1;W_TotalMontBenef-W_TotalMontComp W_Str)

RETURN

*****************************************************************************
*  MAJ du fichier ARCHIVEBORDCAISSE - entete tableau bordereau facture

60

   W_Rang = W_Rang+1
   ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang;"#2")

   W_Rang = W_Rang+1
   ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,1;"           BENEFICIAIRE ET ADRESSE      ")
   ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,2;"  LIBELLE               ")
   ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,3;"TYPE")
   ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,4;"   HEURES   TAUX")
   ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,5;" MONTANT ")
   ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,6;"  PART.  ")
   ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,7;" MONTANT  ")
   ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,8;" MONTANT ")

   W_Rang = W_Rang+1
   ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,1;SPACE(40))
   ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,2;SPACE(24))
   ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,3;SPACE(5))
   ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,4;"  EFFECT.  REMB")
   ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,5;" TOTAL   ")
   ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,6;"  BENEF. ")
   ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,7;" BENEF.   ")
   ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,8;" CAISSE  ")

   W_Rang = W_Rang+1
   ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang;"#3")

RETURN

*****************************************************************************
*  MAJ du fichier ARCHIVEBORDCAISSE - Imprime dtail bordereau facture

70

   W_Att5 = "FAUX"
   W_Premier="FAUX"
   ENR_FRAISGESTION=""

   IF (ENR_FLUXCOMPTABLES<2>#"" AND ENR_FLUXCOMPTABLES<1>#"") OR (ENR_FLUXCOMPTABLES<1>#"" AND ENR_FLUXCOMPTABLES<2>="" AND ENR_FLUXCOMPTABLES<4>#"" AND ENR_FLUXCOMPTABLES<6>#"") THEN

   	READ ENR_FRAISGESTION FROM F.FRAISGESTIONASSO,W_Assoc:W_SauveSecteur:ENR_FLUXCOMPTABLES<4>:W_PeriodeTrait ELSE ENR_FRAISGESTION=""

	W_Aide="FAUX"
   	* traite les MV en att. 1  4
   	W_CountFact=DCOUNT(ENR_FACTURORG<1>,CHAR(253))
   	FOR k = 1 TO W_CountFact
     		m=1
      		LOOP 
      		WHILE ENR_FRAISGESTION<1,m> # "" AND ENR_FRAISGESTION<1,m> < W_RequeteFacturOrg<l>[12,6] DO
         		m=m+1
      		REPEAT
     
      		IF ENR_FRAISGESTION<1,m>=W_RequeteFacturOrg<l>[12,6] THEN
         		ENR_FRAISGESTION<2,m>=ENR_FRAISGESTION<2,m> + ENR_FACTURORG<1,k>
         		ENR_FRAISGESTION<3,m>=ENR_FRAISGESTION<3,m> + ENR_FACTURORG<4,k>
         		ENR_FRAISGESTION<7,m>=ENR_FRAISGESTION<7,m> + INT((ENR_FACTURORG<1,k> * ENR_FACTURORG<2,k>)/100 + (1/2))
      		END ELSE
         		ENR_FRAISGESTION=INSERT(ENR_FRAISGESTION,1,m;W_RequeteFacturOrg<l>[12,6])
         		ENR_FRAISGESTION=INSERT(ENR_FRAISGESTION,2,m;ENR_FACTURORG<1,k>)
         		ENR_FRAISGESTION=INSERT(ENR_FRAISGESTION,3,m;ENR_FACTURORG<4,k>)
         		ENR_FRAISGESTION=INSERT(ENR_FRAISGESTION,7,m;INT((ENR_FACTURORG<1,k> * ENR_FACTURORG<2,k>)/100 + (1/2)))
      		END

      		W_Rang=W_Rang+1
      		GOSUB 200

      		IF ENR_ORGPRISECHARGE<39>="M" THEN
         		ENR_FRAISGESTION<3,m>=ENR_FRAISGESTION<3,m>+ENR_FACTURORG<4,2>
         		EXIT
      		END
   	NEXT k
 
   	* Traite les att. 5  8
   	IF ENR_FACTURORG<5> # "" THEN

      	m=1
      	LOOP 
      	WHILE ENR_FRAISGESTION<4,m> # "" AND ENR_FRAISGESTION<4,m> < W_RequeteFacturOrg<l>[12,6] DO
         	m=m+1
      	REPEAT
      	IF ENR_FRAISGESTION<4,m>=W_RequeteFacturOrg<l>[12,6] THEN
         	ENR_FRAISGESTION<5,m>=ENR_FRAISGESTION<5,m> + ENR_FACTURORG<5>
         	ENR_FRAISGESTION<6,m>=ENR_FRAISGESTION<6,m> + ENR_FACTURORG<8>
         	ENR_FRAISGESTION<8,m>=ENR_FRAISGESTION<8,m> + INT((ENR_FACTURORG<5> * ENR_FACTURORG<6>)/100 + (1/2))
      	END ELSE
        	ENR_FRAISGESTION=INSERT(ENR_FRAISGESTION,4,m;W_RequeteFacturOrg<l>[12,6])
         	ENR_FRAISGESTION=INSERT(ENR_FRAISGESTION,5,m;ENR_FACTURORG<5>)
         	ENR_FRAISGESTION=INSERT(ENR_FRAISGESTION,6,m;ENR_FACTURORG<8>)
         	ENR_FRAISGESTION=INSERT(ENR_FRAISGESTION,8,m;INT((ENR_FACTURORG<5> * ENR_FACTURORG<6>)/100 + (1/2)))
      	END

      	W_Rang=W_Rang+1
      	W_Att5="VRAI"
      	k=1
      	GOSUB 200

   	END

	WRITE ENR_FRAISGESTION ON F.FRAISGESTIONASSO,W_Assoc:W_SauveSecteur:ENR_FLUXCOMPTABLES<4>:W_PeriodeTrait

   END ELSE
	IF ENR_FLUXCOMPTABLES<36>#"" THEN
		W_Aide="VRAI"
      		W_Rang=W_Rang+1
      		GOSUB 200
	END

   END

RETURN

*****************************************************************************
*  Recherche information paramtrage

200
      
   IF W_Premier = "FAUX" THEN

      IF W_MemeAide="FAUX" THEN
         * nom bnficiaire
         W_Temp=ENR_CIVILAIDE<2>:" ":ENR_CIVILAIDE<3>
         IF LEN(W_Temp) > 40 THEN
            ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,1;W_Temp[1,40])
         END ELSE
            ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,1;W_Temp:SPACE(40-LEN(W_Temp)))
         END 

         W_Adresse=""
         IF ENR_CIVILAIDE<5> # "" THEN
            W_Adresse = ENR_CIVILAIDE<5>:" "
         END
         IF ENR_CIVILAIDE<6> # "" THEN
            W_Adresse = W_Adresse:ENR_CIVILAIDE<6>:" "
         END
         IF ENR_CIVILAIDE<7> # "" THEN
            W_Adresse = W_Adresse:ENR_CIVILAIDE<7>:" "
         END
         IF ENR_CIVILAIDE<8> # "" THEN
            W_Adresse = W_Adresse:ENR_CIVILAIDE<8>:" "
         END
         IF W_Adresse # "" THEN
            W_Rang = W_Rang+1
	    IF LEN(W_Adresse) > 40 THEN
                ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,1;W_Adresse[1,40])
            END ELSE
               ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,1;W_Adresse:SPACE(40-LEN(W_Adresse)))
            END
         END

         IF W_Adresse = "" AND ENR_CIVILAIDE<9> # "" THEN
            W_Rang = W_Rang+1
	    IF LEN(ENR_CIVILAIDE<9>) > 40 THEN
               ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,1;ENR_CIVILAIDE<9>[1,40])
            END ELSE
               ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,1;ENR_CIVILAIDE<9>:SPACE(40-LEN(ENR_CIVILAIDE<9>)))
            END
         END

         W_Rang = W_Rang+1
         W_TempAdr=""
         W_TempAdr = ENR_CIVILAIDE<10>:" ":ENR_CIVILAIDE<11>
         IF ENR_CIVILAIDE<12>="1" THEN
            W_TempAdr = W_TempAdr:" Cedex ":ENR_CIVILAIDE<13>
         END
         IF LEN(W_TempAdr) > 40 THEN
            ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,1;W_TempAdr[1,40])
         END ELSE
            ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,1;W_TempAdr:SPACE(40-LEN(W_TempAdr)))
         END
      END
   
      * organisme
      W_Temp=ENR_ORGPRISECHARGE<1>
      IF ENR_FLUXCOMPTABLES<2>="" THEN W_Temp=ENR_FLUXCOMPTABLES<16>
      IF W_Temp = "" THEN
         W_Temp = "TAUX PRESTATION"
      END
      IF LEN(W_Temp) > 24 THEN
         ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,2;W_Temp[1,24])
      END ELSE
         ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,2;W_Temp:SPACE(24-LEN(W_Temp)))
      END 

      W_Premier="VRAI"
   END

   IF W_Aide="VRAI" THEN
      	* libelle
     	W_Temp=ENR_FLUXCOMPTABLES<16>
      	IF LEN(W_Temp) > 24 THEN
         	ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,2;W_Temp[1,24])
      	END ELSE
         	ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,2;W_Temp:SPACE(24-LEN(W_Temp)))
      	END 
   END

   IF W_Aide="FAUX" THEN
   	* type de tarif
   	IF W_Att5="FAUX" THEN
      		ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,3;"SEM.")
   	END ELSE
      		ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,3;"MAJ.")
  	END

	* heures effectues
     	W_Str="R26,(#10)"
   	IF W_Att5="FAUX" THEN
      		ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,4;ENR_FACTURORG<1,k> W_Str)

      		IF ENR_ORGPRISECHARGE<18>="P" THEN
         		W_TotalHres=W_TotalHres + ENR_FACTURORG<1,k>
      		END ELSE
         		W_TotalHresComp = W_TotalHresComp + ENR_FACTURORG<1,k>
      		END
   	END ELSE
      		ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,4;ENR_FACTURORG<5,k> W_Str)

      		IF ENR_ORGPRISECHARGE<18>="P" THEN
         		W_TotalHres=W_TotalHres + ENR_FACTURORG<5,k>
      		END ELSE
         		W_TotalHresComp = W_TotalHresComp + ENR_FACTURORG<5,k>
      		END
   	END

   	* montant total
   	W_Str="R26,(#9)"
   	z=1
   	LOOP
      		W_PeriodeDate=OCONV(ENR_ORGPRISECHARGE<25,z>,"D4/")
      		W_PeriodeDate=W_PeriodeDate[7,4]:W_PeriodeDate[4,2]
   	UNTIL W_RequeteFacturOrg<l>[12,6] >= W_PeriodeDate OR W_PeriodeDate=""
      		z=z+1
   	REPEAT

   	IF ENR_ORGPRISECHARGE<26,z> = 0 THEN
      		z2=1
      		LOOP
         		W_PeriodeDate2=OCONV(ENR_FEDEASSOC<49,z2>,"D4/")
         		W_PeriodeDate2=W_PeriodeDate2[7,4]:W_PeriodeDate2[4,2]
      		UNTIL W_RequeteFacturOrg<l>[12,6] >= W_PeriodeDate2 AND ENR_FEDEASSOC<50,z2> = 2 OR W_PeriodeDate2=""
         		z2=z2+1
      		REPEAT
	
		* Pas trouver dans l'association donc recherche dans l'activit
		IF W_PeriodeDate2="" THEN
	   		READ ENR_ACTIVITES FROM F.ACTIVITES,ENR_ORGPRISECHARGE<47,1> ELSE ENR_ACTIVITES=""
         		z2=1
         		LOOP
            			W_PeriodeDate2=OCONV(ENR_ACTIVITES<15,z2>,"D4/")
            			W_PeriodeDate2=W_PeriodeDate2[7,4]:W_PeriodeDate2[4,2]
         		UNTIL W_RequeteFacturOrg<l>[12,6] >= W_PeriodeDate2 AND ENR_FEDEASSOC<20,z2> = 2 OR W_PeriodeDate2=""
            			z2=z2+1
         		REPEAT
	 		IF W_PeriodeDate2="" THEN
	      			W_CoutTarif=0
            			W_CoutMajTarif=0
        		END ELSE
	    			W_CoutTarif=ENR_ACTIVITES<14,z2>
            			W_CoutMajTarif=ENR_ACTIVITES<16,z2>
         		END

      		END ELSE
	  		W_CoutTarif=ENR_FEDEASSOC<51,z2>
        		W_CoutMajTarif=ENR_FEDEASSOC<52,z>
     		END

        	IF ENR_FLUXCOMPTABLES<2>="" THEN
			W_CoutTarif=W_CoutTarifSpecif
			W_CoutMajTarif=W_CoutTarifSpecif
		END
   	END

   	* MAJ 28/02/05 : ajout d'une colonne Taux
   	IF ENR_ORGPRISECHARGE<1> # "" THEN
     		IF ENR_ORGPRISECHARGE<18>#"C" THEN
      			IF ENR_ORGPRISECHARGE<26,z> = 0 THEN 
       				IF W_Att5="FAUX" THEN
        				ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,4;ENR_ARCHIVEBORDCAISSE<W_Rang,4>:" ":W_CoutTarif "MR2")
       				END ELSE
        				ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,4;ENR_ARCHIVEBORDCAISSE<W_Rang,4>:" ":W_CoutMajTarif "MR2")
       				END
      			END ELSE
					IF ENR_FLUXCOMPTABLES<2>="" THEN
	       					IF W_Att5="FAUX" THEN
	        					ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,4;ENR_ARCHIVEBORDCAISSE<W_Rang,4>:" ":W_CoutTarifSpecif "MR2")
	       					END ELSE
	        					ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,4;ENR_ARCHIVEBORDCAISSE<W_Rang,4>:" ":W_CoutTarifSpecif "MR2")
	       					END
					END ELSE
	       					IF W_Att5="FAUX" THEN
	        					ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,4;ENR_ARCHIVEBORDCAISSE<W_Rang,4>:" ":ENR_ORGPRISECHARGE<26,z> "MR2")
	       					END ELSE
	        					ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,4;ENR_ARCHIVEBORDCAISSE<W_Rang,4>:" ":ENR_ORGPRISECHARGE<27,z> "MR2")
	       					END
					END
      			END
     		END ELSE
				ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,4;ENR_ARCHIVEBORDCAISSE<W_Rang,4>:" ":SPACE(5))
     		END
   	END ELSE
		ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,4;ENR_ARCHIVEBORDCAISSE<W_Rang,4>:"      ")

   	END

   	IF W_Att5="FAUX" THEN
      		IF ENR_ORGPRISECHARGE<26,z> = 0 THEN
				IF ENR_FACTURORG<1,k>>=0 THEN
	       				W_MontTotal=INT((ENR_FACTURORG<1,k> * W_CoutTarif / 100) + (1/2))
				END ELSE
	       				W_MontTotal=INT((ENR_FACTURORG<1,k> * W_CoutTarif / 100) - (1/2))
				END
      		END ELSE
				IF ENR_FACTURORG<1,k>>=0 THEN
	       				W_MontTotal=INT((ENR_FACTURORG<1,k> * ENR_ORGPRISECHARGE<26,z> / 100) + (1/2))
				END ELSE
	       				W_MontTotal=INT((ENR_FACTURORG<1,k> * ENR_ORGPRISECHARGE<26,z> / 100) - (1/2))
				END
      		END
      		IF ENR_ORGPRISECHARGE<18>#"C" THEN
         		W_TotalMontant=W_TotalMontant+W_MontTotal
         		ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,5;W_MontTotal W_Str)

      		END ELSE
         		W_TotalMontantComp=W_TotalMontantComp+W_MontTotal
				ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,5;SPACE(9))

      		END

   	END ELSE
      		IF ENR_ORGPRISECHARGE<26,z> = 0 THEN
				IF ENR_FACTURORG<5>>=0 THEN
	        			W_MontTotal=INT((ENR_FACTURORG<5> * W_CoutMajTarif / 100) + (1/2))
				END ELSE
	        			W_MontTotal=INT((ENR_FACTURORG<5> * W_CoutMajTarif / 100) - (1/2))
				END
			END ELSE
				IF ENR_FACTURORG<5>>=0 THEN
		  			W_MontTotal=INT((ENR_FACTURORG<5> * ENR_ORGPRISECHARGE<27,z> / 100) + (1/2))
				END ELSE
		  			W_MontTotal=INT((ENR_FACTURORG<5> * ENR_ORGPRISECHARGE<27,z> / 100) - (1/2))
				END
      		END
      		IF ENR_ORGPRISECHARGE<18>#"C" THEN
         		W_TotalMontant=W_TotalMontant+W_MontTotal
         		ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,5;W_MontTotal W_Str)

      		END ELSE
         		W_TotalMontantComp=W_TotalMontantComp+W_MontTotal
				ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,5;SPACE(9))
      		END

   	END

   	* part. bnficiaire
    W_Str="R26,(#9)"
	IF ENR_FLUXCOMPTABLES<36>=ENR_FLUXCOMPTABLES<1> THEN
     		IF W_Att5="FAUX" THEN
        		ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,6;ABS(ENR_FACTURORG<2,k>) W_Str)
     		END ELSE
        		ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,6;ENR_FACTURORG<6,k> W_Str)
     		END
	END ELSE
		IF ENR_FLUXCOMPTABLES<36>#"" AND ENR_FLUXCOMPTABLES<1>="" THEN
     			IF W_Att5="FAUX" THEN
        			ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,6;ABS(ENR_FACTURORG<2,k>) W_Str)
     			END ELSE
        			ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,6;ENR_FACTURORG<6,k> W_Str)
     			END
		END ELSE
        		ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,6;"         ")
		END
	END
   END ELSE
      	ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,3;"    ")
      	ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,4;SPACE(16))
		ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,5;SPACE(9))
		ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,6;SPACE(9))
   END

   IF W_Aide="FAUX" THEN

	   	* montant bnficiaire
	   	W_Str="R26,(#10)"
		IF ENR_FLUXCOMPTABLES<36>=ENR_FLUXCOMPTABLES<1> THEN	
		   	IF ENR_ORGPRISECHARGE<18>="C" THEN
					*W_MontBenef=ENR_FACTURORG<4,k>*(-1)
	      			*W_MontBenef=INT((ENR_FACTURORG<1,k>*ENR_FACTURORG<2,k> / 100) + (1/2))
	      			*W_TotalMontComp=W_TotalMontComp + W_MontBenef
					
		   	END ELSE
	    			IF W_Att5="FAUX" THEN
						W_MontBenef=(ENR_FACTURORG<1,k>*ENR_FACTURORG<2,k> / 100)
						IF W_MontBenef >= 0 THEN
		      				W_MontBenef=INT(W_MontBenef + (1/2))
						END ELSE
		      				W_MontBenef=INT(W_MontBenef - (1/2))
						END
	      				ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,7;W_MontBenef W_Str)
		      			W_TotalMontBenef=W_TotalMontBenef + W_MontBenef
	    			END ELSE
						W_MontBenef=(ENR_FACTURORG<5,k>*ENR_FACTURORG<6,k> / 100)
						IF W_MontBenef >= 0 THEN
		      				W_MontBenef=INT(W_MontBenef + (1/2))
						END ELSE
		      				W_MontBenef=INT(W_MontBenef - (1/2))
						END
	      				ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,7;W_MontBenef W_Str)
		      			W_TotalMontBenef=W_TotalMontBenef+W_MontBenef
	    			END
	   		END
		END ELSE
			IF ENR_FLUXCOMPTABLES<36>#"" AND ENR_FLUXCOMPTABLES<1>="" THEN
			   	IF ENR_ORGPRISECHARGE<18>="C" THEN
						*W_MontBenef=ENR_FACTURORG<4,k>*(-1)
	      				*W_MontBenef=INT((ENR_FACTURORG<1,k>*ENR_FACTURORG<2,k> / 100) + (1/2))
	      				*W_TotalMontComp=W_TotalMontComp + W_MontBenef
							
				END ELSE
	    				IF W_Att5="FAUX" THEN
							W_MontBenef=(ENR_FACTURORG<1,k>*ENR_FACTURORG<2,k> / 100)
							IF W_MontBenef >= 0 THEN
		      						W_MontBenef=INT(W_MontBenef + (1/2))
							END ELSE
		      						W_MontBenef=INT(W_MontBenef - (1/2))
							END
		      				ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,7;W_MontBenef W_Str)
			      			W_TotalMontBenef=W_TotalMontBenef + W_MontBenef
	    				END ELSE
							W_MontBenef=(ENR_FACTURORG<5,k>*ENR_FACTURORG<6,k> / 100) 
							IF W_MontBenef >= 0 THEN
		      						W_MontBenef=INT(W_MontBenef + (1/2))
							END ELSE
		      						W_MontBenef=INT(W_MontBenef - (1/2))
							END
	      					ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,7;W_MontBenef W_Str)
			      			W_TotalMontBenef=W_TotalMontBenef+W_MontBenef
	    				END
	   			END
			END ELSE
				W_MontBenef=0
	      		ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,7;"          ")
			END
		END
   END ELSE
	   	W_Str="R26,(#9)"
	   	W_Str1="R26,(#10)"
		IF ENR_ORGPRISECHARGE<18>="C" THEN
			W_TotalMontComp=W_TotalMontComp + ENR_FLUXCOMPTABLES<17>
			W_MONTCOMPAIDE=ENR_FLUXCOMPTABLES<17>
	        ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,7;W_MONTCOMPAIDE W_Str1)
		END ELSE
	        ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,7;ENR_FLUXCOMPTABLES<17> W_Str1)
	      	W_TotalMontBenef=W_TotalMontBenef+ENR_FLUXCOMPTABLES<17>
		END
   END

   * montant  payer
   IF W_Aide="FAUX" THEN
   	W_Str="R26,(#9)"
	W_Str1="R26,(#10)"
   	IF ENR_ORGPRISECHARGE<18>="P" THEN
      		W_TempMont=W_MontTotal - W_MontBenef
      		ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,8;W_TempMont W_Str)
      		W_TotalMontAPayer=W_TotalMontAPayer+W_TempMont
   	END ELSE
		IF ENR_FLUXCOMPTABLES<36>=ENR_FLUXCOMPTABLES<1> THEN
      			IF W_Att5="FAUX" THEN
         			W_TempMont=ENR_FACTURORG<4,k>
         			W_TempMontBis=ENR_FACTURORG<4,k>*(-1)			
					ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,7;W_TempMontBis W_Str1)
        	 		ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,8;W_TempMont W_Str)
         			W_TotalMontAPayer=W_TotalMontAPayer+W_TempMont
            		W_TotalMontComp=W_TotalMontComp + W_TempMontBis

	      		END ELSE
        	 		W_TempMont=ENR_FACTURORG<8,k>
         			W_TempMontBis=ENR_FACTURORG<8,k>*(-1)	
					ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,7;W_TempMontBis W_Str1)
         			ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,8;W_TempMont W_Str)
	         		W_TotalMontAPayer=W_TotalMontAPayer+W_TempMont
        	    	W_TotalMontComp=W_TotalMontComp + W_TempMontBis
				
	      		END
		END ELSE
			IF ENR_FLUXCOMPTABLES<36>#"" AND ENR_FLUXCOMPTABLES<1>="" THEN
      				IF W_Att5="FAUX" THEN
         				W_TempMont=ENR_FACTURORG<4,k>
						W_TempMontBis=ENR_FACTURORG<4,k>*(-1)							
						ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,7;W_TempMontBis W_Str1)
        		 		ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,8;SPACE(9))
            			W_TotalMontComp=W_TotalMontComp + W_TempMontBis

						
	      			END ELSE
        	 			W_TempMont=ENR_FACTURORG<8,k>
						W_TempMontBis=ENR_FACTURORG<8,k>*(-1)						
						ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,7;W_TempMontBis W_Str1)
        	 			ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,8;SPACE(9))
        	    		W_TotalMontComp=W_TotalMontComp + W_TempMontBis
					
	     	 		END
			END ELSE
				IF ENR_FLUXCOMPTABLES<36>#"" AND ENR_FLUXCOMPTABLES<1>#"" AND ENR_FLUXCOMPTABLES<36><ENR_FLUXCOMPTABLES<1> THEN
      					IF W_Att5="FAUX" THEN
         					W_TempMont=ENR_FACTURORG<4,k>
							ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,7;SPACE(9))
        			 		ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,8;W_TempMont W_Str)
         					W_TotalMontAPayer=W_TotalMontAPayer+W_TempMont
	      				END ELSE
        	 				W_TempMont=ENR_FACTURORG<8,k>
							ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,7;SPACE(9))
	        	 			ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,8;W_TempMont W_Str)
	         				W_TotalMontAPayer=W_TotalMontAPayer+W_TempMont
	     		 		END
				END ELSE
		   	   		ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,7;SPACE(9))
        		 		ENR_ARCHIVEBORDCAISSE=REPLACE(ENR_ARCHIVEBORDCAISSE,W_Rang,8;SPACE(9))
				END
			END
		END
   	END
   END

RETURN

*****************************************************************************
* Tables de correspondance des mois
300

   BEGIN CASE 
      CASE W_Date[4,3] = "Jan"
         W_Mois = "janvier"
      CASE W_Date[4,3] = "Feb"
         W_Mois = "fevrier"
      CASE W_Date[4,3] = "Mar"
         W_Mois = "mars"
      CASE W_Date[4,3] = "Apr"
         W_Mois = "avril"
      CASE W_Date[4,3] = "May"
         W_Mois = "mai"
      CASE W_Date[4,3] = "Jun"
         W_Mois = "juin"
      CASE W_Date[4,3] = "Jul"
         W_Mois = "juillet"
      CASE W_Date[4,3] = "Aug"
         W_Mois = "aout"
      CASE W_Date[4,3] = "Sep"
         W_Mois = "septembre"
      CASE W_Date[4,3] = "Oct"
         W_Mois = "octobre"
      CASE W_Date[4,3] = "Nov"
         W_Mois = "novembre"
      CASE W_Date[4,3] = "Dec"
         W_Mois = "decembre"
   END CASE

RETURN
