*************************************************
*  GENERATION DU FICHIER DES PRELEVEMENTS 	*
*  POUR cegid					*
*  ALEX			AVRIL 2013	*
*************************************************

OPEN "","PRELEVEMENT" TO F.PRELEVEMENT ELSE STOP
OPEN "","LIENCOMPTA" TO F.LIENCOMPTA ELSE STOP

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

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

W_Asso=FIELD(ARGUMENTS,"|",2)
W_Journal=FIELD(ARGUMENTS,"|",3)
W_Date=FIELD(ARGUMENTS,"|",4)
W_CpteBanque=FIELD(ARGUMENTS,"|",5)
W_FichierInfo=FIELD(ARGUMENTS,"|",6)
W_FichierGenere=FIELD(ARGUMENTS,"|",7)
W_DateEcheance=FIELD(ARGUMENTS,"|",8)

****************************
* Initialisation
****************************
W_NBVALEUR=""
W_NBLIGNE=0
W_TabDonnee=""
W_RECUP=""
ENR_FICHIER=""
W_Montant=0
W_LibMvt=""
W_MontantTot=0
EXECUTE "SET-DEC ."
EXECUTE "SET-THOUS ,"
j=0
W_DateEcheance=OCONV(W_DateEcheance,"D2/")
W_DateEcheance=ICONV(W_DateEcheance,"MCN")

****************************
* LECTURE DU FICHIER PRELEVEMENT
****************************

READ ENR_PRELEVEMENT FROM F.PRELEVEMENT,W_FichierInfo THEN
	W_NBVALEUR=DCOUNT(ENR_PRELEVEMENT,CHAR(254))-1
	W_TabDonnee<1>="!"
	FOR I=2 TO W_NBVALEUR
		****************************
		* PARCOURS DES LIGNES POUR CREATION
		****************************
		* INCREMENTATION NB LIGNES
		W_NBLIGNE = W_NBLIGNE+1
		j=0
		W_CodeJourn=W_Journal "R%3"

		W_DateOperation = OCONV(W_Date,"D4/")
		W_DateOperation = W_DateOperation[1,2]:W_DateOperation[4,2]:W_DateOperation[7,4]
		
		W_CompteGeneral="411110000" "L#17"
		W_NatureLigne="X"
		W_AuxiSect=ENR_PRELEVEMENT<I>[26,5] "L#17"
		W_RefMvtInt=ENR_PRELEVEMENT<I>[126,10]
		IF W_RefMvtInt <> "" THEN
			W_RefMvtInt = W_RefMvtInt * 1
		END
		W_RefMvtInt = W_RefMvtInt "L#35"
		
		W_CodModPaie="PRE"
		W_DateEcheanMvt=SPACE(8)
		W_SensMvt="C"
		
		W_Montant=ENR_PRELEVEMENT<I>[103,16]
		LOOP
		WHILE LEN(W_Montant) # 0 AND  W_Montant[1,1] = 0		
			W_Montant=W_Montant[2,LEN(W_Montant)-1]
		REPEAT
		IF W_Montant = 0 OR W_Montant = "" THEN
			W_Montant = 0 
		END
		IF W_Montant => 100 THEN
			W_Montant=W_Montant[1,LEN(W_Montant)-2]:".":W_Montant[LEN(W_Montant)-1,2]
		END ELSE
			IF W_Montant < 100 AND W_Montant >= 10 THEN
				W_Montant = "0.":W_Montant
			END ELSE
				IF W_Montant < 10 THEN
					W_Montant = "0.0":W_Montant
				END
			END
		END
		W_MontantTot=W_MontantTot+W_Montant
		W_Montant=W_Montant "R#20"
		
		W_NumPiece=SPACE(8)
		W_LibMvt ="PRELEVEMENT FACTURE" "L#35"
		
		W_Ligne = W_CodeJourn:W_DateOperation:"RC":W_CompteGeneral:W_NatureLigne:W_AuxiSect:W_RefMvtInt:W_LibMvt:W_CodModPaie
		W_Ligne = W_Ligne:W_DateEcheanMvt:W_SensMvt:W_Montant:"N":W_NumPiece:"EUR":SPACE(10):"E--":SPACE(43):"A1":SPACE(2)
		
		
		**********************************************
		***		Ligne ecriture Complementaire #1   ***
		**********************************************
		W_DateSyst =  OCONV(DATE (),"D4/")
		W_DateSyst = W_DateSyst[1,2]:W_DateSyst[4,2]:W_DateSyst[7,4]
		W_MontPremQuant=SPACE(20)
		
		*Ecriture de la ligne
		W_Ligne = W_Ligne:SPACE(43):W_DateSyst:SPACE(31):W_MontPremQuant:SPACE(20):"THC":SPACE(933) ;* Ligne Complmentaire #2 est vide et comptabilise dans le SPACE(933)
		
		W_TabDonnee<-1>=W_Ligne
	NEXT I

	****************************
	* CONTREPARTIE
	****************************
	* INCREMENTATION NB LIGNES
	W_NBLIGNE = W_NBLIGNE+1
		W_CodeJourn=W_Journal "R%3"

		W_DateOperation = OCONV(W_Date,"D4/")
		W_DateOperation = W_DateOperation[1,2]:W_DateOperation[4,2]:W_DateOperation[7,4]
		
		W_CompteGeneral=W_CpteBanque "L#17"
		W_NatureLigne=" "
		W_AuxiSect=SPACE(17)
		W_RefMvtInt=SPACE(35)
		W_CodModPaie=SPACE(3)
		W_DateEcheanMvt=SPACE(8)
		W_SensMvt="D"
		
		W_Montant=W_MontantTot "R#20"
		
		W_NumPiece=SPACE(8)
		W_LibMvt="PRELEVEMENTS" "L#35"
		
		W_Ligne = W_CodeJourn:W_DateOperation:"RC":W_CompteGeneral:W_NatureLigne:W_AuxiSect:W_RefMvtInt:W_LibMvt:W_CodModPaie
		W_Ligne = W_Ligne:W_DateEcheanMvt:W_SensMvt:W_Montant:"N":W_NumPiece:"EUR":SPACE(10):"E--":SPACE(43):"A1":SPACE(2)
		
		
		**********************************************
		***		Ligne ecriture Complementaire #1   ***
		**********************************************
		W_DateSyst =  OCONV(DATE (),"D4/")
		W_DateSyst = W_DateSyst[1,2]:W_DateSyst[4,2]:W_DateSyst[7,4]
		
		W_MontPremQuant=SPACE(20)
		
		*Ecriture de la ligne
		W_Ligne = W_Ligne:SPACE(43):W_DateSyst:SPACE(31):W_MontPremQuant:SPACE(20):"THC":SPACE(933) ;* Ligne Complmentaire #2 est vide et comptabilise dans le SPACE(933)
		
		W_TabDonnee<-1>=W_Ligne
	
	WRITE W_TabDonnee ON F.LIENCOMPTA,W_FichierGenere
END

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