*****************************************************************
* rcupration de donnes en mandataire                         *
*  partir des fichiers DNT et IRCEM                            *
* vanessa                              janvier 2004             *
*****************************************************************
EXECUTE "SET-THOUS ."
EXECUTE "SET-DEC ,"
EXECUTE "DATE.FORMAT"
OPEN "","ACTIVITESAIDE" TO F.ACTIVITESAIDE ELSE STOP
OPEN "","ACTIVITESBISAIDE" TO F.ACTIVITESBISAIDE ELSE STOP
OPEN "","CIVILAIDE" TO F.CIVILAIDE ELSE STOP
OPEN "","CIVILAIDANT" TO F.CIVILAIDANT ELSE STOP
OPEN "","COMPTEUR" TO F.COMPTEUR ELSE STOP
OPEN "","CONTRAT" TO F.CONTRAT ELSE STOP
OPEN "","CONTRATINV" TO F.CONTRATINV ELSE STOP
OPEN "","DNT" TO F.DNT ELSE STOP
OPEN "","ELTSFACTAIDE" TO F.ELTSFACTAIDE ELSE STOP
OPEN "","ELTSPARTEMP" TO F.ELTSPARTEMP ELSE STOP
OPEN "","FUSION" TO F.FUSION ELSE STOP
OPEN "","PREVOYANCE" TO F.PREVOYANCE ELSE STOP
OPEN "","TYPEEXO" TO F.TYPEEXO ELSE STOP

*****************************************************
* paramtres  renseigner avant de lancer le prog.

* noms des fichiers  exploiter
W_FichierDNT="DNT42003.DNT"
W_FichierIrcem="IRCEM104"

* cotisation prvoyance appele par l'asso
W_Prev="0"

* charges URSSAF appeles par l'asso
W_Charge="0"

* blocage prlvement
W_BlocPrelev="1"

* n contrat IRCEM supplmentaire *  confirmer
W_ContratIRCEMSupp="OBZ0560"

* paiement du salaire par l'asso
W_PaieSal="0"

* paiement congs au mois
W_PaieConges="0"

* provision CP
W_ProvCP="0"

* Activit
W_Activite="001005"

* Profil exo 
W_ProfilExo="026"

* Profil non exo 
W_ProfilNonExo="027"

* contratprevoyance
W_ContratPrevSupp="05"

* centre urssaf
W_Urssaf="01"

* bareme
W_Bareme="01"
*****************************************************

 * DNT
   READ ENR_DNT FROM F.DNT,W_FichierDNT ELSE ENR_DNT=""
   W_Count=DCOUNT(ENR_DNT,CHAR(254))

   READ ENR_TYPEEXO FROM F.TYPEEXO,"1" ELSE ENR_TYPEEXO=""
   W_CountExo=DCOUNT(ENR_TYPEEXO<2>,CHAR(253))

   READ ENR_COMPTEUR FROM F.COMPTEUR,"999" ELSE ENR_COMPTEUR = ""

   W_CodeAide=0
   W_CodeAidant=0
   W_TabNir=""
   ENR_CORRESPAIDANT=""
   ENR_CORRESPAIDE=""

   * L on traite ligne par ligne.
   * Par defaut, le programme etant prevu au depart pour une base vide,
   * on incremente une variable  chaque aide.
   * On applique le meme principe pour l'aidant.
   * Hors dans le cas d'une base deja renseignee en prestataire, cela ne fonctionne pas car le programme ecrase
   * les donnees deja existante : par exemple si je suis en train de traiter le premier aidant du fichier, le programme
   * prend par defaut la cle 00001 et ecrase donc l'aidant qui existe deja avec le code 00001.
   * On doit donc pour chaque aide et aidant, verifier qu'il n'existe pas deja dans la base.
   * De plus on doit assurer la continuite des codes identifiants avec ceux deja existant.
   * Lors du traitement, on verifie donc que l'aide ou l'aidant n'existe pas deja.
   * Si c'est le cas on agit pas sur civilaide ou civilaidant. Sinon on passe dans les procedures de renseignements
   * des fichiers civilaide ou civilaidant. Au moment d'enregistrer l'aide ou l'aidant, on regarde si le compteur des aides ou des aidants est renseigne.
   * Si c'est le cas alors on continue l'incrmentation des identifiants a partir du fichier compteur.
   * Sinon on prend la variable qui est incrementee a chaque aide ou aidant.
   * Au final, soit la base n'etait pas renseigne et donc tous les aides, aidants ont ete crees de zro,
   * soit elle n'tait pas vide et dans ce cas seuls les aides et aidants n'existant pas deja sont creer, et cela avec les codes
   * assurant la continuite des identifiants.

   FOR i = 1 TO W_Count
	W_RESULTATAIDE=""
	W_RESULTATAIDANT=""
	
      IF ENR_DNT<i>[63,3]="G10" THEN
	W_Dossier=11
	EXECUTE 'SSELECT CIVILAIDE AVEC 2 = "':TRIMB(FIELD(ENR_DNT<i>[69,50]," ",1)):'" AND AVEC 3 = "':TRIMB(FIELD(ENR_DNT<i>[69,50]," ",2)):'"'
	EXECUTE 'SAUVE-LISTE W_RESULTATAIDE' 
	EXECUTE "LISTE W_RESULTATAIDE" RETURNING MSGCODE
	IF MSGCODE<1> = 209 THEN
		GOSUB 70
		W_CodeAide=ENR_COMPTEUR<W_Dossier>
		GOSUB 10
	END ELSE
   		SELECT F.CIVILAIDE TO W_RESULTATAIDE
		W_Fini="FAUX"
		READNEXT W_CodeAide FROM W_RESULTATAIDE ELSE W_Fini="VRAI"
   		READ ENR_CIVILAIDE FROM F.CIVILAIDE,W_CodeAide ELSE ENR_CIVILAIDE=""
		LOOP
			READNEXT W_Aide FROM W_RESULTATAIDE ELSE W_Fini="VRAI"
		WHILE W_Fini="FAUX" DO
			PRINT "ERREUR AIDE - ":W_Aide
		REPEAT
	END

        GOSUB 20

        ENR_CORRESPAIDE<-1>=ENR_CIVILAIDE<2>:" ":ENR_CIVILAIDE<3>
	* Modification du numero urssaf
        W_Ind=DCOUNT(ENR_CORRESPAIDE,CHAR(254))
        ENR_CORRESPAIDE<W_Ind,2>=ENR_ELTSPARTEMP<2>[9,10]:ENR_ELTSPARTEMP<2>[1,8]
        ENR_CORRESPAIDE<W_Ind,3>=W_CodeAide

        W_Passe="FAUX"

      END ELSE

         IF ENR_DNT<i>[63,3]="M30" THEN
	    W_Dossier=8
            W_CountNir=DCOUNT(W_TabNir,CHAR(254))
            W_Trouve="FAUX"
            FOR j = 1 TO W_CountNir
               IF W_TabNir<j> = ENR_DNT<i>[66,13] THEN
                  W_Trouve="VRAI"
                  EXIT
               END
            NEXT j

            IF W_Trouve="FAUX" THEN
		W_TEXT=ENR_DNT<i>[66,1]:" ":ENR_DNT<i>[67,2]:" ":ENR_DNT<i>[69,2]:" ":ENR_DNT<i>[71,2]:" ":ENR_DNT<i>[73,3]:" ":ENR_DNT<i>[76,3]
		EXECUTE 'SSELECT CIVILAIDANT AVEC 17 = "':W_TEXT:'" AND AVEC 18 = "':ENR_DNT<i>[79,2]:'"'
		EXECUTE 'SAUVE-LISTE W_RESULTATAIDANT' 
		EXECUTE "LISTE W_RESULTATAIDANT" RETURNING MSGCODE
		IF MSGCODE<1> = 209 THEN
			GOSUB 70
			W_CodeAidant=ENR_COMPTEUR<W_Dossier>
			GOSUB 30
		END ELSE

	   		SELECT F.CIVILAIDANT TO W_RESULTATAIDANT
			W_Fini="FAUX"
			READNEXT W_CodeAidant FROM W_RESULTATAIDANT ELSE W_Fini="VRAI"
   			READ ENR_CIVILAIDANT FROM F.CIVILAIDANT,W_CodeAidant ELSE ENR_CIVILAIDANT=""
			LOOP
				READNEXT W_Aidant FROM W_RESULTATAIDANT ELSE W_Fini="VRAI"
			WHILE W_Fini="FAUX" DO
				PRINT "ERREUR AIDANT - ":W_Aidant
			REPEAT
		END
		ENR_CORRESPAIDANT<-1>=ENR_CIVILAIDANT<2>:" ":ENR_CIVILAIDANT<3>
		W_Ind=DCOUNT(ENR_CORRESPAIDANT,CHAR(254))
		ENR_CORRESPAIDANT<W_Ind,2>=ENR_DNT<i>[66,15]
		ENR_CORRESPAIDANT<W_Ind,3>=W_CodeAidant
            END
            IF W_Passe="FAUX" THEN
               GOSUB 20
               W_Passe="VRAI"
            END
         END

      END

   NEXT i

   WRITE ENR_COMPTEUR ON F.COMPTEUR,"999"

   WRITE ENR_CORRESPAIDE ON F.FUSION,"CORRESPAIDE"
   WRITE ENR_CORRESPAIDANT ON F.FUSION,"CORRESPAIDANT"

 * IRCEM
   READ ENR_PREV FROM F.PREVOYANCE,W_FichierIrcem ELSE ENR_PREV=""
   W_Count=DCOUNT(ENR_PREV,CHAR(254))

   W_TabAide=""

   FOR i = 2 TO W_Count-1

      W_CountAide=DCOUNT(W_TabAide,CHAR(254))
      W_Trouve="FAUX"
      FOR j = 1 TO W_CountAide
         IF W_TabAide<j> = ENR_PREV<i>[45,15] THEN
            W_Trouve="VRAI"
            EXIT
         END
      NEXT j

      IF W_Trouve="FAUX" THEN
         GOSUB 40
         GOSUB 50
      END

      GOSUB 60

   NEXT i

STOP

**********************************************************************
* remplit CIVILAIDE

10

   ENR_CIVILAIDE=""
   ENR_CIVILAIDE<1>=ENR_DNT<i>[66,3]
   ENR_CIVILAIDE<2>=TRIMB(FIELD(ENR_DNT<i>[69,50]," ",1))
   ENR_CIVILAIDE<3>=TRIMB(FIELD(ENR_DNT<i>[69,50]," ",2))
   ENR_CIVILAIDE<4>=""
   ENR_CIVILAIDE<5>=TRIMB(ENR_DNT<i>[183,4])

   BEGIN CASE
      CASE ENR_DNT<i>[187,1] = "B"
         ENR_CIVILAIDE<6>="Bis"
      CASE ENR_DNT<i>[187,1] = "T"
         ENR_CIVILAIDE<6>="Ter"
      CASE ENR_DNT<i>[187,1] = "Q"
         ENR_CIVILAIDE<6>="Quater"
      CASE ENR_DNT<i>[187,1] = "C"
         ENR_CIVILAIDE<6>="Cinq"
   END CASE 

   ENR_CIVILAIDE<7>=CONVERT(" ","",ENR_DNT<i>[189,3])
   ENR_CIVILAIDE<8>=TRIMB(ENR_DNT<i>[192,23])
   ENR_CIVILAIDE<9>=TRIMB(ENR_DNT<i>[151,32])
   ENR_CIVILAIDE<10>=ENR_DNT<i>[247,5]
   ENR_CIVILAIDE<11>=TRIMB(ENR_DNT<i>[221,26])
   ENR_CIVILAIDE<12>="0"
   FOR j = 13 TO 16
      ENR_CIVILAIDE<j>=""
   NEXT j
   IF ENR_CIVILAIDE<1>="MME" OR ENR_CIVILAIDE<1>="MLE" THEN
      ENR_CIVILAIDE<17>="F"
   END ELSE
      ENR_CIVILAIDE<17>="M"
   END
   FOR j = 18 TO 22
      ENR_CIVILAIDE<j>=""
   NEXT j
   ENR_CIVILAIDE<23>="000000"
   ENR_CIVILAIDE<24>="FRANCE"
   ENR_CIVILAIDE<25>="1"
   FOR j = 26 TO 38
      ENR_CIVILAIDE<j>=""
   NEXT j
   ENR_CIVILAIDE<39>="001"
   ENR_CIVILAIDE<40>="0010101"
   ENR_CIVILAIDE<41>=ENR_DNT<i>[215,5]
   ENR_CIVILAIDE<42>=""
   ENR_CIVILAIDE<43>=ICONV(ENR_DNT<i>[289,8],"D4")
   IF ENR_CIVILAIDE<43> # "" THEN
      ENR_CIVILAIDE<44>="10"
   END 

   WRITE ENR_CIVILAIDE ON F.CIVILAIDE,W_CodeAide

RETURN

**********************************************************************
* remplit ELTSPARTEMP

20

   IF ENR_DNT<i>[63,3]="G10" THEN
      ENR_ELTSPARTEMP=""
      ENR_ELTSPARTEMP<1>=W_Urssaf
      ENR_ELTSPARTEMP<2>=ENR_DNT<i>[32,15]
      ENR_ELTSPARTEMP<4>=ENR_DNT<i>[15,14]
      ENR_ELTSPARTEMP<7>=W_Prev
      ENR_ELTSPARTEMP<8>=W_Charge
      ENR_ELTSPARTEMP<13>=W_Bareme
      ENR_ELTSPARTEMP<14>=ICONV(ENR_DNT<i>[289,8],"D4")

   END ELSE
      IF ENR_DNT<i>[63,3]="M30" THEN
         FOR j = 1 TO W_CountExo
            IF ENR_TYPEEXO<3,j>=ENR_DNT<i>[350,3] THEN
               EXIT
            END
         NEXT j
         ENR_ELTSPARTEMP<9>=ENR_TYPEEXO<1,j>
         IF ENR_ELTSPARTEMP<9> <= "01" THEN
            ENR_ELTSPARTEMP<12>=W_ProfilNonExo
         END ELSE
            ENR_ELTSPARTEMP<12>=W_ProfilExo
         END

      END
   END

   WRITE ENR_ELTSPARTEMP ON F.ELTSPARTEMP,W_CodeAide

RETURN

**********************************************************************
* remplit CIVILAIDANT

30

   ENR_CIVILAIDANT=""
   IF ENR_DNT<i>[66,1]="1" THEN
      ENR_CIVILAIDANT<1>="MR"
   END ELSE
      ENR_CIVILAIDANT<1>="MME"
   END
	* Les noms patronymiques et marital ont t invers dans les fichiers.
	* Il faut donc rattraper l'erreur ici.
   ENR_CIVILAIDANT<4>=TRIMB(ENR_DNT<i>[81,30])
   ENR_CIVILAIDANT<3>=TRIMB(ENR_DNT<i>[111,20])

   W_Nom=TRIMB(ENR_DNT<i>[151,30])
   IF W_Nom="" THEN
       ENR_CIVILAIDANT<2>=ENR_CIVILAIDANT<4>
   END ELSE
       ENR_CIVILAIDANT<2>=W_Nom
   END

   ENR_CIVILAIDANT<5>=TRIMB(ENR_DNT<i>[253,4])

   BEGIN CASE
      CASE ENR_DNT<i>[257,1] = "B"
         ENR_CIVILAIDANT<6>="Bis"
      CASE ENR_DNT<i>[257,1] = "T"
         ENR_CIVILAIDANT<6>="Ter"
      CASE ENR_DNT<i>[257,1] = "Q"
         ENR_CIVILAIDANT<6>="Quater"
      CASE ENR_DNT<i>[257,1] = "C"
         ENR_CIVILAIDANT<6>="Cinq"
   END CASE 

   ENR_CIVILAIDANT<7>=ENR_DNT<i>[259,3]
   ENR_CIVILAIDANT<8>=TRIMB(ENR_DNT<i>[262,23])
   ENR_CIVILAIDANT<9>=TRIMB(ENR_DNT<i>[221,32])
   ENR_CIVILAIDANT<10>=ENR_DNT<i>[317,5]
   ENR_CIVILAIDANT<11>=TRIMB(ENR_DNT<i>[291,26])
   FOR j = 12 TO 15
      ENR_CIVILAIDANT<j>=""
   NEXT j

   IF ENR_DNT<i>[66,1]="1" THEN
      ENR_CIVILAIDANT<16>="M"
   END ELSE
      ENR_CIVILAIDANT<16>="F"
   END

   ENR_CIVILAIDANT<17>=ENR_DNT<i>[66,1]:" ":ENR_DNT<i>[67,2]:" ":ENR_DNT<i>[69,2]:" ":ENR_DNT<i>[71,2]:" ":ENR_DNT<i>[73,3]:" ":ENR_DNT<i>[76,3]

   W_CountNir=DCOUNT(W_TabNir,CHAR(254))
   W_TabNir<W_CountNir+1>=ENR_DNT<i>[66,13]

   ENR_CIVILAIDANT<18>=ENR_DNT<i>[79,2]
   ENR_CIVILAIDANT<19>="FRANCE"
   ENR_CIVILAIDANT<20>="000000"
   ENR_CIVILAIDANT<21>="1"
   FOR j = 22 TO 25
      ENR_CIVILAIDANT<j>=""
   NEXT j
   ENR_CIVILAIDANT<26>=ICONV(ENR_DNT<i>[182,8],"D4")
   ENR_CIVILAIDANT<27>=TRIMB(ENR_DNT<i>[195,26])
   ENR_CIVILAIDANT<28>=ENR_DNT<i>[190,2]
   ENR_CIVILAIDANT<29>="000000"
   ENR_CIVILAIDANT<30>="FRANCE"
   ENR_CIVILAIDANT<31>="001"
   ENR_CIVILAIDANT<32>="01"
   ENR_CIVILAIDANT<33>="01"
   ENR_CIVILAIDANT<34>="4"
   ENR_CIVILAIDANT<35>="001001"

   WRITE ENR_CIVILAIDANT ON F.CIVILAIDANT,W_CodeAidant

RETURN

**********************************************************************
* remplit ACTIVITESAIDE + ACTIVITESBISAIDE + ELTSFACTAIDE

40

   ENR_ACTIVITESBISAIDE=""

   W_CountAide=DCOUNT(W_TabAide,CHAR(254))
   W_TabAide<W_CountAide+1>=ENR_PREV<i>[45,15]

   * RECHERCHE CODE AIDE
   k=1
   LOOP    
   UNTIL INT(ENR_CORRESPAIDE<k,2>)[1,12] = INT(ENR_PREV<i>[45,15])[1,12] OR ENR_CORRESPAIDE<k,2> = "" DO
      k=k+1
   REPEAT

   W_CodeAide=ENR_CORRESPAIDE<k,3>
   IF ENR_CORRESPAIDE<k,2> # "" THEN

      W_DateDeb=ICONV(ENR_PREV<i>[247,8],"D4")
      READ ENR_ACTIVITESAIDE FROM F.ACTIVITESAIDE,W_CodeAide THEN
         l=1
         LOOP    
         UNTIL (ENR_ACTIVITESAIDE<2,l> # "" AND ENR_ACTIVITESAIDE<2,l> <= W_DateDeb) OR (ENR_ACTIVITESAIDE<1,l> = "" AND ENR_ACTIVITESAIDE<2,l> = "") DO
            l=l+1
         REPEAT
         IF ENR_ACTIVITESAIDE<1,l> = "" THEN
            ENR_ACTIVITESAIDE<1,-1>=W_Activite
            ENR_ACTIVITESAIDE<2,-1>=ICONV(ENR_PREV<i>[247,8],"D4")
            ENR_ACTIVITESAIDE<3,-1>=ICONV(ENR_PREV<i>[255,8],"D4")
            IF ENR_ACTIVITESAIDE<3,-1> # "" THEN
               ENR_ACTIVITESAIDE<4,-1>="01"  
            END
         END ELSE
	    ENR_ACTIVITESAIDE = INSERT(ENR_ACTIVITESAIDE,1,l;W_Activite)
	    ENR_ACTIVITESAIDE = INSERT(ENR_ACTIVITESAIDE,2,l;ICONV(ENR_PREV<i>[247,8],"D4"))
            W_DateFin=ICONV(ENR_PREV<i>[255,8],"D4")
            IF W_DateFin # "" THEN
	       ENR_ACTIVITESAIDE = INSERT(ENR_ACTIVITESAIDE,3,l;W_DateFin)
  	       ENR_ACTIVITESAIDE = INSERT(ENR_ACTIVITESAIDE,4,l;"01")
            END ELSE
	       ENR_ACTIVITESAIDE = INSERT(ENR_ACTIVITESAIDE,3,l;"0")
	       ENR_ACTIVITESAIDE = INSERT(ENR_ACTIVITESAIDE,4,l;"0")
	       ENR_ACTIVITESAIDE<3,l>=""
	       ENR_ACTIVITESAIDE<4,l>=""
            END
         END
      END ELSE
         ENR_ACTIVITESAIDE=""

         ENR_ACTIVITESAIDE<1>=W_Activite
         ENR_ACTIVITESAIDE<2>=ICONV(ENR_PREV<i>[247,8],"D4")
         ENR_ACTIVITESAIDE<3>=ICONV(ENR_PREV<i>[255,8],"D4")
         IF ENR_ACTIVITESAIDE<3> # "" THEN
            ENR_ACTIVITESAIDE<4>="01"
         END
         ENR_ACTIVITESAIDE<5>="0"

      END

      WRITE ENR_ACTIVITESAIDE ON F.ACTIVITESAIDE,W_CodeAide

      ENR_ACTIVITESBISAIDE<1>=ICONV(ENR_PREV<i>[255,8],"D4")
      IF ENR_ACTIVITESBISAIDE<1>#"" THEN
         ENR_ACTIVITESBISAIDE<2>="01"
      END

      W_CleActBis=W_CodeAide:W_Activite:ICONV(ENR_PREV<i>[247,8],"D4")
      WRITE ENR_ACTIVITESBISAIDE ON F.ACTIVITESBISAIDE,W_CleActBis
   
      READ ENR_ELTSFACTAIDE FROM F.ELTSFACTAIDE,W_CodeAide ELSE
	 ENR_ELTSFACTAIDE=""
         ENR_ELTSFACTAIDE<1>="M"
         ENR_ELTSFACTAIDE<18>=TRIMB(ENR_PREV<i>[282,5])
         ENR_ELTSFACTAIDE<19>=TRIMB(ENR_PREV<i>[287,5])
         ENR_ELTSFACTAIDE<20>=TRIMB(ENR_PREV<i>[292,11])
         ENR_ELTSFACTAIDE<21>=TRIMB(ENR_PREV<i>[303,2])
         ENR_ELTSFACTAIDE<25>=W_BlocPrelev
      
         WRITE ENR_ELTSFACTAIDE ON F.ELTSFACTAIDE,W_CodeAide
      END

   END

RETURN

**********************************************************************
* remplit ELTSPARTEMP

50

   IF W_ContratIRCEMSupp = ENR_PREV<i>[28,7] THEN

      READ ENR_ELTSPARTEMP FROM F.ELTSPARTEMP,W_CodeAide ELSE ENR_ELTSPARTEMP=""
      ENR_ELTSPARTEMP<5>=ICONV(ENR_PREV<i>[263,8],"D4")
      ENR_ELTSPARTEMP<6>=ICONV(ENR_PREV<i>[255,8],"D4")
      ENR_ELTSPARTEMP<15>=W_ContratPrevSupp

      WRITE ENR_ELTSPARTEMP ON F.ELTSPARTEMP,W_CodeAide

   END

RETURN

**********************************************************************
* remplit CONTRAT

60

   ENR_CONTRAT=""
   ENR_CONTRAT<1>="02"
   ENR_CONTRAT<2>="001"
   ENR_CONTRAT<3>=W_CodeAide
   ENR_CONTRAT<4>="I"
   ENR_CONTRAT<5>="H"
   ENR_CONTRAT<6>="P"
   ENR_CONTRAT<7>=ICONV(ENR_PREV<i>[491,8],"D4")
   ENR_CONTRAT<8>=ICONV(ENR_PREV<i>[499,8],"D4")
   FOR j = 9 TO 11
      ENR_CONTRAT<j>=""
   NEXT j
   ENR_CONTRAT<12>="0"
   ENR_CONTRAT<13>=""
   ENR_CONTRAT<14>="00"
   ENR_CONTRAT<15>=ENR_CONTRAT<7>
   ENR_CONTRAT<16>="EMPLOYE DE MAISON"
   ENR_CONTRAT<17>="563c"
   ENR_CONTRAT<18>="PERSONNELS DES SERVICES DIRECTS AUX PARTICULIERS"
   ENR_CONTRAT<19>="Employs de maison et personnels de mnage chez des particuliers"
   ENR_CONTRAT<20>="02002"
   ENR_CONTRAT<21>=ENR_CONTRAT<7>
   FOR j = 22 TO 24
      ENR_CONTRAT<j>="0"
   NEXT j
   ENR_CONTRAT<25>="3"
   READ ENR_ELTSPARTEMP FROM F.ELTSPARTEMP,W_CodeAide ELSE ENR_ELTSPARTEMP=""
   ENR_CONTRAT<26>=ENR_ELTSPARTEMP<12>
   ENR_CONTRAT<27>="2"
   ENR_CONTRAT<28>=W_PaieSal
   ENR_CONTRAT<29>=ENR_ELTSPARTEMP<15>
   ENR_CONTRAT<30>="B"
   ENR_CONTRAT<31>=W_PaieConges
   ENR_CONTRAT<32>="0"
   ENR_CONTRAT<33>="0"
   ENR_CONTRAT<34>=""
   ENR_CONTRAT<35>=""
   ENR_CONTRAT<36>=W_Activite
   ENR_CONTRAT<37>=""
   FOR j = 38 TO 48
      ENR_CONTRAT<j>="0"
   NEXT j

   IF ENR_CONTRAT<8> # "" THEN

      ENR_CONTRAT<49>="60"
      ENR_CONTRAT<50>=ENR_CONTRAT<8>
      ENR_CONTRAT<51>=ENR_CONTRAT<8>
      ENR_CONTRAT<52>="0"
      FOR j = 53 TO 57
         ENR_CONTRAT<j>=""
      NEXT j

      W_DateFin=OCONV(ENR_CONTRAT<8>,"D4/")
      ENR_CONTRAT<58>= W_DateFin[7,4]:W_DateFin[4,2]

      FOR j = 59 TO 67
         ENR_CONTRAT<j>=""
      NEXT j

   END ELSE

      FOR j = 49 TO 67
         ENR_CONTRAT<j>=""
      NEXT j

   END

   ENR_CONTRAT<68>="0"
   FOR j = 69 TO 81
      ENR_CONTRAT<j>=""
   NEXT j
   ENR_CONTRAT<82>="242"
   ENR_CONTRAT<83>="0"
   ENR_CONTRAT<84>=""
   ENR_CONTRAT<85>="0"
   ENR_CONTRAT<86>="0"
   FOR j = 87 TO 93
      ENR_CONTRAT<j>=""
   NEXT j
   ENR_CONTRAT<94>=W_ProvCP

   * RECHERCHE CODE AIDANT
   l=1
   LOOP    
   UNTIL ENR_CORRESPAIDANT<l,2> = ENR_PREV<i>[305,13]:ENR_PREV<i>[318,2] OR ENR_CORRESPAIDANT<l,2> = "" DO
      l=l+1
   REPEAT
   W_CodeAidant=ENR_CORRESPAIDANT<l,3>
   IF ENR_CORRESPAIDANT<l,2> # "" THEN
      READ ENR_CIVILAIDANT FROM F.CIVILAIDANT,W_CodeAidant ELSE ENR_CIVILAIDANT=""
      IF ENR_CIVILAIDANT<41>="" THEN
         ENR_CIVILAIDANT<41>="001"
      END ELSE
         ENR_CIVILAIDANT<41>=ENR_CIVILAIDANT<41>+1 "R%3"
      END
      WRITE ENR_CIVILAIDANT ON F.CIVILAIDANT,W_CodeAidant

      WRITE ENR_CONTRAT ON F.CONTRAT,W_CodeAidant:ENR_CIVILAIDANT<41>
   END

   IF W_CodeAidant # "" AND W_CodeAide # "" THEN
      READ ENR_CONTRATINV FROM F.CONTRATINV,W_CodeAidant:W_CodeAide ELSE ENR_CONTRATINV=""

      IF ENR_CONTRATINV="" THEN
         ENR_CONTRATINV<1>=ENR_CIVILAIDANT<41>
      END ELSE
         W_CountInv=DCOUNT(ENR_CONTRATINV<1>,CHAR(253))
         ENR_CONTRATINV<1,W_CountInv+1>=ENR_CIVILAIDANT<41>
      END

      WRITE ENR_CONTRATINV ON F.CONTRATINV,W_CodeAidant:W_CodeAide
   END

RETURN

**********************************************************************
* remplit COMPTEUR

70
	IF ENR_COMPTEUR<W_Dossier> # "" AND ENR_COMPTEUR<W_Dossier> # 0 THEN
		ENR_COMPTEUR<W_Dossier>=ENR_COMPTEUR<W_Dossier>+1 "R%5"
	END ELSE
		ENR_COMPTEUR<W_Dossier>="00001"
	END

RETURN
