*************************************************
*  GENERATION DU FICHIER DES PRELEVEMENTS 	*
*  POUR ccmx					*
*  VANESSA			DECEMBRE 2002	*
*************************************************

EXECUTE "DATE.FORMAT"
OPEN "","PRELEVEMENT" TO F.PRELEVEMENT ELSE STOP
OPEN "","LIENCOMPTA" TO F.LIENCOMPTA ELSE STOP
OPEN "","PARAMENTITECOMPTA" TO F.PARAMENTITECOMPTA ELSE STOP

****************************
* 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_Temp=""
   W_RECUP=""
   ENR_FICHIER=""
   W_Montant=0

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

   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

      READ ENR_PARAMENTITECOMPTA FROM F.PARAMENTITECOMPTA,W_Asso ELSE ENR_PARAMENTITECOMPTA=""

****************************
* PARCOURS DES LIGNES POUR CREATION
****************************
      GOSUB 100

****************************
* CONTREPARTIE
****************************

      GOSUB 200

      WRITE ENR_FICHIER ON F.LIENCOMPTA,W_FichierGenere
   END

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

STOP

****************************
* PARCOURS DES LIGNES POUR CREATION
****************************
100

   FOR I=2 TO W_NBVALEUR

      * INCREMENTATION NB LIGNES
      W_NBLIGNE = W_NBLIGNE+1
      W_Temp=""

      * date d'criture
      W_Temp=OCONV(W_Date,"D2/")
      W_Temp=ICONV(W_Temp,"MCN"):";"
 
      * code journal
      W_Temp=W_Temp:W_Journal:";"

      * Code pice
      W_RECUP=CONVERT(" ","",ENR_PRELEVEMENT<I>[119,31])
      W_LONG=LEN(W_RECUP)	

      IF W_RECUP[W_LONG,1]="0" OR W_RECUP[W_LONG,1]="1" OR W_RECUP[W_LONG,1]="2" OR W_RECUP[W_LONG,1]="3" OR W_RECUP[W_LONG,1]="4" OR W_RECUP[W_LONG,1]="5" OR W_RECUP[W_LONG,1]="6" OR W_RECUP[W_LONG,1]="7" OR W_RECUP[W_LONG,1]="8" OR W_RECUP[W_LONG,1]="9" THEN
	 W_RECUP=W_RECUP[W_LONG-6,10]
	 IF W_RECUP # "" THEN
	 	W_RECUP = W_RECUP*1
	 END
      END ELSE
         W_RECUP=""
      END
      W_Temp=W_Temp:W_RECUP:";"

      * compte gnral
      W_Temp=W_Temp:ENR_PARAMENTITECOMPTA<16>[1,9]:";"

      * compte tiers
      W_Temp=W_Temp:ENR_PRELEVEMENT<I>[26,5]:";"

      * dsignation criture
      W_Temp=W_Temp:"PRELEVEMENT FACTURE":";"

      * sens de l'criture
      W_Temp=W_Temp:"C":";"

      * Montant
      W_RECUP=ENR_PRELEVEMENT<I>[109,10]

      W_LONG=LEN(W_RECUP)
      J=0
      LOOP
	 J=J+1
      UNTIL W_RECUP[J,1] # "0"
      REPEAT
      W_Temp=W_Temp:OCONV(W_RECUP[J,W_LONG-J+1],"MR2"):";"

      W_Montant = W_Montant + W_RECUP[J,W_LONG-J+1]

      * quantit
      W_Temp=W_Temp:"0.00":";;;"

   	W_Temp=W_Temp:W_DateEcheance

      ENR_FICHIER<W_NBLIGNE>=W_Temp

   NEXT I

RETURN

****************************
* CONTREPARTIE
****************************
200
	
   * INCREMENTATION NB LIGNES
   W_NBLIGNE = W_NBLIGNE+1
   W_Temp=""

   * date d'criture
   W_Temp=OCONV(W_Date,"D2/")
   W_Temp=ICONV(W_Temp,"MCN"):";"

   * code journal
   W_Temp=W_Temp:W_Journal:";"

   * Code pice
   W_Temp=W_Temp:";"

   * compte gnral
   W_Temp=W_Temp:W_CpteBanque:";"

   * compte tiers
   W_Temp=W_Temp:";"

   * dsignation criture
   W_Temp=W_Temp:"PRELEVEMENTS":";"

   * sens de l'criture
   W_Temp=W_Temp:"D":";"

   * Montant
   W_Temp=W_Temp:OCONV(W_Montant,"MR2"):";"

   * quantit
   W_Temp=W_Temp:"0.00":";;;"

   W_Temp=W_Temp:W_DateEcheance

   ENR_FICHIER<W_NBLIGNE>=W_Temp
	
RETURN
