********************************************
* TRAITEMENT DES VIREMENTS VIA PICK        *
* SUITE AUX PLANTAGES MEMOIRES...          *
* RECUPERATION ET CONVERSION DES FONCTIONS *
* DU PROG ORIGINAL SOUS VB                 *
*					   *
* JEROME		    MAI     2000   *
* ///                       JUIN    2000   *
* MAJUSCULE                 JUILLET 2000   *
*                                          *
* MODIF DU DESSIN DE FICHIER POUR VIREMENT 0*
* POUR LA CCN 07 -> FONCTION PUBLIQUE      *
* VANESS                    AVRIL 2002     *
********************************************

************
* FICHIERS *
************
EXECUTE "SET-THOUS ."
EXECUTE "SET-DEC ,"
EXECUTE "DATE.FORMAT"
OPEN "","ACTIVITES" TO F.ACTIVITES ELSE STOP
OPEN "","ASSOCIATION" TO F.ASSOCIATION ELSE STOP
OPEN "","CIVILAIDANT" TO F.CIVILAIDANT ELSE STOP
OPEN "","CONSTANTESPAIE" TO F.CONSTANTESPAIE ELSE STOP
OPEN "","CONTRAT" TO F.CONTRAT ELSE STOP
OPEN "","CONVENTIONCOL" TO F.CONVENTIONCOL ELSE STOP
OPEN "","DETAILCALCUL" TO F.DETAILCALCUL ELSE STOP
OPEN "","PERIODESPAIE" TO F.PERIODESPAIE ELSE STOP
OPEN "","RIBAIDANT" TO F.RIBAIDANT ELSE STOP
OPEN "","TEMPO" TO F.TEMPO ELSE STOP
OPEN "","VIREMENT" TO F.VIREMENT ELSE STOP

******************************
* Recuperation des arguments *
******************************
PROCREAD ARGUMENTS ELSE PRINT "PROCREAD"

W_REQUETEACT=FIELD(ARGUMENTS,"|",2)
W_REQUETEDETAIL=FIELD(ARGUMENTS,"|",3)
W_CODASSOC=FIELD(ARGUMENTS,"|",4)
W_CAC=FIELD(ARGUMENTS,"|",5)
W_REEDIT=FIELD(ARGUMENTS,"|",6)
W_USER=FIELD(ARGUMENTS,"|",7)

****************************
* Procdures               *
****************************
*   100  -->  Remplissage tableau listage
*   200  -->  Recherche code
*   300  -->  Selection apuration
*   400  -->  Remplir donnes virement
*   500  -->  Gestion Requete DetailCalcul
*   600  -->  Activites Presentes
*   700  -->  MAJ requete act select
*   800  -->  MAJ virement negatif
*   900  -->  traitement Mise en forme NEGATIF

****************************
* Initialisation           *
****************************
	
	READ ENR_CONSTANTESPAIE FROM F.CONSTANTESPAIE, "1" ELSE ENR_CONSTANTESPAIE = ""
	READ ENR_PERIODESPAIE FROM F.PERIODESPAIE, "1" ELSE ENR_PERIODESPAIE = ""
	* on lit la priode de traitement dans la requte sur DETAILCALCUL
	W_DateDetail = W_REQUETEDETAIL[77,6]
	W_DateDetail = "01/":W_DateDetail[5,2]:"/":W_DateDetail[1,4]
	W_DateDetail=ICONV(W_DateDetail,"D4/")
	IF W_DateDetail < ENR_CONSTANTESPAIE<9> THEN
		IF ENR_CONSTANTESPAIE<9> = 12420 AND ENR_PERIODESPAIE<1> = "200112" THEN
			W_Monnaie = "E"
		END ELSE
			W_Monnaie = "F"
		END
	END ELSE
		W_Monnaie = "E"
	END

	ENR_VIREMENT=""
	W_RequeteDetailCalcul = ""

	GOSUB 700

	READ ENR_ASSOCIATION FROM F.ASSOCIATION,W_CODASSOC ELSE STOP

	EXECUTE W_REQUETEDETAIL
	EXECUTE 'SAUVE-LISTE W_RequeteDetailCalcul'
	EXECUTE "LISTE W_RequeteDetailCalcul" RETURNING MSGCODE	
 
	IF MSGCODE<1>#209 THEN

		IF W_CAC=1 THEN
			IPOSITION=0
		END

		W_PositionTableau=0
		SELECT F.DETAILCALCUL TO W_RequeteDetailCalcul
		GOSUB 500

		IF W_REEDIT="NON" THEN
			WRITE ENR_VIREMENT ON F.VIREMENT,W_CodeFichier
		END

		IF ENR_CONTRAT<1> # "07" THEN
			IF W_CAC=1 THEN
				GOSUB 800
			END ELSE
				ENR_NEGATIF="AUCUN"
			END

		END ELSE
			ENR_NEGATIF="AUCUN"
		END

		WRITE ENR_NEGATIF ON F.TEMPO,"NEGATIF":W_USER

		IF W_REEDIT="NON" THEN
			ENR_RAPPORT=""
			ENR_RAPPORT<1>=W_NbrVirements
			ENR_RAPPORT<2>=W_CumulTotal
        		ENR_RAPPORT<3>=W_CodeFichier
			WRITE ENR_RAPPORT ON F.TEMPO,"RAPPORT":W_USER
		END

	END ELSE
		ENR_TEMPO<1>="NEANT"
    	END

	WRITE ENR_TEMPO ON F.TEMPO,"VIREM":W_USER

STOP


*******************************
* REMPLISSAGE TABLEAU LISTAGE *
*******************************
100
    IPOSITION=IPOSITION+1

    ENR_TEMPO<IPOSITION>=W_CLEPREC[1,5]:SPACE(1):(ENR_CIVILAIDANT<2>:" ":ENR_CIVILAIDANT<3>)[1,24] "L#25"
        
    *controle si ENR_RIB existe et traitement ulterieur a faire
    READ ENR_RIBAIDANT FROM F.RIBAIDANT,W_CLEPREC[1,5] THEN
      IF ENR_RIBAIDANT<3>#"" THEN
        *Banque
	ENR_TEMPO<IPOSITION>=ENR_TEMPO<IPOSITION>:" ":ENR_RIBAIDANT<2>[1,23] "L#24"
        *Donnees sur le compte
	ENR_TEMPO<IPOSITION>=ENR_TEMPO<IPOSITION>:" ":ENR_RIBAIDANT<1>[1,24] "L#25"    
	ENR_TEMPO<IPOSITION>=ENR_TEMPO<IPOSITION>:SPACE(1):W_CodBanq
	ENR_TEMPO<IPOSITION>=ENR_TEMPO<IPOSITION>:SPACE(2):W_CodGuichet
	ENR_TEMPO<IPOSITION>=ENR_TEMPO<IPOSITION>:SPACE(3):W_NoCpte
        ENR_TEMPO<IPOSITION>=ENR_TEMPO<IPOSITION>:" ":ENR_RIBAIDANT<6> "L%2"
      END ELSE
	ENR_TEMPO<IPOSITION>=ENR_TEMPO<IPOSITION>:SPACE(52):"00000":SPACE(2):"00000":SPACE(3):"00000000000":SPACE(1):"00"
      END
    END ELSE
	ENR_TEMPO<IPOSITION>=ENR_TEMPO<IPOSITION>:SPACE(52):"00000":SPACE(2):"00000":SPACE(3):"00000000000":SPACE(1):"00"
    END
    
    *Montant  payer
    ENR_TEMPO<IPOSITION>=ENR_TEMPO<IPOSITION>:" ":W_Cumul "R%15"

RETURN


******************
* RECHERCHE CODE *
******************
200
    READ ENR_VIREMENT FROM F.VIREMENT,RechercheCode THEN
    	RechercheCode = RechercheCode + 1
        GOSUB 200
    END
    
RETURN


***********************
* SELECTION APURATION *
***********************
300

    W_REQUETEVIR = ""

    W_Date=OCONV(@DATE,"D4/")
    W_Date=W_Date[7,4]:W_Date[4,2]
    W_Mois=(W_Date[5,2] - 2) "R%2"

    IF W_Mois="00" THEN
	W_Date=(W_Date[1,4]-1):"12"
    END ELSE
	IF W_Mois="99" THEN
		W_Date=(W_Date[1,4]-1):"11"
	END ELSE
		W_Date=W_Date[1,4]:W_Mois
	END
    END

    EXECUTE 'SSELECT VIREMENT AVEC @ID < "':W_Date:"]":'"'
    EXECUTE 'SAUVE-LISTE W_REQUETEVIR'
    EXECUTE "LISTE W_REQUETEVIR" RETURNING MSGCODE	
 
    IF MSGCODE<1>#209 THEN

	SELECT F.VIREMENT TO W_REQUETEVIR

	W_FINIVIR="FAUX"
	LOOP
		READNEXT W_CLEVIR FROM W_REQUETEVIR ELSE W_FINIVIR="VRAI"
	WHILE W_FINIVIR="FAUX" DO
		DELETE F.VIREMENT,W_CLEVIR
	REPEAT

    END

RETURN


********************************
* REPLISSAGE DONNEES VIREMENTS *
********************************
400 
**    W_NbrVirements = W_NbrVirements + 1
        
    IF W_NbrVirements = 0 THEN
	* PURGE
	GOSUB 300  

    	W_DateRec = OCONV(@DATE,"D4/")
    	W_DateRec=W_DateRec[7,4]:W_DateRec[4,2]:W_DateRec[1,2]
    	W_CodeFichier = W_DateRec:W_CODASSOC
    	RechercheCode = W_CodeFichier:"1"
    	GOSUB 200
    	W_CodeFichier=RechercheCode

*	READ ENR_VIREMENT FROM F.VIREMENT,W_CodeFichier THEN

*	END ELSE
            ENR_VIREMENT=""
		IF W_RequeteActSelect<1,3> = "" THEN
            		IF LEN(ENR_ASSOCIATION<21>) = 6 THEN
                		W_NumEmet = ENR_ASSOCIATION<21>
            		END ELSE
                		W_NumEmet = "000000"
            		END
            		IF LEN(ENR_ASSOCIATION<18>) = 5 THEN
                		W_CodeGuichet = ENR_ASSOCIATION<18>
            		END ELSE
                		W_CodeGuichet = "00000"
            		END
            		IF LEN(ENR_ASSOCIATION<19>) = 11 THEN
                		W_NumCompte = ENR_ASSOCIATION<19>
            		END ELSE
                		W_NumCompte = "00000000000"
            		END
            		IF LEN(ENR_ASSOCIATION<17>) = 5 THEN
                		W_CodeEtabli = ENR_ASSOCIATION<17>
            		END ELSE
                		W_CodeEtabli = "00000"
            		END
            
        	END ELSE
        
            		IF LEN(W_RequeteActSelect<1,7>) = 6 THEN
                		W_NumEmet = W_RequeteActSelect<1,7>
            		END ELSE
                		W_NumEmet = "000000"
            		END
            		IF LEN(W_RequeteActSelect<1,4>) = 5 THEN
                		W_CodeGuichet = W_RequeteActSelect<1,4>
            		END ELSE
                		W_CodeGuichet = "00000"
           		END
            		IF LEN(W_RequeteActSelect<1,5>) = 11 THEN
                		W_NumCompte = W_RequeteActSelect<1,5>
            		END ELSE
                		W_NumCompte = "00000000000"
            		END
            		IF LEN (W_RequeteActSelect<1,3>) = 5 THEN
                		W_CodeEtabli = W_RequeteActSelect<1,3>
            		END ELSE
                		W_CodeEtabli = "00000"
            		END
        	END
        
        	*Emetteur
    		W_DATEEM = OCONV(@DATE,"D4/")
    		W_DATEEM=W_DATEEM[1,2]:W_DATEEM[4,2]:W_DATEEM[10,1]
        	ENR_VIREMENT<1> = "0302":SPACE(8):W_NumEmet:SPACE(7):W_DATEEM:ENR_ASSOCIATION<1>[1,23] "L#24":SPACE(26):W_Monnaie:SPACE(5):W_CodeGuichet:W_NumCompte:SPACE(47):W_CodeEtabli:SPACE(6)
*    	END

    END

      *Destinataire
      READ ENR_RIBAIDANT FROM F.RIBAIDANT,W_CLEPREC[1,5] THEN
       IF ENR_RIBAIDANT<3>#"" THEN 
	W_NbrVirements = W_NbrVirements + 1
 
       	IF LEN(ENR_RIBAIDANT<3>) = 5 THEN
 		W_CodBanq = ENR_RIBAIDANT<3>
	END ELSE
       		W_CodBanq = "00000"
   	END
   
   	IF LEN(ENR_RIBAIDANT<4>) = 5 THEN
       		W_CodGuichet = ENR_RIBAIDANT<4>
   	END ELSE
       		W_CodGuichet = "00000"
   	END
   
   	IF LEN(ENR_RIBAIDANT<5>) = 11 THEN
       		W_NoCpte = ENR_RIBAIDANT<5>
   	END ELSE
      		 W_NoCpte = "00000000000"
   	END
   
   	IF LEN(ENR_CONTRAT<3>) = 5 THEN
       		*Mandataire
       		W_LibelleDest = "SALAIRES MANDATAIRES"
   	END ELSE
       		W_LibelleDest = "SALAIRES ":ENR_ASSOCIATION<1>
   	END

	IF ENR_CONSTANTESPAIE<9> = 12420 AND ENR_PERIODESPAIE<1> = "200112" THEN
		W_Cumul = (W_Cumul / 6.55957)
		W_Cumul = INT(W_Cumul + (1/2))
	END

    	* indice
    	ENR_VIREMENT<W_NbrVirements+1> = "0602":SPACE(8):W_NumEmet:SPACE(7):W_CLEPREC[1,5]:(ENR_CIVILAIDANT<2>:" ":ENR_CIVILAIDANT<3>)[1,23] "L#24":ENR_RIBAIDANT<2>[1,19] "L#20":SPACE(12):W_CodGuichet:W_NoCpte:W_Cumul "R%16":W_LibelleDest "L#31":W_CodBanq:SPACE(6)
	W_CumulTotal = W_CumulTotal+W_Cumul
       END
      END

RETURN


********************************
* GESTION REQUETE DETAILCALCUL *
********************************
500
    W_Cumul = 0
    W_CumulPage = 0
    W_CumulTotal = 0
    W_NbrVirements = 0
    W_VAL=0
    

	W_CLEANC=""
	W_CLEPREC=""
	W_FINIPRINC="FAUX"
	LOOP
		W_CLEPREC=W_CLEPRINC
		READNEXT W_CLEPRINC FROM W_RequeteDetailCalcul ELSE W_FINIPRINC="VRAI"

	WHILE W_FINIPRINC="FAUX" DO

       		IF (W_CLEPRINC[1,5]) # (W_CLEANC[1,5]) THEN

            		IF W_VAL # 0 THEN
                		IF W_Cumul > 0 THEN
					READ ENR_CONTRAT FROM F.CONTRAT,W_CLEANC[1,8] ELSE PRINT "CONTRAT"
					IF ENR_CONTRAT<1> # "07" THEN
					   	GOSUB 400
					END ELSE
 						GOSUB 1000
      					END
**                    			W_CumulTotal = W_CumulTotal+W_Cumul
*                    			W_CumulPage = W_CumulPage+W_Cumul
                    			IF W_CAC = 1 THEN
						GOSUB 100
                    			END

                		END ELSE

                    			IF W_Cumul < 0 AND W_CAC = 1 THEN
                        			W_PositionTableau = W_PositionTableau + 1
                        			W_MontantNegatif<W_PositionTableau,1> = W_CLEPREC
                        			W_MontantNegatif<W_PositionTableau,2> = W_Cumul
                    			END

                		END
                		W_Cumul = 0
            		END

			W_VAL=1
	    		READ ENR_CIVILAIDANT FROM F.CIVILAIDANT,W_CLEPRINC[1,5] ELSE PRINT "CIVILAIDANT"
			READ ENR_CONTRAT FROM F.CONTRAT,W_CLEPRINC[1,8] ELSE PRINT "CONTRAT"
			GOSUB 600
	        	IF ActivitesPresentes = "VRAI" THEN
				READ ENR_DETAILCALCUL FROM F.DETAILCALCUL,W_CLEPRINC ELSE PRINT "DETAILCALCUL"
                		W_Cumul = W_Cumul+ENR_DETAILCALCUL<21>
	                	ENR_DETAILCALCUL<1> = "P"
                		WRITE ENR_DETAILCALCUL ON F.DETAILCALCUL,W_CLEPRINC
           		END

        	END ELSE

			READ ENR_CONTRAT FROM F.CONTRAT,W_CLEPRINC[1,8] ELSE PRINT "CONTRAT"
			GOSUB 600
            		IF ActivitesPresentes = "VRAI" THEN
                		READ ENR_DETAILCALCUL FROM F.DETAILCALCUL,W_CLEPRINC ELSE PRINT "DETAILCALCUL"
                		W_Cumul = W_Cumul+ENR_DETAILCALCUL<21>
	                	ENR_DETAILCALCUL<1> = "P"
                		WRITE ENR_DETAILCALCUL ON F.DETAILCALCUL,W_CLEPRINC
            		END
        	END

		W_CLEANC=W_CLEPRINC
        
	REPEAT

    IF W_Cumul > 0 THEN

  	READ ENR_CONTRAT FROM F.CONTRAT,W_CLEPRINC[1,8] ELSE PRINT "CONTRAT"
	IF ENR_CONTRAT<1> # "07" THEN
		GOSUB 400
	END ELSE
 		GOSUB 1000
      	END

        IF W_CAC = 1 THEN
		GOSUB 100
        END

    END ELSE

        IF W_Cumul < 0 AND W_CAC = 1 THEN
            W_PositionTableau = W_PositionTableau + 1
            W_MontantNegatif<W_PositionTableau,1> = W_CLEPREC
            W_MontantNegatif<W_PositionTableau,2> = W_Cumul
        END

    END

    *Total
    IF ENR_CONTRAT<1> # "07" THEN
    	IF ENR_VIREMENT<1>#"" THEN
        	ENR_VIREMENT<W_NbrVirements+2> = "0802":SPACE(8):W_NumEmet:SPACE(84):W_CumulTotal "R%16":SPACE(42)
    	END
    END

RETURN


***********************
* ACTIVITES PRESENTES *
***********************
600

    W_TROUVE="FAUX"
    ActivitesPresentes = "FAUX"
    W_LONGCONT=DCOUNT(ENR_CONTRAT<36>,CHAR(253))    
    W_LONGREQ=DCOUNT(W_RequeteActSelect,CHAR(254))
    
    FOR IREQ = 1 TO W_LONGREQ

        FOR JCONT = 1 TO W_LONGCONT
        	IF W_RequeteActSelect<IREQ,1> = ENR_CONTRAT<36,JCONT> THEN
                	ActivitesPresentes = "VRAI"
			W_TROUVE="VRAI"
			EXIT
            	END
        NEXT JCONT

	IF W_TROUVE="VRAI" THEN
		EXIT
	END

    NEXT IREQ
    
RETURN


******************************
* MAJ DE LA REQUETE ACTIVITE *
******************************
700

    W_RequeteAct = ""

    EXECUTE W_REQUETEACT
    EXECUTE 'SAUVE-LISTE W_RequeteAct'
    EXECUTE "LISTE W_RequeteAct" RETURNING MSGCODE	
 
    IF MSGCODE<1>#209 THEN

	IPOSITION=0
	SELECT F.ACTIVITES TO W_RequeteAct

	W_FINIACTIV="FAUX"
	LOOP
		READNEXT W_CLEACTIV FROM W_RequeteAct ELSE W_FINIACTIV="VRAI"
	WHILE W_FINIACTIV="FAUX" DO
		READ ENR_ACTIVITES FROM F.ACTIVITES,W_CLEACTIV ELSE STOP
		IPOSITION=IPOSITION+1
		W_RequeteActSelect<IPOSITION,1>=W_CLEACTIV
		W_RequeteActSelect<IPOSITION,2>=ENR_ACTIVITES<1>
		W_RequeteActSelect<IPOSITION,3>=ENR_ACTIVITES<5>
		W_RequeteActSelect<IPOSITION,4>=ENR_ACTIVITES<6>
		W_RequeteActSelect<IPOSITION,5>=ENR_ACTIVITES<7>
		W_RequeteActSelect<IPOSITION,6>=ENR_ACTIVITES<8>
		W_RequeteActSelect<IPOSITION,7>=ENR_ACTIVITES<9>
		W_RequeteActSelect<IPOSITION,8>=ENR_ACTIVITES<12>
	REPEAT

    END

RETURN


*************************************
* MAJ VIREMENT NEGATIF POUR EDITION *
*************************************
800

	IF W_MontantNegatif<1,1>#"0" THEN
    		W_LONGNEG=DCOUNT(W_MontantNegatif,CHAR(254))
    		IPOSNEG=0

    		FOR INEG = 1 TO W_LONGNEG
			W_CLEPREC[1,5]=W_MontantNegatif<INEG,1>
			W_Cumul=W_MontantNegatif<INEG,2>
			READ ENR_CIVILAIDANT FROM F.CIVILAIDANT,W_CLEPREC[1,5] ELSE PRINT "CIVILAIDANT"
			GOSUB 900
    		NEXT INEG

	END ELSE
		ENR_NEGATIF="AUCUN"
	END

RETURN

**********************
* TRAITEMENT NEGATIF *
**********************
900

    IPOSNEG=IPOSNEG+1

    ENR_NEGATIF<IPOSNEG>=W_CLEPREC[1,5]:SPACE(1):(ENR_CIVILAIDANT<2>:" ":ENR_CIVILAIDANT<3>)[1,24] "L#25"
        
    *controle si ENR_RIB existe et traitement ulterieur a faire
    READ ENR_RIBAIDANT FROM F.RIBAIDANT,W_CLEPREC[1,5] THEN
 
    	IF LEN(ENR_RIBAIDANT<3>) = 5 THEN
 		W_CodBanq = ENR_RIBAIDANT<3>
	END ELSE
       		W_CodBanq = "00000"
   	END   
   	IF LEN(ENR_RIBAIDANT<4>) = 5 THEN
       		W_CodGuichet = ENR_RIBAIDANT<4>
   	END ELSE
       		W_CodGuichet = "00000"
   	END
   	IF LEN(ENR_RIBAIDANT<5>) = 11 THEN
       		W_NoCpte = ENR_RIBAIDANT<5>
   	END ELSE
      		 W_NoCpte = "00000000000"
   	END

        *Banque
	ENR_NEGATIF<IPOSNEG>=ENR_NEGATIF<IPOSNEG>:" ":ENR_RIBAIDANT<2>[1,23] "L#24"
        *Donnees sur le compte
	ENR_NEGATIF<IPOSNEG>=ENR_NEGATIF<IPOSNEG>:" ":ENR_RIBAIDANT<1>[1,24] "L#25"    
	ENR_NEGATIF<IPOSNEG>=ENR_NEGATIF<IPOSNEG>:SPACE(1):W_CodBanq
	ENR_NEGATIF<IPOSNEG>=ENR_NEGATIF<IPOSNEG>:SPACE(2):W_CodGuichet
	ENR_NEGATIF<IPOSNEG>=ENR_NEGATIF<IPOSNEG>:SPACE(3):W_NoCpte
        ENR_NEGATIF<IPOSNEG>=ENR_NEGATIF<IPOSNEG>:" ":ENR_RIBAIDANT<6> "L%2"

    END ELSE
	ENR_NEGATIF<IPOSNEG>=ENR_NEGATIF<IPOSNEG>:SPACE(52):"00000":SPACE(2):"00000":SPACE(3):"00000000000":SPACE(1):"00"
    END
    
    *Montant  payer
    ENR_NEGATIF<IPOSNEG>=ENR_NEGATIF<IPOSNEG>:" ":W_Cumul "R%15"

RETURN

*********************************************************
* REPLISSAGE DONNEES VIREMENTS CCN 07 FOCNTION PUBLIQUE *
*********************************************************
1000 
        
    W_CodBanq=""
    W_TypeBanque=""
    W_CodGuichet=""
    W_NoCpte =""
    W_LibBanque=""
    W_Titre=""
    W_Nom=""
    W_Mat=""
    W_Cumul1=""

    IF W_NbrVirements = 0 THEN
 
*    	W_DateRec = OCONV(@DATE,"D4/")
*    	W_DateRec=W_DateRec[7,4]:W_DateRec[4,2]:W_DateRec[1,2]
*    	W_CodeFichier = W_DateRec:W_CODASSOC
*    	RechercheCode = W_CodeFichier:"1"
*    	GOSUB 200
*    	W_CodeFichier=RechercheCode
	W_CodeFichier="HOPAYRA.RMH"

        ENR_VIREMENT=""

    END

    *Destinataire
    READ ENR_RIBAIDANT FROM F.RIBAIDANT,W_CLEANC[1,5] THEN
	W_NbrVirements = W_NbrVirements + 1
 
   	W_Mat = W_CLEANC[1,5]
	W_Mat = W_Mat "R%15"

	W_CodBanq = ENR_RIBAIDANT<3> "L(#5)"
	BEGIN CASE
		CASE W_CodBanq="10011" OR W_CodBanq="20041"
           		W_TypeBanque="110000"
		CASE W_CodBanq="10071"
           		W_TypeBanque="330000"
		CASE 1
           		W_TypeBanque="220000"
	END CASE

       	W_CodGuichet = ENR_RIBAIDANT<4> "L(#5)"

       	W_NoCpte = ENR_RIBAIDANT<5> "L(#11)"

        W_LibBanque = ENR_RIBAIDANT<2>[1,24]
 	W_LibBanque = W_LibBanque "L(#24)"

	W_Titre = ENR_CIVILAIDANT<1>
	BEGIN CASE
		CASE W_Titre = "MR"
			W_Titre="1"
		CASE W_Titre = "MLE"
			W_Titre="3"
		CASE 1
			W_Titre="2"
	END CASE

  	W_Nom=ENR_CIVILAIDANT<2>:" ":ENR_CIVILAIDANT<3>
	W_Nom=W_Nom "L(#30)"

	IF ENR_CONSTANTESPAIE<9> = 12420 AND ENR_PERIODESPAIE<1> = "200112" THEN
		W_Cumul = (W_Cumul / 6.55957)
		W_Cumul = INT(W_Cumul + (1/2))
	END
	W_CumulTotal = W_CumulTotal+W_Cumul

	W_Cumul1=W_Cumul "R%8"

    	* indice
    	ENR_VIREMENT<1> = ENR_VIREMENT<1>:"G253":W_Mat:"253GO":W_TypeBanque:W_CodBanq:W_CodGuichet:W_NoCpte:ENR_RIBAIDANT<6>:"  ":W_LibBanque:W_Titre:W_Nom:"E":SPACE(25):W_Cumul1

    END

RETURN
