****************************************************************
*
* MOULINETTE DE GENERATION DU FICHIER DETAILPREST A PARTIR
* DU FICHIER MODS
*
* MAI 2000                                  DIDIER
****************************************************************
EXECUTE 'DATE.FORMAT'
OPEN "","VOC" TO F.VOC ELSE STOP
ENRVOC=""
ENRVOC=REPLACE(ENRVOC,1;"F")
CHEMIN="D:\TRANSFERT\PAIE"
ENRVOC=REPLACE(ENRVOC,2;CHEMIN:"\FIPAY")
ENRVOC=REPLACE(ENRVOC,3;CHEMIN:"\D_FIPAY")
WRITE ENRVOC ON F.VOC,"FIPAY"
CHEMIN="D:\TRANSFERT\FACTURE"
ENRVOC=REPLACE(ENRVOC,2;CHEMIN:"\MODS")
ENRVOC=REPLACE(ENRVOC,3;CHEMIN:"\D_MODS")
WRITE ENRVOC ON F.VOC,"MODS"
ENRVOC=REPLACE(ENRVOC,2;CHEMIN:"\P.AIDEES")
ENRVOC=REPLACE(ENRVOC,3;CHEMIN:"\D_P.AIDEES")
WRITE ENRVOC ON F.VOC,"P.AIDEES"

**********
* OUVERTURE DES FICHIERS
**********
OPEN "","FIPAY" TO F.FIPAY ELSE STOP
OPEN "","P.AIDEES" TO F.PAIDEES ELSE STOP
OPEN "","MODS" TO F.MODS ELSE STOP
OPEN "","CONTRAT" TO F.CONTRAT ELSE STOP
OPEN "","CIVILAIDE" TO F.CIVILAIDE ELSE STOP
OPEN "","DETAILPREST" TO F.DETAILPREST ELSE STOP
OPEN "","PERIODESPAIE" TO F.PERIODESPAIE ELSE STOP
READ ENR_PERIODESPAIE FROM F.PERIODESPAIE,"1" ELSE STOP
PERIODEPAIE=EXTRACT(ENR_PERIODESPAIE,1)
DEBPERIODEPAIE="01/":PERIODEPAIE[5,2]:"/":PERIODEPAIE[1,4]
PERIODEPAIE1=PERIODEPAIE+1
IF PERIODEPAIE1[5,2]="13" THEN
 PERIODEPAIE1=PERIODEPAIE[1,4]+1
 PERIODEPAIE1=PERIODEPAIE1:"01"
END
PERIODEPAIE1="01/":PERIODEPAIE1[5,2]:"/":PERIODEPAIE1[1,4]
PERIODEPAIE1=ICONV(PERIODEPAIE1,"D4/")
PERIODEPAIE1=PERIODEPAIE1-1
FINPERIODEPAIE=OCONV(PERIODEPAIE1,"D4/")
**********
* SELECTION MODS
**********
EXECUTE "TSELECT MODS PAR CODEAM"
EXECUTE 'SAUVE-LISTE LISTMODS'
EXECUTE 'LISTE LISTMODS' RETURNING W_MSG
IF W_MSG<1>="209" THEN STOP
SELECT F.MODS TO LISTMODS
CODESAL1=""
ENRDETAILPREST=""
10 READNEXT CODE FROM LISTMODS ELSE
 READ ENRFIPAY FROM F.FIPAY,CODESAL1 ELSE STOP
 NOUVCODESAL=EXTRACT(ENRFIPAY,60)
 GOSUB 100
 EXECUTE 'EFFACER-LISTE LISTMODS'
 STOP
END
CODESAL=CODE[1,5]
IF CODESAL1="" THEN CODESAL1=CODESAL
IF CODESAL#CODESAL1 THEN
 READ ENRFIPAY FROM F.FIPAY,CODESAL1 ELSE GOTO 10
 NOUVCODESAL=EXTRACT(ENRFIPAY,60)
 GOSUB 100
 CODESAL1=CODESAL
 ENRDETAILPREST=""
END
READ ENRMODS FROM F.MODS,CODE ELSE GOTO 10
CODEPB=EXTRACT(ENRMODS,1)
READ ENRPAIDEES FROM F.PAIDEES,CODEPB ELSE GOTO 10
NOUVCODEPB=EXTRACT(ENRPAIDEES,50)
READ ENRCIVILAIDE FROM F.CIVILAIDE,NOUVCODEPB ELSE GOTO 10
IF EXTRACT(ENRCIVILAIDE,43)#"" THEN GOTO 10
ENRDETAILPREST=REPLACE(ENRDETAILPREST,1,-1;NOUVCODEPB)
ENRDETAILPREST=REPLACE(ENRDETAILPREST,2,-1;"019")
ENRDETAILPREST=REPLACE(ENRDETAILPREST,3,-1;"0")
ENRDETAILPREST=REPLACE(ENRDETAILPREST,4,-1;"001001")
GOTO 10
**********
* RECHERCHE CONTRAT ACTIF
**********
100 EXECUTE 'SELECT CONTRAT AVEC @ID = "':NOUVCODESAL:']" AND AVEC ConvColContrat = "01" AND AVEC AssocContrat = "001" AND AVEC DatDebContrat <= ":FINPERIODEPAIE:" AND AVEC DatFinContrat = "" OR >= ":DEBPERIODEPAIE:" AND AVEC 65 # "O"'  
READNEXT CLECONTRAT ELSE RETURN
ENRDETAILPREST<15>=""
WRITE ENRDETAILPREST ON F.DETAILPREST,CLECONTRAT:PERIODEPAIE
RETURN
