*****************************************
*	IMPORTATION ASSOCIATION			  	*
*   FR CHATEAUROUX 						*
* -------------------------------------	*
* VANESSA               SEPTEMBRE 2016 	*
*****************************************

EXECUTE "SET-THOUS ."
EXECUTE "SET-DEC ,"
EXECUTE "DATE.FORMAT"

OPEN "","ASSOCIATION" TO F.ASSOCIATION ELSE STOP
OPEN "","ACTIVITES" TO F.ACTIVITES ELSE STOP
OPEN "","COMPTEUR" TO F.COMPTEUR ELSE STOP
OPEN "","ETABLISSEMENT" TO F.ETABLISSEMENT ELSE STOP
OPEN "","FUSION" TO F.FUSION ELSE STOP
OPEN "","TABLES" TO F.TABLES ELSE STOP

*********************
* A RENSEIGNER

*********************

READ ENR_FUSION FROM F.FUSION, "ASSO.csv" THEN
	ENR_FUSION=CONVERT(CHAR(130),"e",ENR_FUSION)
	ENR_FUSION=CONVERT(CHAR(131),"a",ENR_FUSION)
	ENR_FUSION=CONVERT(CHAR(135),"c",ENR_FUSION)
	ENR_FUSION=CONVERT(CHAR(137),"e",ENR_FUSION)
	ENR_FUSION=CONVERT(CHAR(138),"e",ENR_FUSION)
	ENR_FUSION=CONVERT(CHAR(139),"i",ENR_FUSION)
	ENR_FUSION=CONVERT(CHAR(140),"i",ENR_FUSION)
	ENR_FUSION=CONVERT(CHAR(248),CHAR(186),ENR_FUSION)
	ENR_FUSION=CONVERT(CHAR(133),"a",ENR_FUSION)
	ENR_FUSION=CONVERT(CHAR(150),"u",ENR_FUSION)
	ENR_FUSION=CONVERT(CHAR(147),"o",ENR_FUSION)
	ENR_FUSION=CONVERT(CHAR(136),"e",ENR_FUSION)
	ENR_FUSION=CONVERT(CHAR(151),"u",ENR_FUSION)
	ENR_FUSION=CONVERT(CHAR(144),"E",ENR_FUSION)
	ENR_FUSION=CONVERT(CHAR(224),"a",ENR_FUSION)
	ENR_FUSION=CONVERT(CHAR(233),"e",ENR_FUSION)
	ENR_FUSION=CONVERT(CHAR(232),"e",ENR_FUSION)	
END ELSE
	PRINT "ERREUR OUVERTURE FICHIER <ASSO.csv>"
	STOP
END

   PRINT "CODE SECTEUR A IMPORTER (3N - SI VIDE : TOUS LES SECTEURS)"
   INPUT W_SECTEUR
   
FOR i=2 TO DCOUNT(ENR_FUSION,CHAR(254))

	ENR_ASSOCIATION=""
	ENR_COMPTEUR=""
	ENR_ETABLISSEMENT=""
	
	W_CodeAsso=FIELD(ENR_FUSION<i>,";",1) "R%3"
	W_CodeSecteur=FIELD(ENR_FUSION<i>,";",2) "R%3"
	W_Sigle=ICONV(FIELD(ENR_FUSION<i>,";",3),"MCU")
	W_RaisonSociale=ICONV(FIELD(ENR_FUSION<i>,";",4),"MCU")
	W_Adresse=ICONV(FIELD(ENR_FUSION<i>,";",5),"MCU")	
	W_CpltAdresse=ICONV(FIELD(ENR_FUSION<i>,";",6),"MCU")
	W_CodePostal=FIELD(ENR_FUSION<i>,";",7)
	W_Commune=ICONV(FIELD(ENR_FUSION<i>,";",8),"MCU")
	W_Siret=FIELD(ENR_FUSION<i>,";",9)
	W_Tel=FIELD(ENR_FUSION<i>,";",10)
	W_Fax=FIELD(ENR_FUSION<i>,";",11)
	W_Naf=FIELD(ENR_FUSION<i>,";",12)
	W_NumAgrement=FIELD(ENR_FUSION<i>,";",13)
	
	IF (W_SECTEUR # "" AND W_CodeSecteur=W_SECTEUR) OR W_SECTEUR= "" THEN
		GOSUB 20
		
		WRITE ENR_ASSOCIATION ON F.ASSOCIATION,W_CodeAsso
		
		ENR_COMPTEUR<1>="000"
		ENR_COMPTEUR<2>="000"	
		ENR_COMPTEUR<3>="000"	
		ENR_COMPTEUR<4>="000"
		ENR_COMPTEUR<5>="000"	
		
		WRITE ENR_COMPTEUR ON F.COMPTEUR,W_CodeAsso	
		
		GOSUB 30
		
		WRITE ENR_ETABLISSEMENT ON F.ETABLISSEMENT,W_CodeAsso:"001"
		
		GOSUB 50
		GOSUB 40
	END
NEXT i

STOP

*****************************************************************************************************
* Eclatement de la zone d'adresse
* W_Adresse1 contient l'adresse  dcouper en numro, complment du numro, type de voie, nom de la voie
10 

	W_Adresse=CONVERT(",","",W_Adresse)
	W_Adresse=CONVERT(";","",W_Adresse)
	
	W_Numero=""
	W_ComplementNumero=""
	W_TypeVoie=""
	W_NomVoie=""
	
	j=1
	LOOP
	WHILE SEQ(W_Adresse[j,1]) >= SEQ("0") AND SEQ(W_Adresse[j,1]) <= SEQ("9") DO
		W_Numero = W_Numero:W_Adresse[j,1]
		j = j + 1
	REPEAT
	
	W_Adresse = TRIM(W_Adresse[j,99])
	W_Temp = FIELD(W_Adresse," ",1)
	W_Temp = ICONV(W_Temp,"MCU")
	
	W_PasComplNum="FAUX"
	IF W_Temp="Bis" OR W_Temp="Ter" OR W_Temp="B" OR W_Temp="Cinq" THEN
		W_ComplementNumero=W_Temp
	END ELSE
		* pas de complment du numro
		W_PasComplNum="VRAI"	
	END
	
	IF W_PasComplNum="FAUX" THEN
		* On prend la chaine de caractre suivante
		W_Adresse = W_Adresse[LEN(W_Temp)+1,99]
	   	W_Adresse = TRIM(W_Adresse)
		W_Temp = FIELD(W_Adresse," ",1)
		W_Temp = ICONV(W_Temp,"MCU")
	END
	
	W_PasTypeVoie="FAUX"
	BEGIN CASE
		CASE W_Temp="ALLEE"
			W_TypeVoie="ALL"
		CASE W_Temp="AVENUE" OR W_Temp="AV." OR W_Temp="AV"
			W_TypeVoie="AV"
		CASE W_Temp="BAT" OR W_Temp="BATIMENT"
			W_TypeVoie="BAT"
		CASE W_Temp="BD" OR W_Temp="BLD" OR W_Temp="BOULEVARD"
			W_TypeVoie="BD"
		CASE W_Temp="CHEMIN"
			W_TypeVoie="CHE"
		CASE W_Temp="COURS"
			W_TypeVoie="CRS"
		CASE W_Temp="FG"
			W_TypeVoie="FG"
		CASE W_Temp="IMPASSE"
			W_TypeVoie="IMP"
		CASE W_Temp="PASSAGE"
			W_TypeVoie="PAS"
		CASE W_Temp="PLACE"
			W_TypeVoie="PL"
		CASE W_Temp="QUAI"
			W_TypeVoie="QU"
		CASE W_Temp="ROUTE"
			W_TypeVoie="RTE"
		CASE W_Temp="RUE"	   
			W_TypeVoie="RUE"
		CASE W_Temp="SQUARE"
			W_TypeVoie="SQ"
		CASE 1
			* pas de type de voie
			W_PasTypeVoie="VRAI"
	END CASE
	
	IF W_PasTypeVoie="FAUX" THEN
		* On prend la chaine de caractre suivante
		W_NomVoie = W_Adresse[LEN(W_Temp)+1,99]
		W_NomVoie = TRIM(W_NomVoie)
	END ELSE
		W_NomVoie=W_Adresse
	END
	
RETURN

*************************************************************************
* REMPLIT ASSOCIATION
20

	ENR_ASSOCIATION<1>=W_Sigle
	ENR_ASSOCIATION<2>=W_RaisonSociale	
	
	* Adresse
	GOSUB 10
	IF W_Numero # "" THEN
		ENR_ASSOCIATION<3>=W_Numero
	END
	IF W_ComplementNumero # "" THEN
		ENR_ASSOCIATION<4>=W_ComplementNumero
	END		
	IF W_TypeVoie # "" THEN
		ENR_ASSOCIATION<5>=W_TypeVoie
	END			
	IF W_NomVoie # "" THEN
		ENR_ASSOCIATION<6>=W_NomVoie
	END			
	
	ENR_ASSOCIATION<7>=W_CpltAdresse
	
	* code postal+ville
	ENR_ASSOCIATION<8>=CONVERT(" ","",W_CodePostal)
	ENR_ASSOCIATION<9>=W_Commune
	
	ENR_ASSOCIATION<10>="0"
	ENR_ASSOCIATION<11>=""		
	
	IF W_Tel # "" THEN
		IF LEN(W_Tel)<10 THEN		
			W_Tel=W_Tel "R%10"
		END
		IF W_Tel # "" THEN
			IF LEN(W_Tel)=10 THEN
				ENR_ASSOCIATION<12>=W_Tel[1,2]:" ":W_Tel[3,2]:" ":W_Tel[5,2]:" ":W_Tel[7,2]:" ":W_Tel[9,2]
			END ELSE
				ENR_ASSOCIATION<12>=CONVERT("."," ",W_Tel)
				ENR_ASSOCIATION<12>=CONVERT("-"," ",W_Tel)
			END
		END
	END ELSE
		ENR_ASSOCIATION<12>=""		
	END
	
	* Fax
	IF W_Fax # "" THEN
		IF LEN(W_Fax)<10 THEN
			W_Fax=W_Fax "R%10"
		END
		IF W_Fax#"" THEN
			IF LEN(W_Fax)=10 THEN
				ENR_ASSOCIATION<13>=W_Fax[1,2]:" ":W_Fax[3,2]:" ":W_Fax[5,2]:" ":W_Fax[7,2]:" ":W_Fax[9,2]
			END ELSE
				ENR_ASSOCIATION<13>=CONVERT("."," ",W_Fax)
				ENR_ASSOCIATION<13>=CONVERT("-"," ",W_Fax)
			END
		END
	END ELSE
		ENR_ASSOCIATION<13>=""			
	END
	
	* siren
	ENR_ASSOCIATION<14>=W_Siret[1,9]
	
	* numero agrement
	ENR_ASSOCIATION<23>=W_NumAgrement
	
	* responsable personnel
	ENR_ASSOCIATION<24>="06"
	
	* ASSEDIC 
	ENR_ASSOCIATION<33>="CHATEAUROUX"		
	ENR_ASSOCIATION<34>="0"	
	
	* mail
	ENR_ASSOCIATION<35>=""
	
	* journe solidarit 
	ENR_ASSOCIATION<42>=""
    
	* autres paramtres
	ENR_ASSOCIATION<49>="0"
	ENR_ASSOCIATION<50>="0"
	ENR_ASSOCIATION<54>="0"
	ENR_ASSOCIATION<55>="0"
	ENR_ASSOCIATION<25>="0"
	ENR_ASSOCIATION<58>=""
	
	* nouvelle grille aggir
	ENR_ASSOCIATION<56>="17533"
	
RETURN

*************************************************************************
* REMPLIT ETABLISSEMENT
30

	ENR_ETABLISSEMENT<1>=W_Sigle
	ENR_ETABLISSEMENT<2>=W_RaisonSociale	
	
	* siret
	ENR_ETABLISSEMENT<14>=W_Siret
	
	* code naf
	ENR_ETABLISSEMENT<15>=W_Naf	
	
	* horaire hebdo
	ENR_ETABLISSEMENT<16>="3500"
	
	* Num affiliation URSSAF
	ENR_ETABLISSEMENT<20>="0"
    
	* Fin modulation
	ENR_ETABLISSEMENT<24>="12"	
	
	* autres paramtres
	ENR_ETABLISSEMENT<22>="0"
	ENR_ETABLISSEMENT<33>="U"
	ENR_ETABLISSEMENT<35>="0"
	
	ENR_ETABLISSEMENT<43>=""
	
RETURN

*************************************************************************
* REMPLIT ACTIVITES - A REVOIR
40
	ENR_ACTIVITES=""
	ENR_ACTIVITES<1>="AIDE A DOMICILE"
	ENR_ACTIVITES<2>="100"
	ENR_ACTIVITES<11>="1"
	ENR_ACTIVITES<12>="P"
	ENR_ACTIVITES<13>="001"
	ENR_ACTIVITES<14>="0"
	ENR_ACTIVITES<15>="17533"
	ENR_ACTIVITES<16>="0"
	ENR_ACTIVITES<20>="1"
	ENR_ACTIVITES<22>=""
	
	WRITE ENR_ACTIVITES ON F.ACTIVITES,W_CodeAsso:"001"			

	ENR_ACTIVITES=""
	ENR_ACTIVITES<1>="SOUTIEN A DOMICILE"
	ENR_ACTIVITES<2>="200"
	ENR_ACTIVITES<11>="1"
	ENR_ACTIVITES<12>="P"
	ENR_ACTIVITES<13>="002"
	ENR_ACTIVITES<14>="0"
	ENR_ACTIVITES<15>="17533"
	ENR_ACTIVITES<16>="0"
	ENR_ACTIVITES<20>="1"
	ENR_ACTIVITES<22>=""
	
	WRITE ENR_ACTIVITES ON F.ACTIVITES,W_CodeAsso:"002"		

	ENR_ACTIVITES=""
	ENR_ACTIVITES<1>="MANDATAIRE"
	ENR_ACTIVITES<2>="300"
	ENR_ACTIVITES<11>="1"
	ENR_ACTIVITES<12>="M"
	ENR_ACTIVITES<13>="003"
	ENR_ACTIVITES<22>=""
	
	WRITE ENR_ACTIVITES ON F.ACTIVITES,W_CodeAsso:"003"		
	
RETURN

*************************************************************************
* REMPLIT SECTION ANALYTIQUE ET SERVICE
50

	READ ENR_TABLES FROM F.TABLES, "SECTANAL" THEN
		ENR_TABLES<2>="100"
		ENR_TABLES<3>="AIDE A DOMICILE"
		ENR_TABLES<2,2>="200"
		ENR_TABLES<3,2>="SOUTIEN A DOMICILE"
		ENR_TABLES<2,3>="300"
		ENR_TABLES<3,3>="MANDATAIRE"
		
		WRITE ENR_TABLES ON F.TABLES,"SECTANAL"
	END
	
	READ ENR_TABLES FROM F.TABLES, "SERVICES" THEN
		ENR_TABLES<2>="001"
		ENR_TABLES<3>="AIDE A DOMICILE"
		ENR_TABLES<2,2>="002"
		ENR_TABLES<3,2>="SOUTIEN A DOMICILE"
		ENR_TABLES<2,3>="003"
		ENR_TABLES<3,3>="MANDATAIRE"
		
		WRITE ENR_TABLES ON F.TABLES,"SERVICES"
	END	
	
RETURN