EXECUTE 'DATE.FORMAT'
   * TEST si  module GARDE ET/OU FACTURE
   GOSUB 900
   GOSUB 1000

   OPEN "","CLIENTS" TO F.CLIENTS ELSE STOP
   OPEN "","PARAMETR" TO F.PARAMETR ELSE STOP

   OPEN "","TABLES" TO F.TABLES ELSE STOP

   OPEN "","AGGIRAIDE" TO F.AGGIRAIDE ELSE STOP
   OPEN "","BLOCNOTAIDE" TO F.BLOCNOTAIDE ELSE STOP
   OPEN "","ENVIRONAIDE" TO F.ENVIRONAIDE ELSE STOP

   W_Count=0

**************************************************************
* FICHIER TABLES A REMPLIR A PARTIR DE PARAMETR
**************************************************************

* AUTRINTERVENANT

   READ ENR_PARAMETR FROM F.PARAMETR,"12" ELSE ENR_PARAMETR=""
   ENR_TABLES=""
   W_Count=DCOUNT(ENR_PARAMETR,CHAR(254))
   FOR i = 1 TO W_Count
      ENR_TABLES=REPLACE(ENR_TABLES,2,i;i "R%2")
      ENR_TABLES=REPLACE(ENR_TABLES,3,i;ENR_PARAMETR<i>)
      ENR_TABLES=REPLACE(ENR_TABLES,4,i;"00")
   NEXT i
   WRITE ENR_TABLES ON F.TABLES,"AUTRINTERVENANT"

****************************************************************************
* 2 eme partie : Contruction des fichiers
****************************************************************************

  W_CleNew=""
  ENR_CAPIMPAIDANT=""
  ENR_GADFIPAY=""
  EXECUTE 'TSELECT CLIENTS'

   W_Fini="FAUX"
   LOOP
      READNEXT W_CleCli ELSE W_Fini="VRAI"
   WHILE W_Fini="FAUX" DO
      READ ENR_CLIENTS FROM F.CLIENTS,W_CleCli ELSE ENR_CLIENTS=""

      W_PaiEmpl=W_CleCli[1,3]
      BEGIN CASE
         CASE W_PaiEmpl="PBF"
            READ ENR_PAIEMPL FROM F.PAIDEES,W_CleCli[4,4] ELSE ENR_PAIEMPL=""
         CASE W_PaiEmpl="EMP"
            READ ENR_PAIEMPL FROM F.EMPLOYEURS,W_CleCli[4,4] ELSE ENR_PAIEMPL=""
      END CASE

      W_CleNew=ENR_PAIEMPL<50>

      IF W_CleNew MATCH "5N" THEN
         GOSUB 10
         GOSUB 20
         GOSUB 30
      END

   REPEAT

   GOSUB 2000
STOP


****************************************************************
* AGGIRAIDE
****************************************************************
10

      ENR_AGGIRAIDE=""

      * Date et Groupe IsoRessource
      ENR_AGGIRAIDE=REPLACE(ENR_AGGIRAIDE,18;ENR_CLIENTS<35,2>)
      ENR_AGGIRAIDE=REPLACE(ENR_AGGIRAIDE,19;ENR_CLIENTS<32,2>)
      ENR_AGGIRAIDE=REPLACE(ENR_AGGIRAIDE,20;ENR_CLIENTS<35,1>)
      ENR_AGGIRAIDE=REPLACE(ENR_AGGIRAIDE,21;ENR_CLIENTS<32,1>)

      i=1
      LOOP
      WHILE ENR_CLIENTS<34,i> # ""
         W_Note=ENR_CLIENTS<34,2,i>
         ENR_AGGIRAIDE=REPLACE(ENR_AGGIRAIDE,i;W_Note)
         IF i => 3 AND i < 7 THEN
            ENR_AGGIRAIDE=REPLACE(ENR_AGGIRAIDE,i,2;W_Note)               
            ENR_AGGIRAIDE=REPLACE(ENR_AGGIRAIDE,i,3;W_Note)
         END
         IF i="4" THEN
            ENR_AGGIRAIDE=REPLACE(ENR_AGGIRAIDE,i,4;W_Note)               
         END
         i=i+1
      REPEAT

      IF ENR_AGGIRAIDE<1>#"" THEN
          WRITE ENR_AGGIRAIDE ON F.AGGIRAIDE,W_CleNew
      END

RETURN


***********************************************************************
* BLOCNOTAIDE
***********************************************************************
20

      READ ENR_BLOCNOTAIDE FROM F.BLOCNOTAIDE,W_CleNew ELSE ENR_BLOCNOTAIDE=""

      IF ENR_BLOCNOTAIDE#"" THEN ENR_BLOCNOTAIDE=REPLACE(ENR_BLOCNOTAIDE,1;ENR_BLOCNOTAIDE<1>:CHAR(13):CHAR(10))

      IF ENR_CLIENTS<45>#"" THEN
         ENR_BLOCNOTAIDE=REPLACE(ENR_BLOCNOTAIDE,1;ENR_CLIENTS<45>)
         i=46
         LOOP
         WHILE ENR_CLIENTS<i>#"" DO
             ENR_BLOCNOTAIDE=REPLACE(ENR_BLOCNOTAIDE,1;ENR_BLOCNOTAIDE<1>:CHAR(13):CHAR(10):ENR_CLIENTS<i>)          
             i=i+1         
         REPEAT
      END

      IF ENR_CLIENTS<41>#"" THEN
         READ ENR_PARAMETR FROM F.PARAMETR,"6" ELSE ENR_PARAMETR=""
         i=1
         LOOP
         WHILE ENR_CLIENTS<41,i>#"" DO
             LIBBESOIN=EXTRACT(ENR_PARAMETR,ENR_CLIENTS<41,i>[2,2])
             ENR_BLOCNOTAIDE=REPLACE(ENR_BLOCNOTAIDE,1;ENR_BLOCNOTAIDE<1>:CHAR(13):CHAR(10):LIBBESOIN)          
             i=i+1         
         REPEAT
      END

      IF ENR_CLIENTS<43>#"" THEN
         READ ENR_PARAMETR FROM F.PARAMETR,"7" ELSE ENR_PARAMETR=""
         i=1
         LOOP
         WHILE ENR_CLIENTS<43,i>#"" DO
             LIBBESOIN=EXTRACT(ENR_PARAMETR,ENR_CLIENTS<43,i>[2,2])
             ENR_BLOCNOTAIDE=REPLACE(ENR_BLOCNOTAIDE,1;ENR_BLOCNOTAIDE<1>:CHAR(13):CHAR(10):LIBBESOIN)          
             i=i+1         
         REPEAT
      END

      IF ENR_BLOCNOTAIDE#"" THEN WRITE ENR_BLOCNOTAIDE ON F.BLOCNOTAIDE,W_CleNew

RETURN

***********************************************************************
* ENVIRONAIDE
***********************************************************************
30

      READ ENR_TABLES FROM F.TABLES,"AUTRINTERVENANT" ELSE ENR_TABLES=""

      ENR_ENVIRONAIDE=""

      W_Count=DCOUNT(ENR_CLIENTS<3>,CHAR(253))
      IF W_Count#0 THEN
         D=1
         FOR i=1 TO W_Count
            j=1
            LOOP
            UNTIL ENR_TABLES<3,j> = ENR_CLIENTS<3,i> OR ENR_TABLES<3,j> = "" DO
               j=j+1
            REPEAT
            IF ENR_TABLES<3,j>#"" THEN 
               ENR_ENVIRONAIDE=REPLACE(ENR_ENVIRONAIDE,18,D;ENR_TABLES<2,j>)
               D=D+1
            END         
         NEXT i
      END

      W_Count=DCOUNT(ENR_CLIENTS<18>,CHAR(253))
      IF W_Count#0 THEN
         FOR i=1 TO W_Count
            ENR_ENVIRONAIDE=REPLACE(ENR_ENVIRONAIDE,5,i;ENR_CLIENTS<18,i>)                
            ENR_ENVIRONAIDE=REPLACE(ENR_ENVIRONAIDE,7,i;ENR_CLIENTS<21,i>)          
            ENR_ENVIRONAIDE=REPLACE(ENR_ENVIRONAIDE,8,i;ENR_CLIENTS<20,i>)          
         NEXT i
      END

      IF ENR_CLIENTS<24>#"" THEN
         ENR_ENVIRONAIDE=REPLACE(ENR_ENVIRONAIDE,15;ENR_CLIENTS<24>)
      END
      IF ENR_CLIENTS<24>#"" THEN
         ENR_ENVIRONAIDE=REPLACE(ENR_ENVIRONAIDE,16;ENR_CLIENTS<25>)
      END
      IF ENR_CLIENTS<24>#"" THEN
         ENR_ENVIRONAIDE=REPLACE(ENR_ENVIRONAIDE,17;ENR_CLIENTS<26>)
      END

      IF ENR_ENVIRONAIDE#"" THEN
         ENR_ENVIRONAIDE=REPLACE(ENR_ENVIRONAIDE,19;"")
         WRITE ENR_ENVIRONAIDE ON F.ENVIRONAIDE,W_CleNew
      END

RETURN

*********************************************************
* RECUPERATION DES PARAMETRES				*
*********************************************************
900 *
    W_GARDE=0
    W_FACTURE=0
    W_NBVALEUR=0
    ENR_PARAMASSO=""

    OPEN "","PARAMASSO" TO F.PARAMASSO ELSE STOP

    READ ENR_PARAMASSO FROM F.PARAMASSO,"1" ELSE STOP

    W_NBVALEUR=DCOUNT(ENR_PARAMASSO<1>,CHAR(253))	

    FOR I = 1 TO W_NBVALEUR
       IF ENR_PARAMASSO<1,I> = "GARDE" THEN W_GARDE=1
       IF ENR_PARAMASSO<1,I> = "FACTURE" THEN W_FACTURE=1
    NEXT I

RETURN

*************************************************************
* CREATION VOC                                              *
*************************************************************
1000 *
	OPEN "","VOC" TO F.VOC ELSE STOP

        W_MODULE="GESTEMPS"
	W_FICHIER="CLIENTS"
	GOSUB 1100
	W_FICHIER="PARAMETR"
	GOSUB 1100

        IF W_FACTURE=1 THEN
           W_MODULE="FACTURE"
    	   W_FICHIER="P.AIDEES"
	   GOSUB 1100
           OPEN "","P.AIDEES" TO F.PAIDEES ELSE STOP
        END

        IF W_GARDE=1 THEN
           W_MODULE="GARDE"
           W_FICHIER="EMPLOYEURS"
	   GOSUB 1100
           OPEN "","EMPLOYEURS" TO F.EMPLOYEURS ELSE STOP
        END

RETURN

*************************************************************
* CREATION LIAISION					    *
*************************************************************
1100 *

	ENR_VOC=""
	ENR_VOC=REPLACE(ENR_VOC,1;"F")
	ENR_VOC=REPLACE(ENR_VOC,2;"D:\TRANSFERT\":W_MODULE:"\":W_FICHIER)
	ENR_VOC=REPLACE(ENR_VOC,3;"D:\TRANSFERT\":W_MODULE:"\D_":W_FICHIER)
	WRITE ENR_VOC ON F.VOC,W_FICHIER

RETURN

*************************************************************
* SUPPRESSION VOC                                           *
*************************************************************
2000 *

	DELETE F.VOC,"CLIENTS"
	DELETE F.VOC,"PARAMETR"
	IF W_FACTURE=1 THEN DELETE F.VOC,"P.AIDEES"
	IF W_GARDE=1 THEN DELETE F.VOC,"EMPLOYEURS"

RETURN