**** 
* GENERATION D'UN FICHIER POUR LA CAF ET LA CPAM
*
* 26/02/03				STEPHANE
****

EXECUTE "SET-THOUS ."
EXECUTE "SET-DEC ,"
EXECUTE "DATE.FORMAT"
OPEN "","ARCHIVEBORDCAISSE" TO F.ARCHIVEBORDCAISSE ELSE STOP
OPEN "","FUSION" TO F.FUSION ELSE STOP

PRINT "CAISSE A TRAITER"
INPUT W_CAISSE

PRINT "PERIODE DE DEBUT (AAAAMM)"
INPUT W_PERIODE1

PRINT "PERIODE DE FIN (AAAAMM)"
INPUT W_PERIODE2

W_CODECAISSE="P":W_CAISSE

EXECUTE 'SELECT ARCHIVEBORDCAISSE AVEC 0 = "[':W_CODECAISSE:']" AND AVEC PeriodeArchive >= "':W_PERIODE1:'" AND <= "':W_PERIODE2:'" PAR PeriodeArchive'
EXECUTE "SAUVE-LISTE FICHIERCAF"
EXECUTE "LISTE FICHIERCAF" RETURNING W_MSG

IF W_MSG<1>="209" THEN
	PRINT "AUCUN BORDEREAU POUR CET ORGANISME SUR CETTE PERIODE"
	STOP
END

SELECT F.ARCHIVEBORDCAISSE TO FICHIERCAF

W_FIN=0
ENR_FUSION=""
W_TEMP=""
W_TEMP1=""
W_ANCIENPERIODE=""
W_NBCOLONNE=0
J=1
LOOP
	READNEXT CLE FROM FICHIERCAF ELSE W_FIN=1
	UNTIL W_FIN=1 DO

	READ ENR_ARCHIVEBORDCAISSE FROM F.ARCHIVEBORDCAISSE,CLE ELSE ENR_ARCHIVEBORDCAISSE=""
	
	IF ENR_FUSION="" THEN	
		* RECHERCHE ZONE #2
		* POUR LIGNE ENTETE
		I=1
		LOOP
			UNTIL ENR_ARCHIVEBORDCAISSE<I>="#2" DO
			I=I+1
		REPEAT
		I=I+1
		LOOP
			UNTIL ENR_ARCHIVEBORDCAISSE<I>="#3" DO
			IF ENR_FUSION="" THEN
				* INSERE PERIODE EN 1ERE MV
				ENR_FUSION<J>="Priode":ENR_ARCHIVEBORDCAISSE<I>
			END ELSE
				ENR_FUSION<J>="       ":ENR_ARCHIVEBORDCAISSE<I>
			END
			J=J+1
			I=I+1
		REPEAT		
		I=I+1
		* FIN RECHERCHE ZONE #2
	END
	W_ANCIENPERIODE=CLE[8,6]	

	* REMPLI FICHIER JUSQU'A #5
	* ECRITURE LIGNE DETAIL
	I=1
	LOOP
		UNTIL ENR_ARCHIVEBORDCAISSE<I>="#3" DO
		I=I+1
	REPEAT
	I=I+1

	LOOP
		UNTIL ENR_ARCHIVEBORDCAISSE<I>="#5" OR ENR_ARCHIVEBORDCAISSE<I>="" DO
		
		ENR_FUSION<J>=CLE[8,6]:" ":ENR_ARCHIVEBORDCAISSE<I>
		
		J=J+1
		I=I+1
	REPEAT
	* FIN ECRITURE LIGNE DETAIL

REPEAT
	
* RECHERCHE CARACTERE  DANS FICHIER ET REMPLACE PAR ;
I=1
LOOP
	UNTIL ENR_FUSION<I>=""
	ENR_FUSION<I> = CONVERT("",";",ENR_FUSION<I>)
	I=I+1	
REPEAT

* ECRITURE FICHIER FUSION
WRITE ENR_FUSION ON F.FUSION,W_CAISSE:".CSV"

STOP
