******************************************************
* GENERATION DES FICHIERS BALANCEGENE ET BALANCEANAL *
* AU FORMAT ASCII AFIN DE LES EXPLOITER SOUS EXCEL   *
*                                                    *
* MAI 2002                           STEPHANE HERVET *
******************************************************

EXECUTE "SET-THOUS ."
EXECUTE "SET-DEC ,"
EXECUTE "DATE.FORMAT"
OPEN "","BALANCE" TO F.BALANCE ELSE 
	EXECUTE 'CREATE.FILE DIR BALANCE 1'
	OPEN "","BALANCE" TO F.BALANCE ELSE 
		PRINT "PB CREATION FICHIER BALANCE"
		STOP
	END
END
OPEN "","BALANCEGENE" TO F.BALANCEGENE ELSE STOP
OPEN "","BALANCEANAL" TO F.BALANCEANAL ELSE STOP
OPEN "","PLANCOMPTABLE" TO F.PLANCOMPTABLE ELSE STOP
OPEN "","TABLES" TO F.TABLES ELSE STOP

W_ENTITE=""

10
PRINT "POUR QUELLE ENTITE SOUHAITEZ-VOUS CONVERTIR LES FICHIERS BALANCE"
INPUT W_ENTITE
IF W_ENTITE="" THEN GOSUB 10


* TRAITEMENT DU FICHIER BALANCEANAL
EXECUTE 'SELECT BALANCEANAL AVEC ExerBalAnal = "N0" AND AVEC EntiteBalAnal = "':W_ENTITE:'" PAR CompteBalAnal PAR CodeSectBalAnal'
EXECUTE 'SAUVE-LISTE LISTBALANCEANAL'
EXECUTE "LISTE LISTBALANCEANAL" RETURNING MSGCODE
SELECT F.BALANCEANAL TO LISTBALANCEANAL

IF MSGCODE<1>#209 THEN 
	* LECTURE FICHIER TABLES / SECTANAL
	READ ENR_SECTANAL FROM F.TABLES,"SECTANAL" ELSE ENR_SECTANAL=""

	W_FINANAL=0
	I=1
	ENR_BALANCEASCII=""
	LOOP
		READNEXT CLEANAL FROM LISTBALANCEANAL ELSE W_FINANAL=1
		UNTIL W_FINANAL=1 DO

		* LECTURE BALANCEANAL + PLANCOMPTABLE
		READ ENR_BALANCEANAL FROM F.BALANCEANAL,CLEANAL ELSE ENR_BALANCEANAL=""
		READ ENR_PLANCOMPTABLE FROM F.PLANCOMPTABLE,W_ENTITE:CLEANAL[6,10] ELSE ENR_PLANCOMPTABLE=""
		
		* RECHERCHE DU LIBELLE DE SECTION ANALYTIQUE
		J=1
		LOOP
			UNTIL ENR_SECTANAL<2,J>=CLEANAL[16,3] OR ENR_SECTANAL<2,J>="" DO
			J=J+1
		REPEAT

		ENR_BALANCEASCII<I>=CLEANAL[6,10]:"|":ENR_PLANCOMPTABLE<1>:"|":ENR_BALANCEANAL<1>/100:"|":ENR_BALANCEANAL<2>/100:"|":(ENR_BALANCEANAL<1>-ENR_BALANCEANAL<2>)/100:"|":CLEANAL[16,3]:"|":ENR_SECTANAL<3,J>

		I=I+1
	REPEAT
	WRITE ENR_BALANCEASCII ON F.BALANCE,"BALANCEANALASCII"
END

* TRAITEMENT DU FICHIER BALANCEGENE
EXECUTE 'SELECT BALANCEGENE AVEC ExerBalGene = "N0" AND AVEC EntiteBalGene = "':W_ENTITE:'" PAR @ID'
EXECUTE 'SAUVE-LISTE LISTBALANCEGENE'
EXECUTE "LISTE LISTBALANCEGENE" RETURNING MSGCODE
SELECT F.BALANCEGENE TO LISTBALANCEGENE

IF MSGCODE<1>#209 THEN 
	W_FINGENE=0
	I=1
	ENR_BALANCEASCII=""
	LOOP
		READNEXT CLEGENE FROM LISTBALANCEGENE ELSE W_FINGENE=1
		UNTIL W_FINGENE=1 DO

		* LECTURE BALANCEGENE + PLANCOMPTABLE
		READ ENR_BALANCEGENE FROM F.BALANCEGENE,CLEGENE ELSE ENR_BALANCEGENE=""
		READ ENR_PLANCOMPTABLE FROM F.PLANCOMPTABLE,W_ENTITE:CLEGENE[6,10] ELSE ENR_PLANCOMPTABLE=""
		
		ENR_BALANCEASCII<I>=CLEGENE[6,10]:"|":ENR_PLANCOMPTABLE<1>:"|":ENR_BALANCEGENE<1>/100:"|":ENR_BALANCEGENE<2>/100:"|":(ENR_BALANCEGENE<1>-ENR_BALANCEGENE<2>)/100

		I=I+1
	REPEAT
	WRITE ENR_BALANCEASCII ON F.BALANCE,"BALANCEGENEASCII"
END
