PROCREAD VARIABLES ELSE PRINT "PROCREAD"
MODULE=FIELD(VARIABLES," ",2)
OPEN "","VOC" TO F.VOC ELSE PRINT "VOC"
ENRVOC=""
ENRVOC=REPLACE(ENRVOC,1;"F")
CHEMIN="D:\TRANSFERT\":MODULE
ENRVOC=REPLACE(ENRVOC,2;CHEMIN:"\FIPAY")
ENRVOC=REPLACE(ENRVOC,3;CHEMIN:"\D_FIPAY")
WRITE ENRVOC ON F.VOC,"FIPAY"
ENRVOC=REPLACE(ENRVOC,2;CHEMIN:"\ECRETEMENT")
ENRVOC=REPLACE(ENRVOC,3;CHEMIN:"\D_ECRETEMENT")
WRITE ENRVOC ON F.VOC,"ECRETEMENT"
*
PRINTER ON
*
**********
* OUVERTURE DES FICHIERS
**********
OPEN "","CONTRAT" TO F.CONTRAT ELSE STOP
OPEN "","FIPAY" TO F.FIPAY ELSE STOP
OPEN "","ECRETEMENT" TO F.ECRETEMENT ELSE STOP
OPEN "","PERIODESPAIE" TO F.PERIODESPAIE ELSE STOP
READ ENRPERIODESPAIE FROM F.PERIODESPAIE,"1" ELSE STOP
PERIODEPAIE=EXTRACT(ENRPERIODESPAIE,1)
DEBPERIODEPAIE="01/":PERIODEPAIE[5,2]:"/":PERIODEPAIE[1,4]
DEBPERIODEPAIE=ICONV(DEBPERIODEPAIE,"D4/")
DERNPERIODEPAIE=PERIODEPAIE-1
IF DERNPERIODEPAIE[5,2]="00" THEN
 DERNPERIODEPAIE=PERIODEPAIE[1,4]-1
 DERNPERIODEPAIE=DERNPERIODEPAIE:"12"
END

EXECUTE 'SELECT CONTRAT AVEC 1 = "01" AND AVEC 5 = "H" AND AVEC 6 = "P" AND AVEC 8 >= ":DEBPERIODEPAIE:" OR = ""'
EXECUTE 'SAUVE-LISTE W_RequeteContrat'
EXECUTE "LISTE W_RequeteContrat" RETURNING MSGCODE
IF MSGCODE<1>#209 THEN
   SELECT F.CONTRAT TO W_RequeteContrat
END ELSE
  PRINT "PAS CONTRAT"
  STOP
END
PUCONTRAT="FAUX"
LOOP
   READNEXT CODE.CONTRAT FROM W_RequeteContrat ELSE PUCONTRAT = "VRAI"
WHILE PUCONTRAT # "VRAI" DO
   READ ENRCONTRAT FROM F.CONTRAT,CODE.CONTRAT ELSE PRINT "CONTRAT"
   ENRCONTRAT<5>="M"
   ENRCONTRAT<68>="1"
   ENRCONTRAT<69>="C"
   ENRCONTRAT<76>=DERNPERIODEPAIE
   ENRCONTRAT<77>="0"
   ENRCONTRAT<78>="0"
   ENRCONTRAT<79>="0"

   EXECUTE 'SELECT FIPAY AVEC NON DATE-SORTIE AND AVEC 60 ="':CODE.CONTRAT[1,5]:'"'
   EXECUTE 'SAUVE-LISTE W_RequeteFipay'
   EXECUTE "LISTE W_RequeteFipay" RETURNING MSGCODE

   IF MSGCODE<1>#209 THEN
      SELECT F.FIPAY TO W_RequeteFipay
      READNEXT CODE.FIPAY FROM W_RequeteFipay THEN
         READ ENRECRETEMENT FROM F.ECRETEMENT,CODE.FIPAY ELSE
          PRINT "ECRETEMENT":CODE.FIPAY
          ENRECRETEMENT<1>=0
         END
         ENRCONTRAT<80>=ENRECRETEMENT<1>                  
      END ELSE
         PRINT "PAS DE FIPAY :":CODE.FIPAY
      END
   END
   WRITE ENRCONTRAT ON F.CONTRAT,CODE.CONTRAT
REPEAT

STOP
