***********************************************************************
* PROGRAMME D'EDITION DE L'ETAT DES AIDES AVEC ADRESSE DE FACTURATION *
***********************************************************************

***************************
* CREATION                *
*                         *
* CELINE  SEPTEMBRE 2000  *
*************************** 

***************************
* OUVERTURE FICHIERS      *
***************************

EXECUTE "SET-THOUS ."
EXECUTE "SET-DEC ,"
EXECUTE "DATE.FORMAT"
OPEN "","ACTIVITES" TO F.ACTIVITES ELSE STOP
OPEN "","ACTIVITESAIDE" TO F.ACTIVITESAIDE ELSE STOP
OPEN "","CIVILAIDE" TO F.CIVILAIDE ELSE STOP
OPEN "","ELTSFACTAIDE" TO F.ELTSFACTAIDE ELSE STOP
OPEN "","TEMPO" TO F.TEMPO ELSE STOP

******************************
* Recuperation des arguments *
******************************

PROCREAD ARGUMENTS ELSE PRINT "PROCREAD"

W_USER=FIELD(ARGUMENTS,"|",2)
W_ASSOC=FIELD(ARGUMENTS,"|",3)
W_DATE=FIELD(ARGUMENTS,"|",4)
W_TYPEACTIVITE=FIELD(ARGUMENTS,"|",5)
W_TRI=FIELD(ARGUMENTS,"|",6)
W_CODERESPSECT=FIELD(ARGUMENTS,"|",7)
W_ETQ=FIELD(ARGUMENTS,"|",8)

* ligne ci dessous ajoutees le 8/10 au cours des tests de la version du 30/09
W_REQUETEACTIVITESAIDE = ""

**************
* REQUETE    *
**************

W_Temp = 'SELECT ACTIVITESAIDE AVEC 1 = "':W_ASSOC:']" AND AVEC TypeActivite = "':W_TYPEACTIVITE:'" AND AVEC 2 <= "':W_DATE:'" OR = "" AND AVEC 3 >= "':W_DATE:'" OR = "" AND AVEC NomAdrFactAide # ""'

IF W_TRI = "R" THEN
	IF W_CODERESPSECT # "" THEN
		W_Temp=W_Temp:' AND AVEC RespAide = "':W_CODERESPSECT:'" PAR NomPrenomAide PAR 0 '
	END ELSE
		W_Temp=W_Temp:' PAR LibRespAide PAR NomPrenomAide PAR 0 '
	END
END ELSE
	IF W_TRI = "S" THEN
		IF W_CODERESPSECT # "" THEN
			W_Temp=W_Temp:' AND AVEC SecteurAide = "':W_CODERESPSECT:'" PAR NomPrenomAide PAR 0 '
		END ELSE
			W_Temp=W_Temp:' PAR LibSecteurAide PAR NomPrenomAide PAR 0 '	
		END
	END ELSE
		IF W_TRI = "C" THEN
			IF W_CODERESPSECT # "" THEN
				W_Temp=W_Temp:' AND AVEC LibCommuneAide = "':W_CODERESPSECT:'" PAR NomPrenomAide PAR 0 '
			END ELSE
				W_Temp=W_Temp:' PAR LibCommuneAide PAR NomPrenomAide PAR 0 '	
			END
		END ELSE
			W_Temp=W_Temp:' PAR NomPrenomAide PAR 0 '
		END
	END
END

EXECUTE W_Temp
EXECUTE 'SAUVE-LISTE W_REQUETEACTIVITESAIDE'
EXECUTE "LISTE W_REQUETEACTIVITESAIDE" RETURNING MSGCODE	
ENR_TEMPO=""
IF MSGCODE<1>#209 THEN
	SELECT F.ACTIVITESAIDE TO W_REQUETEACTIVITESAIDE
	I=0
	W_FINI="FAUX"
	LOOP
		READNEXT W_CLE FROM W_REQUETEACTIVITESAIDE ELSE W_FINI="VRAI"
	WHILE W_FINI="FAUX" DO
		GOSUB 100	
	REPEAT
	IF W_ETQ = "Vrai" OR W_ETQ = "True" THEN
		ENR_TEMPO<I+1> = "FIN"
	END
END ELSE
	ENR_TEMPO="VIDE"
END

WRITE ENR_TEMPO ON F.TEMPO,"ETATAIDESADRFACTUR":W_USER

STOP

*************************************************
* PARCOURS DE LA REQUETE ET ECRITURE DU FICHIER *
*************************************************

100

	READ ENR_ACTIVITESAIDE FROM F.ACTIVITESAIDE,W_CLE ELSE ENR_ACTIVITESAIDE=""
	W_Passe="FAUX"
	W_Count=DCOUNT(ENR_ACTIVITESAIDE<1>,CHAR(253))
	FOR IAct = 1 TO ENR_ACTIVITESAIDE<1,IAct>
		IF ENR_ACTIVITESAIDE<1,IAct>[1,3]=W_ASSOC THEN
			READ ENR_ACTIVITES FROM F.ACTIVITES,ENR_ACTIVITESAIDE<1,IAct> ELSE ENR_ACTIVITES=""
			IF W_TYPEACTIVITE=ENR_ACTIVITES<12> THEN
				IF ENR_ACTIVITESAIDE<2,IAct>="" THEN
					W_Passe="VRAI"
					EXIT
				END ELSE
					IF ENR_ACTIVITESAIDE<2,IAct> <= W_DATE THEN
						IF ENR_ACTIVITESAIDE<3,IAct>="" THEN
							W_Passe="VRAI"
							EXIT
						END ELSE
							IF ENR_ACTIVITESAIDE<3,IAct> >= W_DATE THEN
								W_Passe="VRAI"
								EXIT
							END ELSE
								EXIT
							END
						END
					END
				END
			END
		END
	NEXT IAct
	
	IF W_Passe="VRAI" THEN
		W_Secteur=""
		TabForme=""
		I=I+1
		W_CODESELECTION=""
		
		ENR_TEMPO<I,1>=W_CLE
		
		READ ENR_CIVILAIDE FROM F.CIVILAIDE,W_CLE ELSE ENR_CIVILAIDE=""
		
		IF W_TRI = "R" THEN
			W_CODESELECTION = ENR_CIVILAIDE<39>
		END ELSE
			IF W_TRI = "S" THEN
				W_Secteur=ENR_CIVILAIDE<40>
				W_CODESELECTION = W_Secteur[1,3]
			END ELSE
				IF W_TRI = "C" THEN
					W_CODESELECTION = ENR_CIVILAIDE<11>
				END
			END
		END
		
		W_NOMPRENOM=ENR_CIVILAIDE<2>:" ":ENR_CIVILAIDE<3>
      		IF LEN(ENR_CIVILAIDE<2>:" ":ENR_CIVILAIDE<3>) < 34 THEN
            		ENR_TEMPO<I,1>= ENR_TEMPO<I,1>:" ":W_NOMPRENOM:SPACE(34 - LEN(W_NOMPRENOM))
      		END ELSE
            		ENR_TEMPO<I,1>= ENR_TEMPO<I,1>:" ":W_NOMPRENOM[1, 34]:SPACE(34 - LEN(W_NOMPRENOM[1, 34]))
      		END
		
		READ ENR_ELTSFACTAIDE FROM F.ELTSFACTAIDE,W_CLE ELSE ENR_ELTSFACTAIDE = ""
		W_NomAdrFactur=ENR_ELTSFACTAIDE<2>
		
		ENR_TEMPO<I,1>=ENR_TEMPO<I,1>:W_NomAdrFactur[1,30]
		
		ENR_TEMPO<I,2>= W_CODESELECTION:CHAR(253):ENR_CIVILAIDE<40>[1,3]
		
		TabForme=ENR_ELTSFACTAIDE
		IndForme=3
		GOSUB 200
      		W_ImprimeAdresse=MiseEnFormeAdresse1
		W_COMPLADRESS=ENR_ELTSFACTAIDE<7>
      		W_CODPOSTAL= ENR_ELTSFACTAIDE<8>
		W_VILLE= ENR_ELTSFACTAIDE<9>
		IF ENR_ELTSFACTAIDE<10> = "1" THEN
			IF ENR_ELTSFACTAIDE<11> # "" THEN
				W_CEDEX= " Cedex ":ENR_ELTSFACTAIDE<11> 
			END ELSE
				W_CEDEX= " Cedex "
			END
		END ELSE
			W_CEDEX= ""
		END
        	IF W_ImprimeAdresse # "" THEN
			I=I+1
	             	ENR_TEMPO<I,1>= SPACE(40):W_ImprimeAdresse[1, 34]
			
		    	IF W_COMPLADRESS # "" THEN
				I=I+1
            			ENR_TEMPO<I,1>= SPACE(40):W_COMPLADRESS[1, 34]
	            	END
        	   	IF W_CODPOSTAL # "" AND W_VILLE # "" THEN
				I=I+1
                		ENR_TEMPO<I,1>= SPACE(40):W_CODPOSTAL:" ":W_VILLE
				IF W_CEDEX # "" THEN
					ENR_TEMPO<I,1>= ENR_TEMPO<I,1>:W_CEDEX
				END
	           	END
        	END ELSE
	            	IF W_COMPLADRESS # "" THEN
				I=I+1
               			ENR_TEMPO<I,1>= SPACE(40):W_COMPLADRESS[1, 34]
				IF W_CODPOSTAL # "" AND W_VILLE # "" THEN
					I=I+1
	                		ENR_TEMPO<I,1>= SPACE(40):W_CODPOSTAL:" ":W_VILLE
					IF W_CEDEX # "" THEN
						ENR_TEMPO<I,1>= ENR_TEMPO<I,1>:W_CEDEX
					END
	           		END
        	    	END ELSE
				I=I+1
               			ENR_TEMPO<I,1>=SPACE(40):W_CODPOSTAL:" ":W_VILLE
				IF W_CEDEX # "" THEN
					ENR_TEMPO<I,1>= ENR_TEMPO<I,1>:W_CEDEX
				END
			END
        	END
	END
	
RETURN

**************************
* MISE EN FORME ADRESSE  *
**************************

200

	MiseEnFormeAdresse1 = ""
	
    	IF TabForme<IndForme> # "" THEN
        	MiseEnFormeAdresse1 = TabForme<IndForme>:SPACE(1)
    	END
    	
    	IF TabForme<IndForme + 1> # "" THEN
        	MiseEnFormeAdresse1 = MiseEnFormeAdresse1:TabForme<IndForme + 1>:SPACE(1)
   	END
    	
    	IF TabForme<IndForme + 2> # "" THEN
        	MiseEnFormeAdresse1 = MiseEnFormeAdresse1:TabForme<IndForme + 2>:SPACE(1)
    	END
    	
    	IF TabForme<IndForme + 3> # "" THEN
        	MiseEnFormeAdresse1 = MiseEnFormeAdresse1:TabForme<IndForme + 3>
    	END
	
RETURN
