***********************************************
* REMPLI L'ENREGISTREMENT CONJOINT DANS TEMPO *
* 31/08/2001 ALAIN                            *
***********************************************

***************************
* Ouvertures des fichiers *
***************************
EXECUTE "SET-THOUS ."
EXECUTE "SET-DEC ,"
EXECUTE "DATE.FORMAT"
OPEN "","ACCORD" TO F.ACCORD ELSE STOP
OPEN "","RESPONSABLE" TO F.RESPONSABLE ELSE STOP
OPEN "","SECTEUR" TO F.SECTEUR ELSE STOP
OPEN "","ORGPRISECHARGE" TO F.ORGPRISECHARGE ELSE STOP
OPEN "","CIVILAIDE" TO F.CIVILAIDE ELSE STOP
OPEN "","TEMPO" TO F.TEMPO ELSE STOP
OPEN "","ACTIVITESAIDE" TO F.ACTIVITESAIDE ELSE STOP
OPEN "","ACTIVITES" TO F.ACTIVITES ELSE STOP
OPEN "","ASSOCIATION" TO F.ASSOCIATION ELSE STOP

******************************
* Recuperation des arguments *
******************************
PROCREAD ARGUMENTS ELSE PRINT "Procread"

W_PERIODE=FIELD(ARGUMENTS,"|",2)
W_TYPESELECTION=FIELD(ARGUMENTS,"|",3)
W_CODESELECTION=FIELD(ARGUMENTS,"|",4)

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

ENR_ACCORD = ""
ENR_RESPONSABLE = ""
ENR_SECTEUR = ""
ENR_ORGPRISECHARGE = ""
ENR_CIVILAIDE = ""
ENR_CIVILAIDE2 = ""
ENR_ACTIVITESAIDE = ""
ENR_ACTIVITESAIDE2 = ""
ENR_ACTIVITES = ""
ENR_ASSO = ""
ENR_VERIF = ""

MOIS = ""
ANNE = ""
DATFIN = ""
DATDEB = ""
REQCIVILAIDE = ""
W_RESULTAT = ""
W_FINI = "FAUX"	
W_ENR = 1
W_VER = 1
W_AIDE = ""
W_ORG = "FAUX"
W_ACT = "FAUX"
W_ACT2 = "FAUX"
K = 1
J = 1
M = 1
L = 1
W_END = "FAUX"
W_SELECT = ""
SECT = ""
IMP = ""
INTER = ""
DRTS = ""

ENR_TEMPO = ""
WRITE ENR_TEMPO TO F.TEMPO,"CONJOINT"

MOIS = W_PERIODE[5,2]
ANNE = W_PERIODE[1,4]

DATDEB = '01/':MOIS:'/':ANNE
DATDEB = ICONV(DATDEB,"D4/")

MOIS = MOIS + 1

IF MOIS > 12 THEN
	MOIS = "01"
	ANNE = ANNE + 1
END

DATFIN = '01/':MOIS:'/':ANNE

DATFIN = ICONV(DATFIN,"D4/")
DATFIN = DATFIN - 1

REQCIVILAIDE = 'SSELECT CIVILAIDE AVEC 45 # "" AND AVEC 43 => "':DATDEB:'" OR = "" '

IF W_TYPESELECTION = "C" THEN
	IF W_CODESELECTION # "" THEN
		REQCIVILAIDE = REQCIVILAIDE:'AND AVEC 11 = "':W_CODESELECTION:'" '
	END ELSE
		REQCIVILAIDE = REQCIVILAIDE:'PAR 11 '
	END
END ELSE
	IF W_TYPESELECTION # "O" THEN
		IF W_CODESELECTION # "" THEN
			IF W_TYPESELECTION = "S" THEN
				REQCIVILAIDE = REQCIVILAIDE:'AND AVEC CodeSecteurAide = "':W_CODESELECTION:'" '
			END ELSE
				REQCIVILAIDE = REQCIVILAIDE:'AND AVEC 39 = "':W_CODESELECTION:'" '
			END
		END ELSE
			IF W_TYPESELECTION = "S" THEN
				REQCIVILAIDE = REQCIVILAIDE:'PAR CodeSecteurAide '
			END ELSE
				REQCIVILAIDE = REQCIVILAIDE:'PAR 39 '
			END
		END
	END
END

REQCIVILAIDE = REQCIVILAIDE:'PAR 2 PAR 3'

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

IF MSGCODE<1> # "209" THEN

	SELECT F.CIVILAIDE TO W_RESULTAT

	W_FINI = "FAUX"	
	W_ENR = 1
	W_VER = 1
	LOOP
		READNEXT W_AIDE FROM W_RESULTAT ELSE W_FINI="VRAI"
		W_ORG = "FAUX"
		W_ACT = "FAUX"
		W_ACT2 = "FAUX"
	WHILE W_FINI = "FAUX"
		READ ENR_CIVILAIDE FROM F.CIVILAIDE,W_AIDE ELSE ENR_CIVILAIDE = ""

		K = 1
		LOOP
		WHILE ENR_VERIF<K> # ""
			IF ENR_VERIF<K> = ENR_CIVILAIDE<45> THEN
				GOSUB 100
			END ELSE
				K = K + 1
			END
		REPEAT
		ENR_VERIF<W_VER> = W_AIDE		
		W_VER = W_VER + 1

		READ ENR_CIVILAIDE2 FROM F.CIVILAIDE,ENR_CIVILAIDE<45> ELSE ENR_CIVILAIDE2 = ""
		READ ENR_ACTIVITESAIDE FROM F.ACTIVITESAIDE,W_AIDE ELSE ENR_ACTIVITESAIDE = ""
		READ ENR_ACTIVITESAIDE2 FROM F.ACTIVITESAIDE,ENR_CIVILAIDE<45> ELSE ENR_ACTIVITESAIDE2 = ""

		IF W_TYPESELECTION = "R" THEN
			READ ENR_RESPONSABLE FROM F.RESPONSABLE,ENR_CIVILAIDE<39> ELSE ENR_RESPONSABLE=""
			W_SELECT = ENR_CIVILAIDE<39>:' ':ENR_RESPONSABLE<1>
		END ELSE
			IF W_TYPESELECTION = "S" THEN
				SECT = ENR_CIVILAIDE<40>
				SECT = SECT[1,3]
				READ ENR_SECTEUR FROM F.SECTEUR,SECT ELSE ENR_SECTEUR=""
				W_SELECT = SECT:' ':ENR_SECTEUR<1>
			END ELSE
				IF W_TYPESELECTION = "C" THEN
					W_SELECT = ENR_CIVILAIDE<11>
				END ELSE
					W_SELECT = ""
				END
			END
		END

		J = 1
		LOOP
		WHILE ENR_ACTIVITESAIDE<1,J> # "" AND W_ACT # "VRAI"
			IF ENR_ACTIVITESAIDE<2,J> <= DATFIN THEN
				IF ENR_ACTIVITESAIDE<3,J> => DATDEB OR ENR_ACTIVITESAIDE<3,J> = "" THEN
					W_ACT = "VRAI"
				END
			END ELSE
				IF ENR_ACTIVITESAIDE<2,J> = "" AND ENR_ACTIVITESAIDE<3,J> = "" THEN
					W_ACT = "VRAI"
				END
			END
			J = J + 1
		REPEAT

		J = 1
		LOOP
		WHILE ENR_ACTIVITESAIDE2<1,J> # "" AND W_ACT2 # "VRAI"
			IF ENR_ACTIVITESAIDE2<2,J> <= DATFIN THEN
				IF ENR_ACTIVITESAIDE2<3,J> => DATDEB OR ENR_ACTIVITESAIDE2<3,J> = "" THEN
					W_ACT2 = "VRAI"
				END
			END ELSE
				IF ENR_ACTIVITESAIDE2<2,J> = "" AND ENR_ACTIVITESAIDE2<3,J> = "" THEN
					W_ACT2 = "VRAI"
				END
			END
			J = J + 1
		REPEAT

 		IF W_ACT = "VRAI" AND W_ACT2 = "VRAI" THEN

			IMP = 'COUPLE :'
			ENR_TEMPO<W_ENR,1> = IMP
			ENR_TEMPO<W_ENR,2> = W_SELECT
			W_ENR = W_ENR + 1 

			IMP = W_AIDE:SPACE(1)
			INTER = ENR_CIVILAIDE<2>:' ':ENR_CIVILAIDE<3>
			IF LEN(INTER) <= 20 THEN
				IMP = IMP:INTER:SPACE(21-(LEN(INTER)))
			END ELSE
				IMP = IMP:INTER[1,20]:SPACE(1)
			END

			J = 1
			K = 1
			LOOP
			WHILE ENR_ACTIVITESAIDE<1,J> # ""
				IF ENR_ACTIVITESAIDE<2,J> <= DATFIN OR ENR_ACTIVITESAIDE<2,J> = "" THEN
					IF ENR_ACTIVITESAIDE<3,J> => DATDEB OR ENR_ACTIVITESAIDE<3,J> = "" THEN
						READ ENR_ACTIVITES FROM F.ACTIVITES,ENR_ACTIVITESAIDE<1,J> ELSE ENR_ACTIVITES = ""
						READ ENR_ASSO FROM F.ASSOCIATION,ENR_ACTIVITESAIDE<1,J>[1,3] ELSE ENR_ASSO = ""
						
						IF LEN(ENR_ASSO<1>) > 9 THEN
							INTER = ENR_ASSO<1>[1,9]:'-'
						END ELSE
							INTER = SPACE(9 - (LEN(ENR_ASSO<1>))):ENR_ASSO<1>:'-'
						END
						
						IF LEN(ENR_ACTIVITES<1>) > 10 THEN
							INTER = INTER:ENR_ACTIVITES<1>[1,10]:SPACE(1)
						END ELSE
							INTER = INTER:ENR_ACTIVITES<1>:SPACE(11 - LEN(ENR_ACTIVITES<1>))
						END
						
						IF ENR_ACTIVITESAIDE<2,J> = "" THEN
							INTER = INTER:SPACE(10)
						END ELSE
							INTER = INTER:OCONV(ENR_ACTIVITESAIDE<2,J>,"D4/")
						END

						IF ENR_ACTIVITESAIDE<3,J> # "" THEN
							INTER = INTER:' ':OCONV(ENR_ACTIVITESAIDE<3,J>,"D4/"):SPACE(1)
						END ELSE
							INTER = INTER:SPACE(12)
						END
						
						IF K = 1 THEN
							IMP = IMP:INTER
						END ELSE
							IMP = SPACE(27):INTER
						END		
						K = K + 1
	
						EXECUTE 'SSELECT ACCORD AVEC 0 = "':W_AIDE:']" AND AVEC 5 <= "':DATFIN:'" AND AVEC 6 => "':DATDEB:'" OR = "" AND AVEC 18 = "" PAR 0'

						W_END = "FAUX"
						
						M = 1

						LOOP
							READNEXT W_Cle ELSE W_END = "VRAI"
							READ ENR_ACCORD FROM F.ACCORD ,W_Cle ELSE W_END = "VRAI"
						WHILE W_END = "FAUX"
							L = 1
							INTER = ""
							READ ENR_ORGPRISECHARGE FROM F.ORGPRISECHARGE,ENR_ACCORD<1> ELSE STOP

							LOOP
							WHILE ENR_ORGPRISECHARGE<47,L> # "" AND INTER = ""

								IF ENR_ORGPRISECHARGE<47,L> = ENR_ACTIVITESAIDE<1,J> THEN
									IF LEN(ENR_ORGPRISECHARGE<1>) > 12 THEN
										INTER = ENR_ORGPRISECHARGE<1>[1,12] 
									END ELSE
										INTER = ENR_ORGPRISECHARGE<1>:SPACE(12 - LEN(ENR_ORGPRISECHARGE<1>))
									END

									INTER = INTER:' ':OCONV(ENR_ACCORD<5>,"D4/")
	
									IF ENR_ACCORD<6> # "" THEN
										INTER = INTER:' ':OCONV(ENR_ACCORD<6>,"D4/"):SPACE(1)
									END ELSE
											INTER = INTER:SPACE(12)
									END

									DRTS = ENR_ACCORD<9>/100
									DRTS = DRTS "R2"
									INTER = INTER:SPACE(9-(LEN(DRTS))):DRTS

									IF ( ENR_ORGPRISECHARGE<24> = "H" AND ENR_ORGPRISECHARGE<19> = "1" ) OR ( ENR_ORGPRISECHARGE<24> = "H" AND ENR_ORGPRISECHARGE<19> = "2" ) THEN
										INTER = INTER:SPACE(1):"HRES AU MOIS":SPACE(3)
									END ELSE
										IF ENR_ORGPRISECHARGE<24> = "H" AND ENR_ORGPRISECHARGE<19> = "3" THEN
                  	      						INTER = INTER:SPACE(1):"HRES SUR ACCORD"
										END ELSE                                        	
											IF ( ENR_ORGPRISECHARGE<24> = "M" AND ENR_ORGPRISECHARGE<19> = "1" ) OR ( ENR_ORGPRISECHARGE<24> = "M" AND ENR_ORGPRISECHARGE<19> = "2" ) THEN
												INTER = INTER:SPACE(1):"MONT AU MOIS":SPACE(3)
											END ELSE
												IF ENR_ORGPRISECHARGE<24> = "M" AND ENR_ORGPRISECHARGE<19> = "3" THEN
													INTER = INTER:SPACE(1):"MONT SUR ACCORD"
												END ELSE
													INTER = INTER:SPACE(16)
          			       							END
											END
        		      						END
									END
								
									IF M = 1 THEN
										IMP = IMP:' ':INTER
									END ELSE
										IMP = SPACE(71):INTER
									END
	
									M = M + 1								
									ENR_TEMPO<W_ENR,1> = IMP
									ENR_TEMPO<W_ENR,2> = W_SELECT
									W_ENR = W_ENR + 1 
								END

								L = L + 1
							REPEAT

						REPEAT

						IF M = 1 THEN
							ENR_TEMPO<W_ENR,1> = IMP
							ENR_TEMPO<W_ENR,2> = W_SELECT
							W_ENR = W_ENR + 1 
						END
					END
				END
				J = J + 1
			REPEAT

			IMP = ENR_CIVILAIDE<45>:SPACE(1)
			INTER = ENR_CIVILAIDE2<2>:' ':ENR_CIVILAIDE2<3>
			IF LEN(INTER) <= 20 THEN
				IMP = IMP:INTER:SPACE(21-(LEN(INTER)))
			END ELSE
				IMP = IMP:INTER[1,20]:SPACE(1)
			END

			J = 1
			K = 1
			LOOP
			WHILE ENR_ACTIVITESAIDE2<1,J> # ""
				IF ENR_ACTIVITESAIDE2<2,J> <= DATFIN OR ENR_ACTIVITESAIDE2<2,J> = "" THEN
					IF ENR_ACTIVITESAIDE2<3,J> => DATDEB OR ENR_ACTIVITESAIDE2<3,J> = "" THEN
						READ ENR_ACTIVITES FROM F.ACTIVITES,ENR_ACTIVITESAIDE2<1,J> ELSE ENR_ACTIVITES = ""
						READ ENR_ASSO FROM F.ASSOCIATION,ENR_ACTIVITESAIDE2<1,J>[1,3] ELSE ENR_ASSO = ""
						
						IF LEN(ENR_ASSO<1>) > 9 THEN
							INTER = ENR_ASSO<1>[1,9]:'-'
						END ELSE
							INTER = SPACE(9 - (LEN(ENR_ASSO<1>))):ENR_ASSO<1>:'-'
						END
						
						IF LEN(ENR_ACTIVITES<1>) > 10 THEN
							INTER = INTER:ENR_ACTIVITES<1>[1,10]:SPACE(1)
						END ELSE
							INTER = INTER:ENR_ACTIVITES<1>:SPACE(11 - LEN(ENR_ACTIVITES<1>))
						END

						IF ENR_ACTIVITESAIDE<2,J> = "" THEN
							INTER = INTER:SPACE(10)
						END ELSE
							INTER = INTER:OCONV(ENR_ACTIVITESAIDE2<2,J>,"D4/")
						END

						IF ENR_ACTIVITESAIDE<3,J> # "" THEN
							INTER = INTER:' ':OCONV(ENR_ACTIVITESAIDE2<3,J>,"D4/"):SPACE(1)
						END ELSE
							INTER = INTER:SPACE(12)
						END
						
						IF K = 1 THEN
							IMP = IMP:INTER
						END ELSE
							IMP = SPACE(27):INTER
						END		
						K = K + 1
	
						EXECUTE 'SSELECT ACCORD AVEC 0 = "':ENR_CIVILAIDE<45>:']" AND AVEC 5 <= "':DATFIN:'" AND AVEC 6 => "':DATDEB:'" OR = "" AND AVEC 18 = "" PAR 0'
						
						W_END = "FAUX"
						
						M = 1

						LOOP
							READNEXT W_Cle ELSE W_END = "VRAI"
							READ ENR_ACCORD FROM F.ACCORD ,W_Cle ELSE W_END = "VRAI"
						WHILE W_END = "FAUX"
							L = 1
							INTER = ""
							READ ENR_ORGPRISECHARGE FROM F.ORGPRISECHARGE,ENR_ACCORD<1> ELSE STOP

							LOOP
							WHILE ENR_ORGPRISECHARGE<47,L> # "" AND INTER = ""

								IF ENR_ORGPRISECHARGE<47,L> = ENR_ACTIVITESAIDE2<1,J> THEN
									IF LEN(ENR_ORGPRISECHARGE<1>) > 12 THEN
										INTER = ENR_ORGPRISECHARGE<1>[1,12] 
									END ELSE
										INTER = ENR_ORGPRISECHARGE<1>:SPACE(12 - LEN(ENR_ORGPRISECHARGE<1>))
									END

									INTER = INTER:' ':OCONV(ENR_ACCORD<5>,"D4/")

									IF ENR_ACCORD<6> # "" THEN
										INTER = INTER:' ':OCONV(ENR_ACCORD<6>,"D4/"):SPACE(1)
									END ELSE
										INTER = INTER:SPACE(12)
									END

									DRTS = ENR_ACCORD<9>/100
									DRTS = DRTS "R2"
									INTER = INTER:SPACE(9-(LEN(DRTS))):DRTS

									IF ( ENR_ORGPRISECHARGE<24> = "H" AND ENR_ORGPRISECHARGE<19> = "1" ) OR ( ENR_ORGPRISECHARGE<24> = "H" AND ENR_ORGPRISECHARGE<19> = "2" ) THEN
										INTER = INTER:SPACE(1):"HRES AU MOIS":SPACE(3)
									END ELSE
										IF ENR_ORGPRISECHARGE<24> = "H" AND ENR_ORGPRISECHARGE<19> = "3" THEN
                  	      						INTER = INTER:SPACE(1):"HRES SUR ACCORD"
										END ELSE                                        	
											IF ( ENR_ORGPRISECHARGE<24> = "M" AND ENR_ORGPRISECHARGE<19> = "1" ) OR ( ENR_ORGPRISECHARGE<24> = "M" AND ENR_ORGPRISECHARGE<19> = "2" ) THEN
												INTER = INTER:SPACE(1):"MONT AU MOIS":SPACE(3)
											END ELSE
												IF ENR_ORGPRISECHARGE<24> = "M" AND ENR_ORGPRISECHARGE<19> = "3" THEN
													INTER = INTER:SPACE(1):"MONT SUR ACCORD"
												END ELSE
													INTER = INTER:SPACE(16)
          		       								END
											END
        	      							END
									END
								
									IF M = 1 THEN
										IMP = IMP:' ':INTER
									END ELSE
										IMP = SPACE(71):INTER
									END
									M = M + 1								

									ENR_TEMPO<W_ENR,1> = IMP
									ENR_TEMPO<W_ENR,2> = W_SELECT
									W_ENR = W_ENR + 1 
								END

								L = L + 1
							REPEAT

						REPEAT

						IF M = 1 THEN
							ENR_TEMPO<W_ENR,1> = IMP
							ENR_TEMPO<W_ENR,2> = W_SELECT
							W_ENR = W_ENR + 1 
						END
					END
				END
				J = J + 1
			REPEAT	
		END

100
	
	REPEAT

	IF ENR_TEMPO<1> = "" THEN
		ENR_TEMPO<1> = "NEANT"
	END

END ELSE

	ENR_TEMPO<1> = "NEANT"

END

WRITE ENR_TEMPO TO F.TEMPO,"CONJOINT"

EXECUTE 'EFFACER-LISTE W_RESULTAT'

STOP
