***********************************************************************
* Mise en forme des fichiers de type _ph_
*
* Oter les lignes affiches par Uniodata en rsultat de requtes + 
* interdire plus de 3 sauts de lignes conscutifs
*
***********************************************************************

EXECUTE "SET-THOUS ."
EXECUTE "SET-DEC ,"
EXECUTE "DATE.FORMAT"
OPEN "","_PH_" TO F.PH ELSE 
	OPEN "", "VOC" TO F.VOC ELSE STOP
	ENR_VOC<1> = "DIR"
	ENR_VOC<2> = "_PH_"
	ENR_VOC<3> = "D__PH_"
	WRITE ENR_VOC ON F.VOC, "_PH_"
	OPEN "","_PH_" TO F.PH ELSE 
		PRINT "Erreur ouverture _PH_"
		STOP
	END
END

PROCREAD ARGUMENT THEN
    W_NomFic = FIELD(ARGUMENT," ",2)
    READ ENR_FIC FROM F.PH,W_NomFic ELSE
	PRINT "Mise en forme _PH_ : Nom de fichier spcifi incorrect."
	STOP
    END
END ELSE
   LOOP
	W_Trouve = "V"
	PRINT "Entrez le nom du fichier  mettre en forme"
	INPUT W_NomFic
	READ ENR_FIC FROM F.PH,W_NomFic ELSE W_Trouve = "F"
   WHILE W_Trouve = "F"
   REPEAT   
END




W_Espace1 = "V"
W_Espace2 = "V"

W_NbLignes = DCOUNT(ENR_FIC,CHAR(254))
FOR i = 1 TO W_NbLignes

	IF TRIM(ENR_FIC<i>) = "" THEN

		IF W_Espace1 = "V" AND W_Espace2 = "V" THEN		
			ENR_FIC = DELETE(ENR_FIC,i)
			W_NbLignes = W_NbLignes - 1
			i = i -1
		END ELSE
			IF W_Espace1 = "F" THEN	
				W_Espace1 = "V"
			END ELSE
				W_Espace2 = "V"
			END
		END

	END ELSE
		IF TRIM(ENR_FIC<i>) = "No data retrieved from current (S)SELECT statement." OR TRIM(ENR_FIC<i>) = "Overwriting existing saved list." OR TRIM(ENR_FIC<i>) = "No active select list, creating empty saved list." OR INDEX(ENR_FIC<i>,"records selected to list 0.",1) # 0 OR INDEX(ENR_FIC<i>,"key(s) saved to 1 record(s).",1) # 0 THEN
			ENR_FIC = DELETE(ENR_FIC,i)
			W_NbLignes = W_NbLignes - 1
			i = i - 1
		END ELSE
			W_Espace1 = "F"
			W_Espace2 = "F"
		END
	END	
	
NEXT i

WRITE ENR_FIC ON F.PH,W_NomFic
STOP
