EXECUTE "SET-THOUS ."
OPEN "", "ABSENCESAIDE" TO F.ABSENCESAIDE ELSE STOP
OPEN "", "TPSPARAMEXTRACT" TO F.TPSPARAMEXTRACT ELSE STOP
OPEN "", "CIVILAIDANT" TO F.CIVILAIDANT ELSE STOP
OPEN "", "CIVILAIDE" TO F.CIVILAIDE ELSE STOP
OPEN "", "CONTRAT" TO F.CONTRAT ELSE STOP
OPEN "", "AGGIRAIDE" TO F.AGGIRAIDE ELSE STOP
OPEN "", "BESOINSAIDE" TO F.BESOINSAIDE ELSE STOP
OPEN "", "BLOCNOTAIDE" TO F.BLOCNOTAIDE ELSE STOP
OPEN "", "RUBSAISIE" TO F.RUBSAISIE ELSE STOP
OPEN "", "TPSDETAILSINTERV" TO F.TPSDETAILSINTERV ELSE STOP
OPEN "", "TPSMOI" TO F.TPSMOI ELSE STOP
OPEN "", "TEMPO" TO F.TEMPO ELSE STOP
OPEN "", "SECTEUR" TO F.SECTEUR ELSE STOP
OPEN "", "VOC" TO F.VOC ELSE STOP
OPEN "", "TPSTEMPO" TO F.TPSTEMPO ELSE STOP

*	    Cas des congs dbutant l'a.-m. ou finissant le matin :								*
*	    Penser a renseigner le paramtre ci dessous : 									*
MidiConges = "1300"

DepartTraitement = TIME()
ENR_TEMPO = ""

EXECUTE 'DATE.FORMAT'
EXECUTE 'SET-DEC ,'

DateTraitement = OCONV(DATE(),"D4/")
HeureTraitement = OCONV(OCONV(TIME(),"MT"),"MCN")

PROCREAD PARAMETRES ELSE STOP

DateDeb = FIELD(PARAMETRES,"|",2)
DateFin = FIELD(PARAMETRES,"|",3)
HreDeb = FIELD(PARAMETRES,"|",4)
HreFin = FIELD(PARAMETRES,"|",5)
Asso = FIELD(PARAMETRES,"|",6)
TypeAct = FIELD(PARAMETRES,"|",7)
TypeSel = FIELD(PARAMETRES,"|",8)
CodeSel = FIELD(PARAMETRES,"|",9)
CodeAct = FIELD(PARAMETRES,"|",10)
NomFichier = FIELD(PARAMETRES,"|",11)

IF NomFichier # "" THEN
  IF OCONV(NomFichier[LEN(NomFichier)-3,4],"MCU") # ".CSV" THEN
	NomFichier = NomFichier:".csv"
  END
END
NomUtilisateur = FIELD(PARAMETRES,"|",12)

DELETE F.TEMPO,"EXTRACTPLANNING":NomUtilisateur

READ ENR_TPSPARAMEXTRACT FROM F.TPSPARAMEXTRACT, "1" ELSE
 ENR_TPSPARAMEXTRACT = ""	
 ENR_TPSPARAMEXTRACT<1> = "FUSION"
 ENR_TPSPARAMEXTRACT<2> = "ExtractionPlanning"
END

IF ENR_TPSPARAMEXTRACT<1>[LEN(ENR_TPSPARAMEXTRACT<1>),1] = "\" THEN
    ENR_TPSPARAMEXTRACT<1>=ENR_TPSPARAMEXTRACT<1>[1,LEN(ENR_TPSPARAMEXTRACT<1>)-1]
    WRITE ENR_TPSPARAMEXTRACT ON F.TPSPARAMEXTRACT, "1"
END

READ ENR_VOC FROM F.VOC, "ExtractPlanning" ELSE ENR_VOC = ""
ENR_VOC<1> = "DIR"
ENR_VOC<2> = ENR_TPSPARAMEXTRACT<1>
ENR_VOC<3> = "D_FUSION"
WRITE ENR_VOC ON F.VOC, "ExtractPlanning"

OPEN "", "ExtractPlanning" TO F.EXTRACTPLANNING ELSE
   ENR_TEMPO<1> = "Impossible d'accder au rpertoire spcifi."
   WRITE ENR_TEMPO ON F.TEMPO,"EXTRACTPLANNING":NomUtilisateur
   STOP
END

IF NomFichier = "" THEN
	NomFichier = ENR_TPSPARAMEXTRACT<2>
	IF OCONV(NomFichier[LEN(NomFichier)-3,4],"MCU") # ".CSV" THEN
		NomFichier = NomFichier:".csv"
  	END
END

ENR_RESULTAT = ""
W_IndResultat = 0

W_CodeAide = ""
GOSUB 925

W_CleRetour = NomUtilisateur:TIME()

IF TypeSel = "I" THEN
	W_IndAidant = 0
	W_CountAidant = DCOUNT(CodeSel,";")
	FOR W_IndAidant = 1 TO W_CountAidant
		W_ParamAffichePlanning = "AFFICHEPLANNING |":W_CleRetour:"|":Asso:"|":TypeAct:"|":DateDeb:"|":DateFin:"|||":FIELD(CodeSel,";",W_IndAidant):"|EXTRACT|||"
		EXECUTE W_ParamAffichePlanning
		*CALL AFFICHEPLANNING(RETURNVAL,W_ParamAffichePlanning,TabInterv)
		READ TabInterv FROM F.TPSTEMPO, "AFFICHEPLANNING":W_CleRetour ELSE
			TabInterv = ""
			TabInterv<1> = "#FIN"
		END
		GOSUB 100
		DELETE F.TPSTEMPO, "AFFICHEPLANNING":W_CleRetour
	NEXT W_IndAidant	
END ELSE
	W_ParamAffichePlanning = "AFFICHEPLANNING |":W_CleRetour:"|":Asso:"|":TypeAct:"|":DateDeb:"|":DateFin:"|":TypeSel:"|":CodeSel:"||EXTRACT|||"
	*CALL AFFICHEPLANNING(RETURNVAL,W_ParamAffichePlanning,TabInterv)
	EXECUTE W_ParamAffichePlanning
	READ TabInterv FROM F.TPSTEMPO, "AFFICHEPLANNING":W_CleRetour ELSE
		TabInterv = ""
		TabInterv<1> = "#FIN"
	END
	GOSUB 100
	DELETE F.TPSTEMPO, "AFFICHEPLANNING":W_CleRetour
END

IF TypeSel # "I" THEN
	GOSUB 600
END

WRITE ENR_RESULTAT ON F.EXTRACTPLANNING, NomFichier
ENR_TEMPO<1> = "Le fichier ":NomFichier:" a bien t gnr dans le rpertoire spcifi."
ENR_TEMPO<2> = INT(((TIME() - DepartTraitement)/60)/60):" heure ":MOD((TIME() - DepartTraitement)/60,60):" minutes"
WRITE ENR_TEMPO ON F.TEMPO,"EXTRACTPLANNING":NomUtilisateur
STOP

100 *********************************************************************
*      		Traitement du tableau TabInterv				*
*************************************************************************

iInterv = 0
LOOP
	iInterv = iInterv + 1
WHILE TabInterv<iInterv>[1,4] # "#FIN"
  
  IF TabInterv<iInterv>[1,7] = "#Interv" THEN

	 W_CodeAidant = TabInterv<iInterv>[8,5]
	 W_NomAidant = ""
	 W_PrenomAidant = ""
	 
	 FOR W_Date = DateDeb TO DateFin
		  iInterv = iInterv + 1
		  GOSUB 200
	 NEXT W_Date

  END
REPEAT

RETURN

200 *********************************************************************
*			Traitement du dtail du planning				*
*************************************************************************
iPlage = 0
LOOP
	iPlage = iPlage + 1
WHILE TabInterv<iInterv,1,iPlage> # ""



	W_InclureLaPlage = "V"
	IF W_NomAidant = "" THEN
		GOSUB 910
	END
	IF INDEX(TabInterv<iInterv,1,iPlage>,"Interv",1) # 0 THEN
		IF CodeAct # "" THEN
			IF TabInterv<iInterv,4,iPlage>[16,6] # CodeAct THEN
				W_InclureLaPlage = "F"
			END
		END
		IF W_InclureLaPlage = "V" THEN	
			GOSUB 300	  	
		END
	END ELSE


		W_CodeAsso = ""
		W_CodeActivite = ""
		W_RubSAisie = ""
		W_LibRubSaisie = ""
		W_Valeur = ""

		W_CodeAide = ""
		GOSUB 925
		W_AbsAide = ""
		W_CodeAidantRempl = ""
		W_CodePriorite = ""
		
		BEGIN CASE 
		   CASE TabInterv<iInterv,1,iPlage> = "MOI"
			W_TypeAct = TabInterv<iInterv,4,iPlage>[15,1]
			W_AbsAidant = "M"
			W_HreDeb = TabInterv<iInterv,2,iPlage>	
			W_HreFin = TabInterv<iInterv,3,iPlage>	
			READ ENR_TPSMOI FROM F.TPSMOI, TabInterv<iInterv,4,iPlage>[1,14] THEN
			   READ ENR_CONTRAT FROM F.CONTRAT, ENR_TPSMOI<4> THEN
				W_CodeAsso = ENR_CONTRAT<1>
				W_CodeActivite = ENR_CONTRAT<36,1>
			   END
			END
		   CASE TabInterv<iInterv,1,iPlage> = "CONGES"
			W_TypeAct = ""
			W_AbsAidant = "C"
			GOSUB 400
		   CASE TabInterv<iInterv,1,iPlage> = "ARRET"
			W_TypeAct = ""
			W_AbsAidant = "A"
			W_HreDeb = "0000"
			W_HreFin = "2400"
		   CASE TabInterv<iInterv,1,iPlage> = "VM"
			W_TypeAct = ""
			W_AbsAidant = "V"
			W_HreDeb = TabInterv<iInterv,2,iPlage>	
			W_HreFin = TabInterv<iInterv,3,iPlage>	
		   CASE TabInterv<iInterv,1,iPlage> = "INDISPO"
			W_TypeAct = ""
			W_AbsAidant = "I"
			W_HreDeb = TabInterv<iInterv,2,iPlage>	
			W_HreFin = TabInterv<iInterv,3,iPlage>	
		END CASE
	END
	IF W_InclureLaPlage = "V" THEN
	   IF W_Date = DateDeb THEN
		IF W_HreDeb < HreDeb THEN
			W_InclureLaPlage = "F"
		END 
	   END
	   IF W_Date = DateFin THEN
		IF W_HreDeb > HreFin THEN
			W_InclureLaPlage = "F"
		END 
	   END

	   IF W_InclureLaPlage = "V" THEN
		GOSUB 500 
	   END
	END
REPEAT
RETURN

300 *********************************************************************
*		Traitement d'une intervention (effective ou non)		*
*************************************************************************
IF W_CodeAide # TabInterv<iInterv,4,iPlage>[6,5] THEN
   W_CodeAide = TabInterv<iInterv,4,iPlage>[6,5]
   GOSUB 920
END

W_HreDeb = TabInterv<iInterv,2,iPlage>	
W_HreFin = TabInterv<iInterv,3,iPlage>	

W_TypeAct = TabInterv<iInterv,1,iPlage>[INDEX(TabInterv<iInterv,1,iPlage>,"Interv",1)+6,1]

W_CodeAsso = TabInterv<iInterv,4,iPlage>[16,3]
W_CodeActivite = TabInterv<iInterv,4,iPlage>[16,6]

W_AbsAide = ""
IF INDEX(TabInterv<iInterv,1,iPlage>,"AbsAide",1) # 0 THEN
	READ ENR_ABSENCESAIDE FROM F.ABSENCESAIDE, W_CodeAide THEN
		i = 0
		LOOP
		i = i + 1
		WHILE ENR_ABSENCESAIDE<1,i> # ""
		
		   IF W_Date >= ENR_ABSENCESAIDE<1,i> AND W_Date <= ENR_ABSENCESAIDE<2,i> THEN
			W_AbsAide = "A"
		   END
		REPEAT
	END
	IF W_AbsAide = "" THEN
		W_AbsAide = "J"
	END
END
	
W_AbsAidant = ""
i = 0
LOOP
i = i + 1
WHILE TabInterv<iInterv,1,i> # "" AND i < iPlage AND W_AbsAidant = ""

	IF TabInterv<iInterv,2,i> < TabInterv<iInterv,3,iPlage> AND TabInterv<iInterv,3,i> > TabInterv<iInterv,2,iPlage> THEN
		IF TabInterv<iInterv,1,i> = "CONGES" THEN
			W_AbsAidant = "C"
		END ELSE
			IF TabInterv<iInterv,1,i> = "ARRET" THEN
				W_AbsAidant = "A"
			END ELSE
				IF TabInterv<iInterv,1,i> = "VM" THEN
					W_AbsAidant = "V"
				END ELSE
					IF TabInterv<iInterv,1,i>[1,3] = "MOI" THEN
						W_AbsAidant = "M"
					END ELSE
						* Rien !!!
					END					
				END
			END
		END
	END
REPEAT
IF W_AbsAidant = "" THEN
	IF INDEX(TabInterv<iInterv,1,iPlage>,"EXCEPT",1) # 0 THEN
		W_AbsAidant = "E"
	END
END

READ ENR_TPSDETAILSINTERV FROM F.TPSDETAILSINTERV, TabInterv<iInterv,4,iPlage>[1,26] THEN

END ELSE
	ENR_TPSDETAILSINTERV = ""
END


W_RubSaisie = ""
W_LibRubSaisie = ""
IF ENR_TPSDETAILSINTERV<4> # "" THEN
	READ ENR_RUBSAISIE FROM F.RUBSAISIE, ENR_TPSDETAILSINTERV<4> THEN
		W_RubSaisie = ENR_TPSDETAILSINTERV<4>
		W_LibRubSaisie = ENR_RUBSAISIE<1>
	END
END


W_Valeur = ENR_TPSDETAILSINTERV<5>"R%4"

IF TabInterv<iInterv,4,iPlage>[27,1] = "|" THEN

	W_CodeAidantRempl = ENR_TPSDETAILSINTERV<6>[1,5]
	
END ELSE
	W_CodeAidantRempl = ""
END

W_CodePriorite = 6
GOSUB 930
IF W_CodePriorite = 6 THEN
	W_CodePriorite = ""
END
RETURN

400 *********************************************************************
*		Congs : recherche de la plage relle de congs...		*
*************************************************************************
* 1 : On recherche si le cong de cet aidant a dj t notifi...
W_Trouve = "F"
W_Ind = W_IndResultat
LOOP
W_Ind = W_Ind - 1
WHILE W_Ind > 0 AND FIELD(ENR_RESULTAT<W_Ind>,";",7) = W_CodeAidant AND FIELD(ENR_RESULTAT<W_Ind>,";",11) = OCONV(W_Date,"D4/") AND W_Trouve = "F"
	
	IF FIELD(ENR_RESULTAT<W_Ind>,";",17)= "C" AND FIELD(ENR_RESULTAT<W_Ind>,";",9) = "" THEN
		W_Trouve = "V"
		W_InclureLaPlage = "F"
	END	
REPEAT
* 2 : On dtermine les horaires de congs...
IF W_Trouve = "F" THEN
	W_Ind = iPlage - 1
	W_AbsMatin = "F"
	W_AbsMidi = "F"
	LOOP
	W_Ind = W_Ind + 1
	WHILE TabInterv<iInterv,1,W_Ind> # "" AND TabInterv<iInterv,1,W_Ind> = "CONGES"
		
		IF TabInterv<iInterv,2,iPlage> < MidiConges THEN
			W_AbsMatin = "V"
		END
		IF TabInterv<iInterv,3,iPlage> > MidiConges THEN
			W_AbsMidi = "V"
		END
	REPEAT
	IF W_AbsMatin = "F" THEN
		W_HreDeb = MidiConges
	END ELSE
		W_HreDeb = "0000"
	END
	IF W_AbsMidi = "F" THEN
		W_HreFin = MidiConges
	END ELSE
		W_HreFin = "2400"
	END

END
RETURN

500 *********************************************************************
*				Ecriture du rsultat					*
*************************************************************************
W_IndResultat = W_IndResultat + 1
ENR_RESULTAT<W_IndResultat> = W_CodeAsso:";":W_CodeActivite:";"
ENR_RESULTAT<W_IndResultat> = ENR_RESULTAT<W_IndResultat>:OCONV(DateDeb,"D4/"):";":HreDeb:";":OCONV(DateFin,"D4/"):";":HreFin:";"
ENR_RESULTAT<W_IndResultat> = ENR_RESULTAT<W_IndResultat>:DateTraitement:";":HeureTraitement:";"
ENR_RESULTAT<W_IndResultat> = ENR_RESULTAT<W_IndResultat>:W_CodeAidant:";":W_NomAidant:";":W_PrenomAidant:";"
ENR_RESULTAT<W_IndResultat> = ENR_RESULTAT<W_IndResultat>:W_CodeAide:";":W_NomAide:";":W_PrenomAide:";"
ENR_RESULTAT<W_IndResultat> = ENR_RESULTAT<W_IndResultat>:OCONV(W_Date,"D4/"):";":W_HreDeb:";"
ENR_RESULTAT<W_IndResultat> = ENR_RESULTAT<W_IndResultat>:OCONV(W_Date,"D4/"):";":W_HreFin:";"
ENR_RESULTAT<W_IndResultat> = ENR_RESULTAT<W_IndResultat>:W_TypeAct:";":W_AbsAide:";":W_AbsAidant:";"
ENR_RESULTAT<W_IndResultat> = ENR_RESULTAT<W_IndResultat>:W_CodeAidantRempl:";":W_CodePriorite:";"
ENR_RESULTAT<W_IndResultat> = ENR_RESULTAT<W_IndResultat>:W_TelAidant:";":W_TelAide:";"
ENR_RESULTAT<W_IndResultat> = ENR_RESULTAT<W_IndResultat>:W_AgeAide:";":W_BlocNotesAide:";"
ENR_RESULTAT<W_IndResultat> = ENR_RESULTAT<W_IndResultat>:W_GroupeGir:";":W_DateEvalGir:";"
ENR_RESULTAT<W_IndResultat> = ENR_RESULTAT<W_IndResultat>:W_RubSaisie:";":W_LibRubSaisie:";"
ENR_RESULTAT<W_IndResultat> = ENR_RESULTAT<W_IndResultat>:W_Valeur:";":W_Tel2Aide

RETURN

600  ********************************************************************
*				Ecriture du rsultat					*
*************************************************************************
IF CodeSel # "" THEN

   IF TypeSel = "C" THEN
	EXECUTE 'SELECT ABSENCESAIDE AVEC 1 <= "':DateFin:'" AND AVEC 2 >= "':DateDeb:'" AND AVEC LibCommuneAide = "':CodeSel:'"'
   END ELSE
	READ ENR_SECTEUR FROM F.SECTEUR, CodeSel ELSE ENR_SECTEUR = ""
	EXECUTE 'SELECT ABSENCESAIDE AVEC 1 <= "':DateFin:'" AND AVEC 2 >= "':DateDeb:'" AND AVEC Secteur = "':ENR_SECTEUR<1>:'"'
   END
END ELSE
	EXECUTE 'SELECT ABSENCESAIDE AVEC 1 <= "':DateFin:'" AND AVEC 2 >= "':DateDeb:'"'
END

W_CodeAsso = ""
W_CodeActivite = ""
W_RubSAisie = ""
W_LibRubSaisie = ""
W_Valeur = ""
W_CodeAidant = ""
W_NomAidant = ""
W_PrenomAidant = ""
W_TelAidant = ""
W_AbsAidant = ""
W_CodePriorite = ""
W_CodeAidantRempl = ""
W_HreDeb = "0000"
W_HreFin= "2400"

W_Fin = "F"
LOOP
READNEXT W_Cle ELSE W_Fin = "V"
WHILE W_Fin = "F"
	READ ENR_ABSENCESAIDE FROM F.ABSENCESAIDE, W_Cle THEN
	  FOR W_Date = DateDeb TO DateFin
		W_CodeAide = ""
		i = 0
		LOOP
		i = i + 1
		WHILE ENR_ABSENCESAIDE<i> # "" AND W_CodeAide = ""
			IF ENR_ABSENCESAIDE<1,i> <= W_Date AND ENR_ABSENCESAIDE<2,i> >= W_Date THEN
				W_CodeAide = W_Cle[1,5]
				GOSUB 920
				GOSUB 500
			END
		REPEAT
	  NEXT W_Date
	END
REPEAT

RETURN

910 *********************************************************************
*				Recueil donnes aidant					*
*************************************************************************
READ ENR_CIVILAIDANT FROM F.CIVILAIDANT, W_CodeAidant THEN
   W_NomAidant = ENR_CIVILAIDANT<2>
   W_PrenomAidant = ENR_CIVILAIDANT<3>
   

   IF INDEX(W_NomAidant:W_PrenomAidant,";",1) # 0 THEN
	W_Phrase = W_NomAidant
	GOSUB 950
	W_NomAidant = W_Phrase
	W_Phrase = W_PrenomAidant
	GOSUB 950
	W_PrenomAidant = W_Phrase
   END

   W_NomAidant = W_NomAidant[1,30]
   W_PrenomAidant = W_PrenomAidant[1,20]

   W_TelAidant = ENR_CIVILAIDANT<12>

END
RETURN

920 *********************************************************************
*				Recueil donnes aid					*
*************************************************************************
READ ENR_CIVILAIDE FROM F.CIVILAIDE, W_CodeAide THEN
   W_NomAide = ENR_CIVILAIDE<2>
   W_PrenomAide = ENR_CIVILAIDE<3>
   

   IF INDEX(W_NomAide:W_PrenomAide,";",1) # 0 THEN
	W_Phrase = W_NomAide
	GOSUB 950
	W_NomAide = W_Phrase
	W_Phrase = W_PrenomAide
	GOSUB 950
	W_PrenomAide = W_Phrase
   END

   W_NomAide = W_NomAide[1,30]
   W_PrenomAide = W_PrenomAide[1,20]

   W_TelAide = ENR_CIVILAIDE<14> 
   IF ENR_CIVILAIDE<20> # "" THEN
   	W_AgeAide = INT((DATE() - ENR_CIVILAIDE<20>)/365.25)
	W_AgeAide = W_AgeAide"R%3"
   END ELSE
      W_AgeAide = ""
   END
   READ ENR_BLOCNOTAIDE FROM F.BLOCNOTAIDE, W_CodeAide ELSE	ENR_BLOCNOTAIDE = ""
   W_Phrase = ENR_BLOCNOTAIDE<1>
   GOSUB 950
   W_BlocNotesAide = W_Phrase
   READ ENR_AGGIRAIDE FROM F.AGGIRAIDE, W_CodeAide ELSE ENR_AGGIRAIDE = ""
   W_GroupeGir = ENR_AGGIRAIDE<19>
   W_DateEvalGir = OCONV(ENR_AGGIRAIDE<18>,"D4/")

   W_Tel2Aide = ENR_CIVILAIDE<16>
END ELSE
   GOSUB 925
END
RETURN

925 *********************************************************************
*					RAZ donnes aid					*
*************************************************************************
W_NomAide = ""	
W_PrenomAide = ""
W_TelAide = ""
W_AgeAide = ""
W_BlocNotesAide = ""
W_GroupeGir = ""
W_DateEvalGir = ""
W_Tel2Aide = ""
RETURN

930 *********************************************************************
*				Dtermination de la priorit				*
*************************************************************************
READ ENR_BESOINSAIDE FROM F.BESOINSAIDE, W_CodeAide THEN
	i = 0
	LOOP
	i = i + 1
	WHILE i < 16
	
	    W_Priorite = 6
	    IF ENR_BESOINSAIDE<2,i> # "" AND ENR_BESOINSAIDE<2,i> # "0" THEN
		BEGIN CASE
			CASE i = 3 OR i = 7
				W_Priorite = 4
			CASE i = 4 OR i = 8 OR i = 11 OR i = 15
				W_Priorite = 3
			CASE i = 5 OR i = 6 OR i = 9 OR i = 10 OR i = 12 OR i = 13 OR i = 14
				W_Priorite = 2
			CASE 1
				W_Priorite = 5
		END CASE
		IF W_CodePriorite > W_Priorite THEN
			W_CodePriorite = W_Priorite
		END
	    END 
	REPEAT
END
RETURN

950 *********************************************************************
*			Suppression des ";" dans W_Phrase				*
*************************************************************************
LOOP
WHILE INDEX(W_Phrase,";",1) # 0
	W_Phrase = W_Phrase[1,INDEX(W_Phrase,";",1)-1]:".":W_Phrase[INDEX(W_Phrase,";",1)+1,LEN(W_Phrase)-INDEX(W_Phrase,";",1)]
REPEAT

LOOP
WHILE INDEX(W_Phrase,CHAR(13):CHAR(10),1) # 0
	W_Phrase = W_Phrase[1,INDEX(W_Phrase,CHAR(13):CHAR(10),1)-1]:".":W_Phrase[INDEX(W_Phrase,CHAR(13):CHAR(10),1)+2,LEN(W_Phrase)-INDEX(W_Phrase,CHAR(13):CHAR(10),1)-1]
REPEAT

RETURN
