
*****************************
* CREE LE FICHIER ETIQUETTE *
* 20/07/2001 ALAIN          *
*****************************

***************************
* Ouvertures des 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 "","CIVILAIDANT" TO F.CIVILAIDANT ELSE STOP
OPEN "","CIVILAIDE" TO F.CIVILAIDE ELSE STOP
OPEN "","COMMUNES" TO F.COMMUNES ELSE STOP
OPEN "","CONTRAT" TO F.CONTRAT ELSE STOP
OPEN "","ETIQCODBAR" TO F.ETIQCODBAR ELSE STOP
OPEN "","RESPONSABLE" TO F.RESPONSABLE ELSE STOP
OPEN "","SECTEUR" TO F.SECTEUR ELSE STOP
OPEN "","TEMPO" TO F.TEMPO ELSE STOP

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

PROCREAD ARGUMENTS ELSE PRINT "Procread"

W_ASSOC = FIELD(ARGUMENTS,"|",2)
W_TYPACT = FIELD(ARGUMENTS,"|",3)
W_TYPETQ = FIELD(ARGUMENTS,"|",4)
W_CODESELECTION = FIELD(ARGUMENTS,"|",5)
W_TYPESELECTION = FIELD(ARGUMENTS,"|",6)
W_DATEREF = FIELD(ARGUMENTS,"|",7)
W_DATESEL = FIELD(ARGUMENTS,"|",8)
W_CODAID = FIELD(ARGUMENTS,"|",9)
W_INDNUMFIC = FIELD(ARGUMENTS,"|",10)
W_INDICE = FIELD(ARGUMENTS,"|",11)

*********************
* TRAITEMENT GLOBAL *
*********************

W_DATEREF = ICONV(W_DATEREF,"D4/")

ENR_TEMPO = ""
ENR_ETIQ = ""
W_SELECTION = ""
W_SELECTION2 = ""
NOMFIC = OCONV(DATE(),"D4/")
NOMFIC = NOMFIC[7,4]:NOMFIC[4,2]:NOMFIC[0,2]
NOMFIC = W_ASSOC:NOMFIC

IF W_TYPESELECTION = "I" THEN
   GOSUB 300
END

IF W_CODESELECTION = "" THEN
	IF W_TYPESELECTION = "C" THEN
		IF W_TYPETQ = "AIDANT" THEN
			W_SELECTION2 = ' PAR LibCommuneAidant'
		END ELSE
			W_SELECTION2 = ' PAR LibCommuneAide'
		END
	END ELSE
		IF W_TYPESELECTION = "S" THEN
			IF W_TYPETQ = "AIDANT" THEN
				W_SELECTION2 = ' PAR LibSecteurContrat'
			END ELSE
				W_SELECTION2 = ' PAR LibSecteurEmployeur'
			END
		END ELSE
			IF W_TYPESELECTION = "R" THEN
				W_SELECTION2 = ' PAR LibRespAide'
			END
		END
	END
END ELSE
	IF W_TYPESELECTION = "C" THEN
		IF W_TYPETQ = "AIDANT" THEN
			W_SELECTION2 = ' AND AVEC LibCommuneAidant = "':W_CODESELECTION:'"'
		END ELSE
			W_SELECTION2 = ' AND AVEC LibCommuneAide = "':W_CODESELECTION:'"'
		END
	END ELSE
		IF W_TYPESELECTION = "S" THEN
			IF W_TYPETQ = "AIDANT" THEN
				W_SELECTION2 = ' AND AVEC CodSecteurContrat = "':W_CODESELECTION:'"'
			END ELSE
				W_SELECTION2 = ' AND AVEC CodeSecteurBisAide = "':W_CODESELECTION:'"'
			END
		END ELSE
			IF W_TYPESELECTION = "R" THEN
				W_SELECTION2 = ' AND AVEC CodeResponsableBisAide = "':W_CODESELECTION:'"'
			END
		END
	END
END

IF W_TYPETQ = "AIDANT" THEN
	W_SELECTION2 = W_SELECTION2:' PAR NomPrenomAidantContrat'
END ELSE
	W_SELECTION2 = W_SELECTION2:' PAR NomPrenomAide'
END

IF W_TYPETQ = "AIDANT" THEN
	IF W_TYPACT = "M" THEN
		W_SELECTION = ' AND AVEC 1 = "02"'
	END ELSE
		IF W_TYPACT = "I" THEN
			W_SELECTION = ' AND AVEC TypeActivite = "I"':W_SELECTION
		END ELSE
			W_SELECTION = ' AND AVEC TypeActivite = "P"':W_SELECTION
		END
	END
	IF W_DATESEL = "ACT" THEN
		W_SELECTION = 'SSELECT CONTRAT AVEC 2 = "':W_ASSOC:'" AND AVEC 65 # "O" AND AVEC 7 <= "':W_DATEREF:'" AND AVEC 8 => "':W_DATEREF:'" OR = ""':W_SELECTION:W_SELECTION2
	END ELSE
		W_SELECTION = 'SSELECT CONTRAT AVEC 2 = "':W_ASSOC:'" AND AVEC 65 # "O" AND AVEC 7 => "':W_DATEREF:'"':W_SELECTION:W_SELECTION2
	END
END ELSE
	W_SELECTION = 'SSELECT ACTIVITESAIDE AVEC TypeActivite = "':W_TYPACT:'" ':W_SELECTION:W_SELECTION2
END

EXECUTE W_SELECTION
EXECUTE 'SAUVE-LISTE W_RESULTAT' 
EXECUTE "LISTE W_RESULTAT" RETURNING MSGCODE

IF MSGCODE<1> # 209 THEN

   I = 1
   W_TROUV = "FAUX"

   LOOP
   WHILE W_TROUV = "FAUX" AND I # "10" DO
	NOMFIC = NOMFIC[1,11]:I
	READ ENR_ETIQ FROM F.ETIQCODBAR,NOMFIC ELSE W_TROUV = "VRAI"
	IF W_TROUV = "FAUX" THEN
		I = I + 1
	END
   REPEAT

   ENR_TEMPO = ""

   IF W_TROUV = "FAUX" THEN
	ENR_TEMPO<1> = 'PLUS DE FICHIER'
	WRITE ENR_TEMPO TO F.TEMPO, "ETQCODBAR"
	STOP
   END

   ENR_ETIQ = ""

   ENR_TEMPO<1> = 'FICHIER REMPLI'

   IF W_TYPETQ = "AIDANT" THEN
	GOSUB 100
   END ELSE
	IF W_TYPETQ = "AIDE" THEN
	   GOSUB 200
	END
   END


   IF ENR_ETIQ<1> # "" THEN
   	WRITE ENR_ETIQ TO F.ETIQCODBAR,NOMFIC
   	ENR_TEMPO<2> = I
   	ENR_TEMPO<3> = NOMFIC
   	WRITE ENR_TEMPO TO F.TEMPO, "ETQCODBAR"
   END ELSE
	ENR_TEMPO<1> = 'NEANT'
	WRITE ENR_TEMPO TO F.TEMPO, "ETQCODBAR"
   END

   EXECUTE 'EFFACER-LISTE W_RESULTAT'
END ELSE
   ENR_TEMPO<1> = 'NEANT'
   WRITE ENR_TEMPO TO F.TEMPO, "ETQCODBAR"
END

STOP 

********************
* PROCEDURE AIDANT *
********************

100

W_FINI = "FAUX"
ANCCONTRAT = ""
I = 0	

LOOP
	READNEXT CLE.CONTRAT FROM W_RESULTAT ELSE W_FINI="VRAI"
WHILE W_FINI = "FAUX"
   W_AIDE = CLE.CONTRAT[1,5]
   IF W_AIDE # ANCCONTRAT THEN
	ANCCONTRAT = W_AIDE
	READ ENR_CONTRAT FROM F.CONTRAT,CLE.CONTRAT ELSE ENR_CONTRAT = ""
	READ ENR_CIVILAIDANT FROM F.CIVILAIDANT,W_AIDE ELSE ENR_CIVILAIDANT = ""
	NOM = ENR_CIVILAIDANT<2>:' ':ENR_CIVILAIDANT<3>
	NOM = NOM[1,25]
	NOM = NOM:SPACE(25-(LEN(NOM)))
	I = I + 1
	ENR_ETIQ<I> = 'S':W_AIDE:NOM
   END
REPEAT

RETURN
*******************
* PROCEDURE AIDES *
*******************

200

K = ""
I = 0
W_FINI = "FAUX"

LOOP
	READNEXT W_AIDE FROM W_RESULTAT ELSE W_FINI="VRAI"
WHILE W_FINI = "FAUX"
	READ ENR_ACTIVITESAIDE FROM F.ACTIVITESAIDE,W_AIDE ELSE ENR_ACTIVITESAIDE = ""
	READ ENR_CIVILAIDE FROM F.CIVILAIDE,W_AIDE ELSE ENR_CIVILAIDE = ""
	K = 0
	W_VALID = "FAUX"
	LOOP
	WHILE ENR_ACTIVITESAIDE<1,K> # "" AND W_VALID = "FAUX" DO
	   K = K + 1
	   READ ENR_ACTIVITES FROM F.ACTIVITES,ENR_ACTIVITESAIDE<1,K> ELSE ENR_ACTIVITES = ""
	   IF ENR_ACTIVITES<12> = W_TYPACT THEN
		IF W_DATESEL = "ACT" THEN
			IF ENR_ACTIVITESAIDE<2,K> <= W_DATEREF AND ENR_ACTIVITESAIDE<2,K> # "" THEN
			   IF ENR_ACTIVITESAIDE<3,K> => W_DATEREF OR ENR_ACTIVITESAIDE<3,K> = "" THEN
				W_VALID = "VRAI"
			   END
			END
		END ELSE
			IF ENR_ACTIVITESAIDE<2,K> => W_DATEREF AND ENR_ACTIVITESAIDE<2,K> # "" THEN
			   IF ENR_ACTIVITESAIDE<3,K> => W_DATEREF OR ENR_ACTIVITESAIDE<3,K> = "" THEN
				W_VALID = "VRAI"
			   END
			END
		END
	   END
	REPEAT

	IF W_VALID = "VRAI" THEN
	   NOM = ENR_CIVILAIDE<2>:' ':ENR_CIVILAIDE<3>
	   NOM = NOM[1,25]
	   NOM = NOM:SPACE(25-(LEN(NOM)))
	   I = I + 1
	   ENR_ETIQ<I> = 'A':W_AIDE:NOM[1,25]
	END

REPEAT

RETURN

**************************
* PROCEDURE INDIVIDUELLE *
**************************

300

W_VALID = "FAUX"

READ ENR_ETIQ FROM F.ETIQCODBAR,W_INDNUMFIC ELSE ENR_ETIQ = ""

IF W_TYPETQ = "AIDANT" THEN
   W_VALID = "VRAI"
   W_TYP = "S"
   READ ENR_CIVILAIDE FROM F.CIVILAIDANT,W_CODAID ELSE ENR_CIVILAIDE = ""
END ELSE
   READ ENR_ACTIVITESAIDE FROM F.ACTIVITESAIDE,W_CODAID ELSE ENR_ACTIVITESAIDE = ""
   W_TYP = "A"
   K = 0
   LOOP
   WHILE ENR_ACTIVITESAIDE<1,K> # "" AND W_VALID = "FAUX" 
	K = K + 1
	READ ENR_ACTIVITES FROM F.ACTIVITES,ENR_ACTIVITESAIDE<1,K> ELSE ENR_ACTIVITES = ""
	IF ENR_ACTIVITES<12> = W_TYPACT THEN
	   IF ENR_ACTIVITESAIDE<3,K> => W_DATEREF OR ENR_ACTIVITESAIDE<3,K> = "" THEN
		W_VALID = "VRAI"
	   END
	END
   REPEAT
   READ ENR_CIVILAIDE FROM F.CIVILAIDE,W_CODAID ELSE ENR_CIVILAIDE = ""
END

IF W_VALID = "VRAI" THEN

   ENR_TEMPO<1> = 'FICHIER REMPLI'
   WRITE ENR_TEMPO TO F.TEMPO,"ETQCODBAR"

   NOM = ENR_CIVILAIDE<2>:' ':ENR_CIVILAIDE<3>
   NOM = NOM[1,25]
   NOM = NOM:SPACE(25-(LEN(NOM)))
   ENR_ETIQ<W_INDICE> = W_TYP:W_CODAID:NOM[1,25]

   WRITE ENR_ETIQ TO F.ETIQCODBAR, W_INDNUMFIC

END ELSE

   ENR_TEMPO<1> = 'NEANT'
   WRITE ENR_TEMPO TO F.TEMPO, "ETQCODBAR"

END

STOP
