*****************************************************
*
* MOULINETTE DE TRANSFERT DES EMPLOYEURS D'UN MODULE
* GARDE VERS CIVILAIDE
*
* OCTOBRE 98                                    DIDIER
*****************************************************
EXECUTE 'DATE.FORMAT'
PROCREAD VARIABLES ELSE STOP
MODULE=FIELD(VARIABLES," ",2)
OPEN "","VOC" TO F.VOC ELSE STOP
OPEN "","PARAMASSO" TO F.PARAMASSO ELSE STOP
READ ENRPARAMASSO FROM F.PARAMASSO,"1" ELSE STOP
TYPEBASE=EXTRACT(ENRPARAMASSO,6)
ENRVOC=""
ENRVOC=REPLACE(ENRVOC,1;"F")
CHEMIN="D:\TRANSFERT\":MODULE
ENRVOC=REPLACE(ENRVOC,2;CHEMIN:"\EMPLOYEURS")
ENRVOC=REPLACE(ENRVOC,3;CHEMIN:"\D_EMPLOYEURS")
WRITE ENRVOC ON F.VOC,"EMPLOYEURS"
ENRVOC=REPLACE(ENRVOC,2;CHEMIN:"\BANQUE")
ENRVOC=REPLACE(ENRVOC,3;CHEMIN:"\D_BANQUE")
WRITE ENRVOC ON F.VOC,"BANQUE"
IF TYPEBASE="P" THEN
 ENRVOC=REPLACE(ENRVOC,2;CHEMIN:"\EMPLOI/GAD")
 ENRVOC=REPLACE(ENRVOC,3;CHEMIN:"\D_EMPLOI/GAD")
 WRITE ENRVOC ON F.VOC,"EMPLOI/GAD"
END ELSE
 ENRVOC=REPLACE(ENRVOC,2;CHEMIN:"\EMPLOI-GAD")
 ENRVOC=REPLACE(ENRVOC,3;CHEMIN:"\D_EMPLOI-GAD")
 WRITE ENRVOC ON F.VOC,"EMPLOI-GAD"
END
**********
* OUVERTURE DES FICHIERS
**********
OPEN "","EMPLOYEURS" TO F.EMPLOYEURS ELSE STOP
OPEN "","BANQUE" TO F.BANQUE ELSE STOP
IF TYPEBASE="P" THEN
 OPEN "","EMPLOI/GAD" TO F.EMPLOIGAD ELSE STOP
END ELSE
 OPEN "","EMPLOI-GAD" TO F.EMPLOIGAD ELSE STOP
END
OPEN "","TEMPAIDE" TO F.TEMPAIDE ELSE STOP
OPEN "","CIVILAIDE" TO F.CIVILAIDE ELSE STOP
OPEN "","ELTSFACTAIDE" TO F.ELTSFACTAIDE ELSE STOP
OPEN "","ELTSPARTEMP" TO F.ELTSPARTEMP ELSE STOP
OPEN "","ENVIRONAIDE" TO F.ENVIRONAIDE ELSE STOP
OPEN "","PAYS" TO F.PAYS ELSE STOP
OPEN "","COMPTEUR" TO F.COMPTEUR ELSE STOP
OPEN "","ACTIVITESAIDE" TO F.ACTIVITESAIDE ELSE STOP
OPEN "","CENTREURSSAF" TO F.CENTREURSSAF ELSE STOP
OPEN "","ERREURSMIGR" TO F.ERREURSMIGR ELSE STOP
I=1
J=0
PRESENCEMODULE=0
PRESENCEGESTEMPS=0
LOOP
 COMPTE=EXTRACT(ENRPARAMASSO,1,I)
 UNTIL COMPTE="" DO
  IF COMPTE=MODULE THEN
   PRESENCEMODULE=1
   J=I
  END
  IF COMPTE="GESTEMPS" THEN PRESENCEGESTEMPS=1
  I=I+1
REPEAT
IF PRESENCEMODULE=0 THEN STOP
I=J
CODEACTIVITE=EXTRACT(ENRPARAMASSO,2,I):EXTRACT(ENRPARAMASSO,3,I)
READ ENRPARAMASSO FROM F.PARAMASSO,MODULE ELSE STOP
CODECONTRATPREV=EXTRACT(ENRPARAMASSO,7)
READ ENRCENTREURSSAF FROM F.CENTREURSSAF,"01" ELSE STOP
CODORGURSSAF=EXTRACT(ENRCENTREURSSAF,16)
**********
* INITIALISATIONS
**********
VIDE=""
B1=" "
B2="  "
READ ENRCOMPTEUR FROM F.COMPTEUR,"999" ELSE ENRCOMPTEUR=""
COMPT=EXTRACT(ENRCOMPTEUR,11)
IF COMPT="" THEN COMPT=0
READ ENRERREURSMIGR FROM F.ERREURSMIGR,"1" ELSE ENRERREURSMIGR=""
ENRERREURSMIGR=REPLACE(ENRERREURSMIGR,-1;"PR1 TRANSEMPLOYEURS")
**********
* SELECTION DES EMPLOYEURS
**********
EXECUTE 'SELECT EMPLOYEURS'
10 READNEXT CODEEMPL ELSE
  ENRCOMPTEUR=REPLACE(ENRCOMPTEUR,11;COMPT)
  WRITE ENRCOMPTEUR ON F.COMPTEUR,"999"
  DELETE F.VOC,"EMPLOYEURS"
  DELETE F.VOC,"BANQUE"
  DELETE F.VOC,"EMPLOI-GAD"
  DELETE F.VOC,"EMPLOI/GAD"
  WRITE ENRERREURSMIGR ON F.ERREURSMIGR,"1"
  STOP
END
**********
* LECTURE D'UN NOUVEL EMPLOYEUR
**********
READ ENREMPLOYEURS FROM F.EMPLOYEURS,CODEEMPL ELSE GOTO 10
ENRCIVILAIDE=VIDE
   * TRAVAIL DE L'ETAT-CIVIL
GOSUB 100
   *TRAVAIL DES ADRESSES
ADRESSEFACT="NON"
GOSUB 200
   *RECHERCHE SI EMPLOYEUR DEJA TRAITE
DEJATRAITE="NON"
DEJATRAITEAVANT="NON"
GOSUB 300 
IF DEJATRAITE="NON" OR DEJATRAITEAVANT="NON" THEN
   WRITE ENRCIVILAIDE ON F.CIVILAIDE,CODE.CIVILAIDE
END
IF TROPLONG <> VIDE THEN
   PRENOM=PRENOM:B1:TROPLONG
   LIBERREUR="Pb sur Titre-Nom-Prenom Employeur ancien code : ":CODEEMPL:"   nouveau code : ":CODE.CIVILAIDE
   ENRERREURSMIGR=REPLACE(ENRERREURSMIGR,-1;LIBERREUR)
END
READ ENREMPLOIGAD FROM F.EMPLOIGAD,CODEEMPL ELSE ENREMPLOIGAD=""
ENREMPLOIGAD=REPLACE(ENREMPLOIGAD,12;CODE.CIVILAIDE)
WRITE ENREMPLOIGAD ON F.EMPLOIGAD,CODEEMPL
ENREMPLOYEURS=REPLACE(ENREMPLOYEURS,50;CODE.CIVILAIDE)
WRITE ENREMPLOYEURS ON F.EMPLOYEURS,CODEEMPL
   *TRAVAIL DES ACTIVITES
GOSUB 150
WRITE ENRACTIVITESAIDE ON F.ACTIVITESAIDE,CODE.CIVILAIDE
      *TRAVAIL ADRESSE FACTURATION ET ADRESSE BANCAIRE
ENVOICOURRIER=TRIM(EXTRACT(ENREMPLOYEURS,21))
PRELEVEMENT=TRIM(EXTRACT(ENREMPLOYEURS,22))
IF DEJATRAITEAVANT="NON" THEN
   GOSUB 400 
END    
GOSUB 500
WRITE ENRELTSPARTEMP ON F.ELTSPARTEMP,CODE.CIVILAIDE
   *TRAVAIL PERSONNE A PREVENIR (ENVIRONNEMENT AIDE)
IF ENVOICOURRIER#"O" AND TRIM(EXTRACT(ENREMPLOYEURS,16))#"" THEN GOSUB 600
GOTO 10
*********** ETAT-CIVIL
**********
100 TNP=TRIM(EXTRACT(ENREMPLOYEURS,2))
NOM=FIELD(TNP,B1,2)
READ ENRTEMPAIDE FROM F.TEMPAIDE,NOM ELSE ENRTEMPAIDE=""
ENRCIVILAIDE=REPLACE(ENRCIVILAIDE,2;NOM)
TITRE=FIELD(TNP,B1,1)
SEXE="F"
IF LEN(TITRE)<=2 THEN
   SEXE="M"
   TITRE="MR"
END ELSE
   IF TITRE="MLE" OR TITRE="Mle" OR TITRE="MELLE" OR TITRE="MLLE" OR TITRE="Mlle" THEN
      TITRE="MLE"
   END ELSE
      TITRE="MME"
   END
END
ENRCIVILAIDE=REPLACE(ENRCIVILAIDE,1;TITRE)
ENRCIVILAIDE=REPLACE(ENRCIVILAIDE,17;SEXE)
PRENOM=FIELD(TNP,B1,3)
ENRCIVILAIDE=REPLACE(ENRCIVILAIDE,3;PRENOM)
TROPLONG=TRIM(FIELD(TNP,B1,4))
PATRO=TRIM(EXTRACT(ENREMPLOYEURS,8))
ENRCIVILAIDE=REPLACE(ENRCIVILAIDE,4;PATRO)
DDN=TRIM(EXTRACT(ENREMPLOYEURS,9))
ENRCIVILAIDE=REPLACE(ENRCIVILAIDE,20;DDN)
NUMERO.B1=TRIM(EXTRACT(ENREMPLOYEURS,10))
CLE=NUMERO.B1[20,2]
NUMERO.B1=NUMERO.B1[1,18]
IF NUMERO.B1 <> B1 OR NUMERO.B1 <> VIDE THEN
   NUMERO=NUMERO.B1
   NUMERO=NUMERO[1,1]:NUMERO[3,2]:NUMERO[6,2]:NUMERO[9,2]:NUMERO[12,3]:NUMERO[16,3]
END ELSE
   NUMERO="0000000000000"
   NUMERO.B1="0 00 00 00 000 000"
   CLE="00"
END
CLE.ATTENDU=97-MOD(NUMERO,97)
IF CLE.ATTENDU <> CLE THEN
   CLE="00"
END
ENRCIVILAIDE=REPLACE(ENRCIVILAIDE,18;NUMERO.B1)
IF NUMERO.B1[1,4]="0 00" THEN CLE=""
IF NUMERO.B1="" THEN CLE=""
IF CLE="00" THEN CLE=""
ENRCIVILAIDE=REPLACE(ENRCIVILAIDE,19;CLE)
DEPT.NAIS=NUMERO[6,2]
IF DEPT.NAIS#"00" THEN
   ENRCIVILAIDE=REPLACE(ENRCIVILAIDE,22;DEPT.NAIS)
END
IF DEPT.NAIS <> "99" THEN
   CODE.PAYSNAIS="000000"
   LIBELLE.PAYSNAIS="FRANCE"
END ELSE
   CODE.PAYSNAIS="99":NUMERO[8,3]:"0"
   READ LIBELLE.PAYSNAIS FROM F.PAYS,CODE.PAYSNAIS ELSE
      CODE.PAYSNAIS="000000"
      LIBELLE.PAYSNAIS="FRANCE"
   END
END
ENRCIVILAIDE=REPLACE(ENRCIVILAIDE,23;CODE.PAYSNAIS)
ENRCIVILAIDE=REPLACE(ENRCIVILAIDE,24;LIBELLE.PAYSNAIS)
TEL=TRIM(EXTRACT(ENREMPLOYEURS,7))
TEL=TEL[1,2]:TEL[4,2]:TEL[7,2]:TEL[10,2]:TEL[13,2]
IF LEN(TEL)=10 THEN
   TEL=TEL[1,2]:B1:TEL[3,2]:B1:TEL[5,2]:B1:TEL[7,2]:B1:TEL[9,2]
END ELSE
   TEL=VIDE
END
ENRCIVILAIDE=REPLACE(ENRCIVILAIDE,14;TEL)
ENRCIVILAIDE=REPLACE(ENRCIVILAIDE,25;"2")
IF PRESENCEGESTEMPS=1 THEN
 RESPONSABLE=EXTRACT(ENREMPLOYEURS,30)
 RESPONSABLE="0":RESPONSABLE
 SECTEUR=EXTRACT(ENREMPLOYEURS,35)
 SECTEUR="0":SECTEUR
 SOUSSECTEUR=EXTRACT(ENREMPLOYEURS,36)
 QUARTIER="01"
END ELSE
 SECTEUR=EXTRACT(ENREMPLOYEURS,30)
 SECTEUR="0":SECTEUR
 RESPONSABLE=SECTEUR
 SOUSSECTEUR="01"
 QUARTIER="01"
END
ENRCIVILAIDE=REPLACE(ENRCIVILAIDE,39;RESPONSABLE)
ENRCIVILAIDE=REPLACE(ENRCIVILAIDE,40;SECTEUR:SOUSSECTEUR:QUARTIER)
ENRCIVILAIDE=REPLACE(ENRCIVILAIDE,41;"")
ENRCIVILAIDE=REPLACE(ENRCIVILAIDE,42;"")
ENRCIVILAIDE=REPLACE(ENRCIVILAIDE,43;"")
ENRCIVILAIDE=REPLACE(ENRCIVILAIDE,44;"")
ENRCIVILAIDE=REPLACE(ENRCIVILAIDE,45;"")
RETURN
*********
* TRAVAIL DES ACTIVITES
*********
150 READ ENRACTIVITESAIDE FROM F.ACTIVITESAIDE,CODE.CIVILAIDE ELSE ENRACTIVITESAIDE=""
IF ENRACTIVITESAIDE="" THEN
 ENRACTIVITESAIDE=REPLACE(ENRACTIVITESAIDE,5;"0")
END
ENTREE=EXTRACT(ENREMPLOYEURS,13)
SORTIE=EXTRACT(ENREMPLOYEURS,25)
IF ENTREE="" AND SORTIE#"" THEN ENTREE=SORTIE
MOTIF=EXTRACT(ENREMPLOYEURS,26)
BEGIN CASE
 CASE MOTIF="C"
  MOTIF="06"
 CASE MOTIF="D"
  MOTIF="02"
 CASE MOTIF="H"
  MOTIF="03"
 CASE MOTIF#"" AND MOTIF#" "
  MOTIF="01"
 CASE 1
  MOTIF=""
END CASE
FIN="NON"
I=1
LOOP
 ACTIVITEAIDE=EXTRACT(ENRACTIVITESAIDE,1,I)
 DEBUTACTIVITE=EXTRACT(ENRACTIVITESAIDE,2,I)
 FINACTIVITE=EXTRACT(ENRACTIVITESAIDE,3,I)
 UNTIL FIN="OUI" DO
    IF ACTIVITEAIDE="" THEN
       ENRACTIVITESAIDE=REPLACE(ENRACTIVITESAIDE,1,I;CODEACTIVITE)
       ENRACTIVITESAIDE=REPLACE(ENRACTIVITESAIDE,2,I;ENTREE)
       ENRACTIVITESAIDE=REPLACE(ENRACTIVITESAIDE,3,I;SORTIE)
       ENRACTIVITESAIDE=REPLACE(ENRACTIVITESAIDE,4,I;MOTIF)
       FIN="OUI"
    END ELSE
       IF DEBUTACTIVITE#"" AND SORTIE="" THEN
          IF DEBUTACTIVITE<=ENTREE THEN
             ENRACTIVITESAIDE=INSERT(ENRACTIVITESAIDE,1,I;CODEACTIVITE)
             ENRACTIVITESAIDE=INSERT(ENRACTIVITESAIDE,2,I;ENTREE)
             ENRACTIVITESAIDE=INSERT(ENRACTIVITESAIDE,3,I;SORTIE)
             ENRACTIVITESAIDE=INSERT(ENRACTIVITESAIDE,4,I;MOTIF)
             FIN="OUI"
          END ELSE
             IF FINACTIVITE#"" THEN
                ENRACTIVITESAIDE=INSERT(ENRACTIVITESAIDE,1,I;CODEACTIVITE)
                ENRACTIVITESAIDE=INSERT(ENRACTIVITESAIDE,2,I;ENTREE)
                ENRACTIVITESAIDE=INSERT(ENRACTIVITESAIDE,3,I;SORTIE)
                ENRACTIVITESAIDE=INSERT(ENRACTIVITESAIDE,4,I;MOTIF)
                FIN="OUI"
             END ELSE
                I=I+1
             END
          END
       END ELSE
          IF DEBUTACTIVITE#"" AND DEBUTACTIVITE<=ENTREE AND FINACTIVITE#"" AND SORTIE#"" THEN
             ENRACTIVITESAIDE=INSERT(ENRACTIVITESAIDE,1,I;CODEACTIVITE)
             ENRACTIVITESAIDE=INSERT(ENRACTIVITESAIDE,2,I;ENTREE)
             ENRACTIVITESAIDE=INSERT(ENRACTIVITESAIDE,3,I;SORTIE)
             ENRACTIVITESAIDE=INSERT(ENRACTIVITESAIDE,4,I;MOTIF)
             FIN="OUI"
          END ELSE
              I=I+1
          END
       END
    END
REPEAT
RETURN
*********
* TRAVAIL DES ADRESSES
*********
200 IF ADRESSEFACT="NON" THEN
   ADRESSE1=EXTRACT(ENREMPLOYEURS,3)
   ADRESSE2=EXTRACT(ENREMPLOYEURS,4)
END ELSE
   ADRESSE1=EXTRACT(ENREMPLOYEURS,17)
   ADRESSE2=EXTRACT(ENREMPLOYEURS,27)
END
IF ADRESSE1 = VIDE OR ADRESSE1 = B1 THEN
   IF ADRESSE2 = VIDE OR ADRESSE2 = B1 THEN
      GOSUB 230
   END ELSE
      ADRESSE1=ADRESSE2
      ADRESSE2=VIDE
      GOSUB 210
      GOSUB 230
   END
END ELSE
   GOSUB 210
   IF ADRESSE2 <> VIDE AND ADRESSE2 <> B1 THEN GOSUB 220
   GOSUB 230
END
RETURN
*********
* ADRESSE1
**********
210 RANG=1
TROUVE="NON"
NUMVOIE=VIDE
COMPL.NUMVOIE=VIDE
NATUREVOIE=VIDE
FIN=LEN(ADRESSE1)
FOR I=1 TO FIN
   CAR=ADRESSE1[I,1]
   IF CAR="," OR CAR='"' OR CAR="." OR CAR=";" OR CAR=":" THEN
      ADRESSE1=ADRESSE1[1,I-1]:B1:ADRESSE1[I+1,FIN-I]
   END
NEXT I
ADRESSE1=TRIM(ADRESSE1)
CHAMP=FIELD(ADRESSE1,B1,RANG)
IF CHAMP MATCH "0N" THEN
   TROUVE="OUI"
   NUMVOIE=CHAMP
   IF ADRESSEFACT="NON" THEN
      ENRCIVILAIDE=REPLACE(ENRCIVILAIDE,5;NUMVOIE)
   END ELSE
      ENRELTSFACTAIDE=REPLACE(ENRELTSFACTAIDE,3;NUMVOIE)
   END
   RANG=RANG+1
   CHAMP=FIELD(ADRESSE1,B1,RANG)
   BEGIN CASE
         CASE CHAMP="BIS" OR CHAMP="B"
            COMPL.NUMVOIE="Bis"
         CASE CHAMP="TER" OR CHAMP="T"
            COMPL.NUMVOIE="Ter"
         CASE CHAMP="QUATER" OR CHAMP="QUA" OR CHAMP="Q"
            COMPL.NUMVOIE="Quater"
         CASE CHAMP="CINQ" OR CHAMP="C"
            COMPL.NUMVOIE="Cinq"
         CASE 1
            RANG=RANG-1
   END CASE
   IF ADRESSEFACT="NON" THEN
      ENRCIVILAIDE=REPLACE(ENRCIVILAIDE,6;COMPL.NUMVOIE)
   END ELSE
      ENRELTSFACTAIDE=REPLACE(ENRELTSFACTAIDE,4;COMPL.NUMVOIE)
   END
   RANG=RANG+1
END
CHAMP=FIELD(ADRESSE1,B1,RANG)
BEGIN CASE
      CASE CHAMP="ALLEE" OR CHAMP="ALL" OR CHAMP="Allee"
         NATUREVOIE="ALL"
      CASE CHAMP="AV" OR CHAMP="AVENUE" OR CHAMP="Avenue"
         NATUREVOIE="AV"
      CASE CHAMP="BAT" OR CHAMP="BATIMENT" OR CHAMP="Bat"
         NATUREVOIE="BAT"
      CASE CHAMP="BVD" OR CHAMP="BOULEVARD" OR CHAMP="Boulevard" OR CHAMP="BLD"
         NATUREVOIE="BD"
      CASE CHAMP="CHE" OR CHAMP="CHEM" OR CHAMP="CHEMIN" OR CHAMP="Ch" OR CHAMP="Chemin"
         NATUREVOIE="CHE"
      CASE CHAMP="CRS" OR CHAMP="COURS" OR CHAMP="Cours"
         NATUREVOIE="CRS"
      CASE CHAMP="FG" OR CHAMP="FAUBOURG" OR CHAMP="Faubourg"
         NATUREVOIE="FG"
      CASE CHAMP="IMP" OR CHAMP="IMPASSE" OR CHAMP="Impasse"
         NATUREVOIE="IMP"
      CASE CHAMP="PAS" OR CHAMP="PASSAGE" OR CHAMP="Passage"
         NATUREVOIE="PAS"
      CASE CHAMP="PL" OR CHAMP="PLACE" OR CHAMP="Place"
         NATUREVOIE="PL"
      CASE CHAMP="QUAI" OR CHAMP="Q" OR CHAMP="Quai"
         NATUREVOIE="QU"
      CASE CHAMP="ROUTE" OR CHAMP="RTE" OR CHAMP="Rte" OR CHAMP="Route"
         NATUREVOIE="RTE"
      CASE CHAMP="RUE" OR CHAMP="R" OR CHAMP="rue" OR CHAMP="Rue"
         NATUREVOIE="RUE"
      CASE CHAMP="SQUARE" OR CHAMP="SQ" OR CHAMP="Square"
         NATUREVOIE="SQ"
      CASE 1
         RANG=RANG-1
END CASE
IF NATUREVOIE <> VIDE THEN
   TROUVE="OUI"
   IF ADRESSEFACT="NON" THEN
      ENRCIVILAIDE=REPLACE(ENRCIVILAIDE,7;NATUREVOIE)
   END ELSE
      ENRELTSFACTAIDE=REPLACE(ENRELTSFACTAIDE,5;NATUREVOIE)
   END
END
IF TROUVE = "OUI" THEN
   POS=INDEX(ADRESSE1,B1,RANG)
   CHAMP=ADRESSE1[POS+1,LEN(ADRESSE1)-POS]
   IF ADRESSEFACT="NON" THEN
      ENRCIVILAIDE=REPLACE(ENRCIVILAIDE,8;CHAMP)
   END ELSE
      ENRELTSFACTAIDE=REPLACE(ENRELTSFACTAIDE,6;CHAMP)
   END
END ELSE
   IF ADRESSE2 = VIDE OR ADRESSE2 = B1 THEN
      IF ADRESSEFACT="NON" THEN
         ENRCIVILAIDE=REPLACE(ENRCIVILAIDE,9;ADRESSE1)
      END ELSE
         ENRELTSFACTAIDE=REPLACE(ENRELTSFACTAIDE,7;ADRESSE1)
      END
   END ELSE
      IF ADRESSEFACT="NON" THEN
         ENRCIVILAIDE=REPLACE(ENRCIVILAIDE,8;ADRESSE1)
      END ELSE
         ENRELTSFACTAIDE=REPLACE(ENRELTSFACTAIDE,6;ADRESSE1)
      END
   END
END
RETURN
**********
* ADRESSE2
**********
220 FIN=LEN(ADRESSE2)
FOR I=1 TO FIN
   CAR=ADRESSE2[I,1]
   IF CAR="," OR CAR='"' OR CAR="." OR CAR=";" OR CAR=":" THEN
      ADRESSE2=ADRESSE2[1,I-1]:B1:ADRESSE2[I+1,FIN-I]
   END
NEXT I
ADRESSE2=TRIM(ADRESSE2)
IF ADRESSEFACT="NON" THEN
   ENRCIVILAIDE=REPLACE(ENRCIVILAIDE,9;ADRESSE2)
END ELSE
   ENRELTSFACTAIDE=REPLACE(ENRELTSFACTAIDE,7;ADRESSE2)
END
RETURN
**********
* CP ET VILLE
**********
230 IF ADRESSEFACT="NON" THEN
   CP=TRIM(EXTRACT(ENREMPLOYEURS,5))
   ENRCIVILAIDE=REPLACE(ENRCIVILAIDE,10;CP)
   VILLE=TRIM(EXTRACT(ENREMPLOYEURS,6))
   ENRCIVILAIDE=REPLACE(ENRCIVILAIDE,11;VILLE)
   ENRCIVILAIDE=REPLACE(ENRCIVILAIDE,12;"0")
END ELSE
   CP=EXTRACT(ENREMPLOYEURS,18)
   ENRELTSFACTAIDE=REPLACE(ENRELTSFACTAIDE,8;CP)
   VILLE=EXTRACT(ENREMPLOYEURS,19)
   ENRELTSFACTAIDE=REPLACE(ENRELTSFACTAIDE,9;VILLE)
END
RETURN
**********
* MAJ FICHIER TEMPAIDE
**********
300 READ ENRTEMPAIDE FROM F.TEMPAIDE,NOM ELSE ENRTEMPAIDE=VIDE
ADR1=EXTRACT(ENRCIVILAIDE,5):" ":EXTRACT(ENRCIVILAIDE,6):" ":EXTRACT(ENRCIVILAIDE,7):" ":EXTRACT(ENRCIVILAIDE,8)
ADR2=EXTRACT(ENRCIVILAIDE,9)
ADR3=EXTRACT(ENRCIVILAIDE,10):" ":EXTRACT(ENRCIVILAIDE,11)
I=1
FIN="NON"
LOOP
 CODETEMPAIDE=EXTRACT(ENRTEMPAIDE,1,I)
 PRENOMTEMPAIDE=EXTRACT(ENRTEMPAIDE,2,I)
 ADR1TEMPAIDE=EXTRACT(ENRTEMPAIDE,3,I)
 ADR2TEMPAIDE=EXTRACT(ENRTEMPAIDE,4,I)
 ADR3TEMPAIDE=EXTRACT(ENRTEMPAIDE,5,I)
 UNTIL FIN="OUI" DO
    IF CODETEMPAIDE="" THEN
       COMPT=COMPT+1
       CODE.CIVILAIDE=COMPT
       IF CODE.CIVILAIDE MATCH "1N" THEN CODE.CIVILAIDE="0000":CODE.CIVILAIDE
       IF CODE.CIVILAIDE MATCH "2N" THEN CODE.CIVILAIDE="000":CODE.CIVILAIDE
       IF CODE.CIVILAIDE MATCH "3N" THEN CODE.CIVILAIDE="00":CODE.CIVILAIDE
       IF CODE.CIVILAIDE MATCH "4N" THEN CODE.CIVILAIDE="0":CODE.CIVILAIDE    
       ENRTEMPAIDE=REPLACE(ENRTEMPAIDE,1,I;CODE.CIVILAIDE)
       ENRTEMPAIDE=REPLACE(ENRTEMPAIDE,2,I;PRENOM)
       ENRTEMPAIDE=REPLACE(ENRTEMPAIDE,3,I;ADR1)
       ENRTEMPAIDE=REPLACE(ENRTEMPAIDE,4,I;ADR2)
       ENRTEMPAIDE=REPLACE(ENRTEMPAIDE,5,I;ADR3)
       ENRTEMPAIDE=REPLACE(ENRTEMPAIDE,6,I;"G":CODEEMPL)
       IF ENREMPLOYEURS<25> = "" THEN
          ENRTEMPAIDE=REPLACE(ENRTEMPAIDE,7,I;"VRAI")
       END ELSE
          ENRTEMPAIDE=REPLACE(ENRTEMPAIDE,7,I;"FAUX")
       END
       WRITE ENRTEMPAIDE ON F.TEMPAIDE,NOM
       FIN="OUI"
    END ELSE
       IF ADR1TEMPAIDE=ADR1 AND ADR2TEMPAIDE=ADR2 AND ADR3TEMPAIDE=ADR3 AND PRENOMTEMPAIDE=PRENOM THEN
          CODE.CIVILAIDE=CODETEMPAIDE
          ENRTEMPAIDE=REPLACE(ENRTEMPAIDE,6,I,-1;"G":CODEEMPL)
          IF ENRTEMPAIDE<7,I> = "FAUX" THEN
             IF ENREMPLOYEURS<25> = "" THEN
                ENRTEMPAIDE=REPLACE(ENRTEMPAIDE,7,I;"VRAI")
             END   
          END ELSE
             DEJATRAITEAVANT="OUI"
          END
          WRITE ENRTEMPAIDE ON F.TEMPAIDE,NOM
          DEJATRAITE="OUI"
          FIN="OUI"
       END ELSE
          I=I+1
       END
    END
REPEAT
RETURN
**********
* ELEMENTS DE FACTURATION (ADRESSE + DONNEES BANCAIRES)
**********
400 READ ENRELTSFACTAIDE FROM F.ELTSFACTAIDE,CODE.CIVILAIDE ELSE ENRELTSFACTAIDE=VIDE
ENRELTSFACTAIDE=REPLACE(ENRELTSFACTAIDE,1;"M")
IF PRELEVEMENT="1" AND EXTRACT(ENRELTSFACTAIDE,18)="" THEN
   READ ENRBANQUE FROM F.BANQUE,CODEEMPL ELSE GOTO 410
   BENEF=TRIM(EXTRACT(ENRBANQUE,1))
   IF LEN(BENEF)>24 THEN BENEF=BENEF[1,24]
   ENRELTSFACTAIDE=REPLACE(ENRELTSFACTAIDE,16;BENEF)
   LIBBANQUE=TRIM(EXTRACT(ENRBANQUE,2))
   ENRELTSFACTAIDE=REPLACE(ENRELTSFACTAIDE,17;LIBBANQUE)
   CODEBANQUE=TRIM(EXTRACT(ENRBANQUE,3))
   ENRELTSFACTAIDE=REPLACE(ENRELTSFACTAIDE,18;CODEBANQUE)
   CODEGUICHET=TRIM(EXTRACT(ENRBANQUE,4))
   ENRELTSFACTAIDE=REPLACE(ENRELTSFACTAIDE,19;CODEGUICHET)
   NOCPTE=TRIM(EXTRACT(ENRBANQUE,5))
   CLERIB=NOCPTE[13,2]
   ENRELTSFACTAIDE=REPLACE(ENRELTSFACTAIDE,21;CLERIB)
   NOCPTE=NOCPTE[1,11]
   ENRELTSFACTAIDE=REPLACE(ENRELTSFACTAIDE,20;NOCPTE)
END
410 IF ENVOICOURRIER="O" AND EXTRACT(ENRELTSFACTAIDE,2)="" THEN
   ADRESSEFACT="OUI"
   GOSUB 200
   TELADR=TRIM(EXTRACT(ENREMPLOYEURS,20))
   ENRELTSFACTAIDE=REPLACE(ENRELTSFACTAIDE,12;TELADR)
   NOMADR=TRIM(EXTRACT(ENREMPLOYEURS,16))
   ENRELTSFACTAIDE=REPLACE(ENRELTSFACTAIDE,2;NOMADR)
   RELATION=TRIM(EXTRACT(ENREMPLOYEURS,15))
   ENRELTSFACTAIDE=REPLACE(ENRELTSFACTAIDE,15;RELATION)
END
ENRELTSFACTAIDE=REPLACE(ENRELTSFACTAIDE,10;"0")
ENRELTSFACTAIDE=REPLACE(ENRELTSFACTAIDE,24;"")
WRITE ENRELTSFACTAIDE ON F.ELTSFACTAIDE,CODE.CIVILAIDE
RETURN
**********
* ELEMENTS PARTICULIER EMPLOYEUR
**********
500 ENRELTSPARTEMP=""
ENRELTSPARTEMP=REPLACE(ENRELTSPARTEMP,1;"01")
NUMURSSAF=TRIM(EXTRACT(ENREMPLOYEURS,11))
IF CODORGURSSAF#"" AND NUMURSSAF[1,3]=CODORGURSSAF THEN
 NUMURSSAF=NUMURSSAF[4,30]
END
NUMURSSAF=CONVERT(" ","",NUMURSSAF)
ENRELTSPARTEMP=REPLACE(ENRELTSPARTEMP,2;NUMURSSAF)
SIRET=TRIM(EXTRACT(ENREMPLOYEURS,14))
ENRELTSPARTEMP=REPLACE(ENRELTSPARTEMP,4;SIRET)
DATEADHPREV=EXTRACT(ENREMPLOYEURS,37)
IF DATEADHPREV#"" THEN
   ENRELTSPARTEMP=REPLACE(ENRELTSPARTEMP,5;DATEADHPREV)
   ENRELTSPARTEMP=REPLACE(ENRELTSPARTEMP,15;CODECONTRATPREV)   
END
DATERADPREV=EXTRACT(ENREMPLOYEURS,38)
IF DATERADPREV#"" THEN
   ENRELTSPARTEMP=REPLACE(ENRELTSPARTEMP,6;DATERADPREV)
END
ENRELTSPARTEMP=REPLACE(ENRELTSPARTEMP,7;"1")
ENRELTSPARTEMP=REPLACE(ENRELTSPARTEMP,8;"1")
TYPEEXO=EXTRACT(ENREMPLOYEURS,12)
G=1
LOOP
 TYPEEXOPARAMASSO=EXTRACT(ENRPARAMASSO,1,G)
 UNTIL TYPEEXOPARAMASSO=TYPEEXO OR TYPEEXOPARAMASSO="" DO
  G=G+1
REPEAT
IF TYPEEXOPARAMASSO=TYPEEXO THEN
 PROFILPAIEPARTEMP=EXTRACT(ENRPARAMASSO,2,G)
END ELSE
 PROFILPAIEPARTEMP="001"
 TYPEEXO="00"
END
BEGIN CASE
   CASE TYPEEXO="04"
      TYPEEXO="05"
   CASE TYPEEXO="05"
      TYPEEXO="06"
   CASE TYPEEXO="06"
      TYPEEXO="07"
   CASE TYPEEXO="07"
      TYPEEXO="04"
*   CASE TYPEEXO="09"
*      TYPEEXO="08"
   CASE 1
      NULL
END CASE
ENRELTSPARTEMP=REPLACE(ENRELTSPARTEMP,9;TYPEEXO)
IF TYPEEXO="01" THEN
 TAUXAGED=EXTRACT(ENREMPLOYEURS,41)
 TAUXAGED=TAUXAGED*100
 PLAFONDAGED=EXTRACT(ENREMPLOYEURS,42)
 ENRELTSPARTEMP=REPLACE(ENRELTSPARTEMP,10;TAUXAGED)
 ENRELTSPARTEMP=REPLACE(ENRELTSPARTEMP,11;PLAFONDAGED)
END
ENRELTSPARTEMP=REPLACE(ENRELTSPARTEMP,12;PROFILPAIEPARTEMP)
ENRELTSPARTEMP=REPLACE(ENRELTSPARTEMP,13;"01")
SORTIE=EXTRACT(ENREMPLOYEURS,25)
IF SORTIE#"" THEN
 ENRELTSPARTEMP=REPLACE(ENRELTSPARTEMP,14;SORTIE)
END
ENRELTSPARTEMP=REPLACE(ENRELTSPARTEMP,16;"")
RETURN
**********
* TRAVAIL ENVIRONNEMENT DE L'AIDE
**********
600 ENRENVIRONAIDE=""
PERSPREV=TRIM(EXTRACT(ENREMPLOYEURS,16))
IF PERSPREV#"" THEN ENRENVIRONAIDE=REPLACE(ENRENVIRONAIDE,9;PERSPREV)
TELPERSPREV=EXTRACT(ENREMPLOYEURS,20)
IF TELPERSPREV#"" THEN ENRENVIRONAIDE=REPLACE(ENRENVIRONAIDE,10;TELPERSPREV)
LIENPERSPREV=TRIM(EXTRACT(ENREMPLOYEURS,15))
VILLEPERSPREV=TRIM(EXTRACT(ENREMPLOYEURS,19))
IF LIENPERSPREV="" OR LIENPERSPREV=" " THEN
   IF VILLEPERSPREV="" OR VILLEPERSPREV=" " THEN
      NULL
   END ELSE
      ENRENVIRONAIDE=REPLACE(ENRENVIRONAIDE,11;VILLEPERSPREV)
   END
END ELSE
   IF VILLEPERSPREV="" OR VILLEPERSPREV=" " THEN
      ENRENVIRONAIDE=REPLACE(ENRENVIRONAIDE,11;LIENPERSPREV)
   END ELSE
      OBSPERSPREV=LIENPERSPREV:" - ":VILLEPERSPREV
      ENRENVIRONAIDE=REPLACE(ENRENVIRONAIDE,11;OBSPERSPREV)
   END
END
IF ENRENVIRONAIDE#"" THEN
 ENRENVIRONAIDE=REPLACE(ENRENVIRONAIDE,2;"1")
 ENRENVIRONAIDE=REPLACE(ENRENVIRONAIDE,17;"")
 WRITE ENRENVIRONAIDE ON F.ENVIRONAIDE,CODE.CIVILAIDE
END
RETURN
