*************************************************
*						*
* Gnration du fichier HRESHISTOR  partir	*
* du fichier HISTOR du logiciel FACTURE		*
*						*
* AOUT 1999		Jrme RAVEAU		*
*						*
*************************************************
EXECUTE 'DATE.FORMAT'

* CREATIN VOC
GOSUB 100

PROCREAD VARIABLES ELSE STOP
MODULE=FIELD(VARIABLES," ",2)

*************************************************
* OUVERTURE FICHIERS				*
*************************************************
OPEN "","HRESHISTOR" TO F.HRESHISTOR ELSE STOP
OPEN "","STATACTAIDE" TO F.STATACTAIDE ELSE STOP
OPEN "","HISTOR" TO F.HISTOR ELSE STOP
OPEN "","P.AIDEES" TO F.PAIDEES ELSE STOP
OPEN "","FIPAY" TO F.FIPAY ELSE STOP
OPEN "","PARAMASSO" TO F.PARAMASSO ELSE STOP

READ ENRPARAMASSO FROM F.PARAMASSO,"1" ELSE STOP
I=1
LOOP
 COMPTE=EXTRACT(ENRPARAMASSO,1,I)
 UNTIL COMPTE="" OR COMPTE=W_MODULE DO
  I=I+1
REPEAT
IF COMPTE="" THEN STOP
CODEENTITE=EXTRACT(ENRPARAMASSO,2,I)
CODEACTIVITE=EXTRACT(ENRPARAMASSO,3,I)
CODEACTIVITE=CODEENTITE:CODEACTIVITE

W_REQVIDE="FAUX"
ENR_HRESHISTOR=""
W_FICHIER=""
W_ANCIEN=""


EXECUTE 'TSELECT HISTOR PAR CODEPB'

LOOP
	*****************************************
	* Lecture enregs requete		*
	*****************************************
	READNEXT CLE ELSE
		W_REQVIDE="VRAI"
	END
	UNTIL W_REQVIDE="VRAI" DO
	
	*****************************************
	* Recupere code aide  partir de la cl *
	*****************************************
	W_AIDE=CLE[1,4]

	IF W_ANCIEN # W_AIDE THEN

		W_ANCIEN=W_AIDE
		*****************************************
		* Recherche nouveau code aide		*
		*****************************************
		READ ENR_PAIDEES FROM F.PAIDEES,W_AIDE ELSE ENR_PAIDEES=""

		*****************************************
		* Recupere nouveau code aide		*
		*****************************************
		W_NOUVCODE=ENR_PAIDEES<50>
	END

	*****************************************
	* Recupere periode et conversion	*
	*****************************************
	W_PERIODE=CLE[5,2]
	IF W_PERIODE<25 THEN
		W_PERIODE="20":CLE[5,4]
	END ELSE
		W_PERIODE="19":CLE[5,4]
	END

	
	*****************************************
	* Lecture du fichier a recopier		*
	*****************************************
	READ ENR_HISTOR FROM F.HISTOR,CLE ELSE ENR_HISTOR=""
	
	W_NBVALEUR=DCOUNT(ENR_HISTOR<2>,CHAR(253))	

	ENR_HRESHISTOR=""
	FOR I=1 TO W_NBVALEUR
		READ ENR_FIPAY FROM F.FIPAY,ENR_HISTOR<2,I> ELSE ENR_FIPAY=""

		ENR_HRESHISTOR=REPLACE(ENR_HRESHISTOR,1,I;ENR_FIPAY<60>)

	NEXT I

	*****************************************
	* Creation du nouveau fichier		*
	*****************************************
	ENR_HRESHISTOR=REPLACE(ENR_HRESHISTOR,2;ENR_HISTOR<3>)
        TOTHEURES=EXTRACT(ENR_HISTOR,1)

	WRITE ENR_HRESHISTOR ON F.HRESHISTOR,W_NOUVCODE:CODEENTITE:W_PERIODE
        READ ENR_STATACTAIDE FROM F.STATACTAIDE,W_NOUVCODE:CODEENTITE:W_PERIODE ELSE ENR_STATACTAIDE=""
        ENR_STATACTAIDE=REPLACE(ENR_STATACTAIDE,1,-1;CODEACTIVITE)
        ENR_STATACTAIDE=REPLACE(ENR_STATACTAIDE,2,-1;TOTHEURES)
        WRITE ENR_STATACTAIDE ON F.STATACTAIDE,W_NOUVCODE:CODEENTITE:W_PERIODE

REPEAT


* SUPPRESSION DES LIAISONS
GOSUB 200

STOP

*************************************************************
* CREATION VOC                                              *
*************************************************************
100 *
	OPEN "","VOC" TO F.VOC ELSE STOP
        OPEN "","PARAMASSO" TO F.PARAMASSO ELSE STOP
        READ ENRPARAMASSO FROM F.PARAMASSO,"1" ELSE STOP

	PROCREAD MODULE ELSE STOP
	W_MODULE=FIELD(MODULE," ",2)
        D=1
        LOOP
           MODULEASSO=EXTRACT(ENRPARAMASSO,1,D)
           UNTIL MODULEASSO=W_MODULE OR MODULEASSO=""
              D=D+1
        REPEAT
        IF MODULEASSO="" THEN STOP
        MODULEASSO=EXTRACT(ENRPARAMASSO,5,D)
        IF MODULEASSO="" THEN STOP

	W_FICHIER="HISTOR"
        ENR_VOC=""
	ENR_VOC=REPLACE(ENR_VOC,1;"F")
	ENR_VOC=REPLACE(ENR_VOC,2;"D:\TRANSFERT\":MODULEASSO:"\":W_FICHIER)
	ENR_VOC=REPLACE(ENR_VOC,3;"D:\TRANSFERT\":MODULEASSO:"\D_":W_FICHIER)
	WRITE ENR_VOC ON F.VOC,W_FICHIER   


	W_FICHIER="P.AIDEES"
        ENR_VOC=""
	ENR_VOC=REPLACE(ENR_VOC,1;"F")
	ENR_VOC=REPLACE(ENR_VOC,2;"D:\TRANSFERT\":MODULEASSO:"\":W_FICHIER)
	ENR_VOC=REPLACE(ENR_VOC,3;"D:\TRANSFERT\":MODULEASSO:"\D_":W_FICHIER)
	WRITE ENR_VOC ON F.VOC,W_FICHIER   


	W_FICHIER="FIPAY"
	ENR_VOC=""
	ENR_VOC=REPLACE(ENR_VOC,1;"F")
	ENR_VOC=REPLACE(ENR_VOC,2;"D:\TRANSFERT\":W_MODULE:"\":W_FICHIER)
	ENR_VOC=REPLACE(ENR_VOC,3;"D:\TRANSFERT\":W_MODULE:"\D_":W_FICHIER)
	WRITE ENR_VOC ON F.VOC,W_FICHIER

RETURN

*************************************************************
* SUPPRESSION VOC                                           *
*************************************************************
200 *
	DELETE F.VOC,"HISTOR"
	DELETE F.VOC,"P.AIDEES"
	DELETE F.VOC,"FIPAY"
RETURN
