        W_MODULE="PAIEAM"
        VIDE=""
        B1=" "
        W_REQVIDE="FAUX"
	* CREATION VOC
	GOSUB 800

	*********************************************************
	* OUVERTURE FICHIERS					*
	*********************************************************
	OPEN "","RESPONSABLEANC" TO F.RESPONSABLEANC ELSE STOP
	OPEN "","RESPONSABLE" TO F.RESPONSABLE ELSE STOP

	*********************************************************
	* EXECUTION REQUETE					*
	*********************************************************	
	EXECUTE 'TSELECT RESPONSABLEANC'

	*********************************************************
	* PARCOURS DE LA REQUETE				*
	*********************************************************	
	LOOP
		READNEXT CLERESP ELSE
			W_REQVIDE="VRAI"
		END
		UNTIL W_REQVIDE="VRAI" DO

                READ ENR_RESPANC FROM F.RESPONSABLEANC,CLERESP ELSE PRINT "ERREUR RESP. ANC."

		ENR_RESPONSABLE=""
		ENR_RESPONSABLE=REPLACE(ENR_RESPONSABLE,1;ENR_RESPANC<1>:" (":ENR_RESPANC<5>:")")
		* CONVERSION ADRESSE
		GOSUB 600
		WRITE ENR_RESPONSABLE ON F.RESPONSABLE,CLERESP

	REPEAT	
		
 	GOSUB 900

	STOP

*********
* TRAVAIL DES ADRESSES
*********
600 *

ADRESSE1=EXTRACT(ENR_RESPANC,2)
ADRESSE2=EXTRACT(ENR_RESPANC,3)


IF ADRESSE1 = VIDE OR ADRESSE1 = B1 THEN
   IF ADRESSE2 = VIDE OR ADRESSE2 = B1 THEN
      GOSUB 630
   END ELSE
      ADRESSE1=ADRESSE2
      ADRESSE2=VIDE
      GOSUB 610
      GOSUB 630
   END
END ELSE
   GOSUB 610
   IF ADRESSE2 <> VIDE OR ADRESSE2 <> B1 THEN GOSUB 620
   GOSUB 630
END
RETURN

*********
* ADRESSE1
**********
610 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
   ENR_RESPONSABLE=REPLACE(ENR_RESPONSABLE,2;NUMVOIE)
   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
   ENR_RESPONSABLE=REPLACE(ENR_RESPONSABLE,3;COMPL.NUMVOIE)
   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="BLD" OR CHAMP="BOULEVARD" OR CHAMP="Boulevard"
         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 CHAMP="MAIRIE" OR CHAMP="Mairie" OR CHAMP="mairie" OR CHAMP="HOTEL" OR CHAMP="Hotel" OR CHAMP="hotel"
	 NATUREVOIE=" "
      CASE 1
         RANG=RANG-1
END CASE
IF NATUREVOIE <> VIDE THEN
   TROUVE="OUI"
   ENR_RESPONSABLE=REPLACE(ENR_RESPONSABLE,4;NATUREVOIE)
END
IF TROUVE = "OUI" THEN
   POS=INDEX(ADRESSE1,B1,RANG)
   IF CHAMP="HOTEL" OR CHAMP="Hotel" OR CHAMP="hotel" THEN
      CHAMP=ADRESSE1[LEN(ADRESSE1)]
   END ELSE
      CHAMP=ADRESSE1[POS+1,LEN(ADRESSE1)-POS]
   END
   
   ENR_RESPONSABLE=REPLACE(ENR_RESPONSABLE,5;CHAMP)
END ELSE
   IF ADRESSE2 = VIDE OR ADRESSE2 = B1 THEN
      ENR_RESPONSABLE=REPLACE(ENR_RESPONSABLE,6;ADRESSE1)
   END ELSE
      ENR_RESPONSABLE=REPLACE(ENR_RESPONSABLE,5;ADRESSE1)
   END
END
RETURN

**********
* ADRESSE2
**********
620 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)
ENR_RESPONSABLE=REPLACE(ENR_RESPONSABLE,6;ADRESSE2)
RETURN

**********
* CP ET VILLE
**********
630 *
CP=TRIM(EXTRACT(ENR_RESPANC,4))
VILLE=TRIM(EXTRACT(ENR_RESPANC,5))

ENR_RESPONSABLE=REPLACE(ENR_RESPONSABLE,7;CP)
ENR_RESPONSABLE=REPLACE(ENR_RESPONSABLE,8;VILLE)

TEL=EXTRACT(ENR_RESPANC,6)
IF TEL#"" THEN TEL="02 ":TEL
ENR_RESPONSABLE=REPLACE(ENR_RESPONSABLE,11;TEL)

FAX=EXTRACT(ENR_RESPANC,7)
IF FAX#"" THEN FAX="02 ":FAX
ENR_RESPONSABLE=REPLACE(ENR_RESPONSABLE,13;FAX)

RETURN

*********************************************************
* CREATION VOC						*
*********************************************************
800 *

	OPEN "","VOC" TO F.VOC ELSE STOP
	ENR_VOC=""
	ENR_VOC=REPLACE(ENR_VOC,1;"F")
        ENR_VOC=REPLACE(ENR_VOC,2;"D:\TRANSFERT\":W_MODULE:"\RESPONSABLE")
        ENR_VOC=REPLACE(ENR_VOC,3;"D:\TRANSFERT\":W_MODULE:"\D_RESPONSABLE")
        WRITE ENR_VOC ON F.VOC,"RESPONSABLEANC"

RETURN

*********************************************************
* SUPPRESSION VOC					*
*********************************************************
900 *

	DELETE F.VOC,"RESPONSABLEANC"

RETURN