EXECUTE 'DATE.FORMAT'
* RECUP GESTEMPS
   GOSUB 900
   GOSUB 1000

   OPEN "","SALARIES" TO F.SALARIES ELSE STOP
   OPEN "","CAPIMPAIDANT" TO F.CAPIMPAIDANT ELSE STOP
   OPEN "","FORMEXPAIDANT" TO F.FORMEXPAIDANT ELSE STOP

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

   ENR_TABLES=""
   W_Count=""

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

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

* IMPRESSION GENERALE
   ENR_TABLES=""
   READ ENR_PARAMETR FROM F.PARAMETR,"5" ELSE ENR_PARAMETR=""
   READ ENR_TABLES FROM F.TABLES,"IMPGENE" ELSE ENR_PARAMETR=""
   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>)
   NEXT i
   WRITE ENR_TABLES ON F.TABLES,"IMPGENE"

* DEFINITION TECHNIQUE
   ENR_TABLES=""
   READ ENR_PARAMETR FROM F.PARAMETR,"6" ELSE ENR_PARAMETR=""
   READ ENR_TABLES FROM F.TABLES,"DEFTECH" ELSE ENR_PARAMETR=""
   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>)
   NEXT i
   
   W_Indice=W_Count + 1
   READ ENR_PARAMETR FROM F.PARAMETR,"7" ELSE ENR_PARAMETR=""
   W_Count=W_Count + DCOUNT(ENR_PARAMETR,CHAR(254))
   FOR i = W_Indice TO W_Count
     IF i<=15 THEN
      ENR_TABLES=REPLACE(ENR_TABLES,2,i;i "R%2")
      ENR_TABLES=REPLACE(ENR_TABLES,3,i;ENR_PARAMETR<i+1-W_Indice>)
     END
   NEXT i

   WRITE ENR_TABLES ON F.TABLES,"DEFTECH"


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

  W_CleNew=""
  ENR_CAPIMPAIDANT=""
  ENR_GADFIPAY=""
  EXECUTE 'TSELECT SALARIES # "CAN]"'

   W_Fini="FAUX"
   LOOP
      READNEXT W_CleSal ELSE W_Fini="VRAI"
   WHILE W_Fini="FAUX" DO
      READ ENR_SALARIES FROM F.SALARIES,W_CleSal ELSE ENR_SALARIES=""

      W_SalGad=W_CleSal[1,3]
      BEGIN CASE
         CASE W_SalGad="GAD"
            READ ENR_GADFIPAY FROM F.GAD,W_CleSal[4,5] ELSE ENR_GADFIPAY=""
         CASE W_SalGad="SAL"
            READ ENR_GADFIPAY FROM F.FIPAY,W_CleSal[4,5] ELSE ENR_GADFIPAY=""
      END CASE

      W_CleNew=ENR_GADFIPAY<60>
      IF W_CleNew # "" THEN
         GOSUB 30
         GOSUB 40
      END

   REPEAT

   GOSUB 2000

STOP

***********************************************************************
* Rempli les capacites
* Parametre : W_Pos , W_IndFic
***********************************************************************
10
      W_Count=DCOUNT(ENR_SALARIES<21,W_Pos>,CHAR(252))
      FOR i=1 TO W_Count
         ENR_CAPIMPAIDANT=REPLACE(ENR_CAPIMPAIDANT,W_IndFic,i;ENR_SALARIES<21,W_Pos,i>)          
      NEXT i
      W_Indice=W_Count + 1
      W_Count=W_Count + DCOUNT(ENR_SALARIES<22,W_Pos>,CHAR(252))
      FOR i=W_Indice TO W_Count
        IF i<=15 THEN
         ENR_CAPIMPAIDANT=REPLACE(ENR_CAPIMPAIDANT,W_IndFic,i;ENR_SALARIES<22,W_Pos,i+1-W_Indice>)          
        END
      NEXT i
RETURN

***********************************************************************
* Rempli les impressions
* Parametre : W_Pos , W_IndFic
***********************************************************************
20
      W_Count=DCOUNT(ENR_SALARIES<20,W_Pos>,CHAR(252))
      FOR i=1 TO W_Count
         ENR_CAPIMPAIDANT=REPLACE(ENR_CAPIMPAIDANT,W_IndFic,i;ENR_SALARIES<20,W_Pos,i>)          
      NEXT i

RETURN

****************************************************************
* CAPIMPAIDANT
****************************************************************
30
      ENR_CAPIMPAIDANT=""

      * Capacite technique et relationnelle en cours
      ENR_CAPIMPAIDANT=REPLACE(ENR_CAPIMPAIDANT,1;ENR_SALARIES<42,2>)
      W_Pos=2
      W_IndFic=2
      GOSUB 10

      * Capacite technique et relationnelle precedente
      ENR_CAPIMPAIDANT=REPLACE(ENR_CAPIMPAIDANT,3;ENR_SALARIES<42,1>)
      W_Pos=1
      W_IndFic=4
      GOSUB 10

      * Impression generale en cours
      ENR_CAPIMPAIDANT=REPLACE(ENR_CAPIMPAIDANT,5;ENR_SALARIES<41,2>)
      W_Pos=2
      W_IndFic=6
      GOSUB 20

      * Impression generale precedente
      ENR_CAPIMPAIDANT=REPLACE(ENR_CAPIMPAIDANT,7;ENR_SALARIES<41,1>)
      W_Pos=1
      W_IndFic=8
      GOSUB 20

      WRITE ENR_CAPIMPAIDANT ON F.CAPIMPAIDANT,W_CleNew

RETURN

****************************************************************
* FORMEXPAIDANT
****************************************************************
40      
      ENR_FORMEXPAIDANT=""

      * Formation
      W_Count=DCOUNT(ENR_SALARIES<6>,CHAR(253))
      FOR i=1 TO W_Count
         ENR_FORMEXPAIDANT=REPLACE(ENR_FORMEXPAIDANT,6,i;ENR_SALARIES<6,i>)          
      NEXT i

      * Experience professionnelle
      W_Count=DCOUNT(ENR_SALARIES<8>,CHAR(253))
      FOR i=1 TO W_Count
         ENR_FORMEXPAIDANT=REPLACE(ENR_FORMEXPAIDANT,9,i;ENR_SALARIES<8,i>)          
      NEXT i
      ENR_FORMEXPAIDANT=REPLACE(ENR_FORMEXPAIDANT,13;"")    

      WRITE ENR_FORMEXPAIDANT ON F.FORMEXPAIDANT,W_CleNew

RETURN

*********************************************************
* RECUPERATION DES PARAMETRES				*
*********************************************************
900 *
        W_GARDE=0
        W_PAIE=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>="PAIE" THEN W_PAIE=1
	NEXT I


RETURN

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

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

        IF W_PAIE=1 THEN
           W_MODULE="PAIE"
	   W_FICHIER="FIPAY"
	   GOSUB 1100
           OPEN "","FIPAY" TO F.FIPAY ELSE STOP
        END

        IF W_GARDE=1 THEN
           W_MODULE="GARDE"
	   W_FICHIER="GAD"
	   GOSUB 1100
           OPEN "","GAD" TO F.GAD 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,"SALARIES"
	DELETE F.VOC,"PARAMETR"
	IF W_PAIE=1 THEN DELETE F.VOC,"FIPAY"
	IF W_GARDE=1 THEN DELETE F.VOC,"GAD"

RETURN