
****************************
* INTEGRANT LES DONNES JVS *
* ALAIN LE 30/08/2005      *
****************************
*Comme le lock infologis est enlev on commnce par lire les donnes puis on vide le fichier
*si il y a accs jvs il mettra les nouveaux dossiers et nous on traitera les prcdents.
OPEN "","DOSSIERSJVS" TO F.DOSSIERSJVS ELSE STOP
READ ENR_JVS FROM F.DOSSIERSJVS,'DOSSIERSJVS' THEN
  DELETE F.DOSSIERSJVS,"DOSSIERSJVS"
END ELSE 
	STOP
END

EXECUTE "SET-THOUS ."
EXECUTE "SET-DEC ,"
EXECUTE "DATE.FORMAT"
OPEN "","ABSENCESAIDANT" TO F.ABSENCESAIDANT ELSE STOP
OPEN "","CIVILAIDANT" TO F.CIVILAIDANT ELSE STOP
OPEN "","CIVILAIDE" TO F.CIVILAIDE ELSE STOP
OPEN "","COMPTEUR" TO F.COMPTEUR ELSE STOP
OPEN "","CONSTANTESPAIE" TO F.CONSTANTESPAIE ELSE STOP
OPEN "","CONTRAT" TO F.CONTRAT ELSE STOP
OPEN "","ELTSFACTAIDE" TO F.ELTSFACTAIDE ELSE STOP
OPEN "","RIBAIDANT" TO F.RIBAIDANT ELSE STOP

READ ENR_COMPTEUR FROM F.COMPTEUR,'999' ELSE ENR_COMPTEUR = ""

I = 0

LOOP
	I = I + 1
WHILE ENR_JVS<I> # "" DO
	IF FIELD(ENR_JVS<I>,";",1) = "S" THEN
		GOSUB 10
	END ELSE
		IF FIELD(ENR_JVS<I>,";",1) = "B" THEN
			GOSUB 20
		END ELSE
			IF FIELD(ENR_JVS<I>,";",1) = "AS" THEN
				GOSUB 30
			END
		END
	END
REPEAT

STOP

**********
* AIDANT *
**********
10
READ ENR_CIVILAIDANT FROM F.CIVILAIDANT,FIELD(ENR_JVS<I>,";",2) ELSE ENR_CIVILAIDANT = ""
READ ENR_RIBAIDANT FROM F.RIBAIDANT,FIELD(ENR_JVS<I>,";",2) ELSE ENR_RIBAIDANT = ""

ENR_CIVILAIDANT<1> = FIELD(ENR_JVS<I>,";",3)
IF ENR_CIVILAIDANT<1>="MEL" THEN ENR_CIVILAIDANT<1>="MLE"
IF ENR_CIVILAIDANT<1>="MLL" THEN ENR_CIVILAIDANT<1>="MLE"
IF ENR_CIVILAIDANT<1>="" THEN ENR_CIVILAIDANT<1>="MME"
ENR_CIVILAIDANT<2> = FIELD(ENR_JVS<I>,";",4)
ENR_CIVILAIDANT<3> = FIELD(ENR_JVS<I>,";",5)
ENR_CIVILAIDANT<4> = FIELD(ENR_JVS<I>,";",6)
IF ENR_CIVILAIDANT<4>="" THEN ENR_CIVILAIDANT<4>=ENR_CIVILAIDANT<2>
ENR_CIVILAIDANT<5> = FIELD(ENR_JVS<I>,";",7)
IF ENR_CIVILAIDANT<5>="0" THEN ENR_CIVILAIDANT<5>=""
ENR_CIVILAIDANT<6> = FIELD(ENR_JVS<I>,";",8)
ENR_CIVILAIDANT<7> = FIELD(ENR_JVS<I>,";",9)
ENR_CIVILAIDANT<8> = FIELD(ENR_JVS<I>,";",10)
ENR_CIVILAIDANT<9> = FIELD(ENR_JVS<I>,";",11)
ENR_CIVILAIDANT<10> = FIELD(ENR_JVS<I>,";",12)
ENR_CIVILAIDANT<11> = FIELD(ENR_JVS<I>,";",13)
ENR_CIVILAIDANT<12> = FIELD(ENR_JVS<I>,";",14)
IF LEN(ENR_CIVILAIDANT<12>)=10 THEN
   ENR_CIVILAIDANT<12>=ENR_CIVILAIDANT<12>[1,2]:" ":ENR_CIVILAIDANT<12>[3,2]:" ":ENR_CIVILAIDANT<12>[5,2]:" ":ENR_CIVILAIDANT<12>[7,2]:" ":ENR_CIVILAIDANT<12>[9,2]
END ELSE
   IF LEN(ENR_CIVILAIDANT<12>)#14 THEN ENR_CIVILAIDANT<12>=""
END
ENR_CIVILAIDANT<13> = FIELD(ENR_JVS<I>,";",15)
ENR_CIVILAIDANT<44> = FIELD(ENR_JVS<I>,";",16)
ENR_CIVILAIDANT<14> = FIELD(ENR_JVS<I>,";",17)
IF LEN(ENR_CIVILAIDANT<14>)=10 THEN
   ENR_CIVILAIDANT<14>=ENR_CIVILAIDANT<14>[1,2]:" ":ENR_CIVILAIDANT<14>[3,2]:" ":ENR_CIVILAIDANT<14>[5,2]:" ":ENR_CIVILAIDANT<14>[7,2]:" ":ENR_CIVILAIDANT<14>[9,2]
END ELSE
   IF LEN(ENR_CIVILAIDANT<14>)#14 THEN ENR_CIVILAIDANT<14>=""
END
ENR_CIVILAIDANT<15> = FIELD(ENR_JVS<I>,";",18)
ENR_CIVILAIDANT<16> = FIELD(ENR_JVS<I>,";",19)
ENR_CIVILAIDANT<17> = FIELD(ENR_JVS<I>,";",20)
ENR_CIVILAIDANT<18> = FIELD(ENR_JVS<I>,";",21)
SITFAM=FIELD(ENR_JVS<I>,";",22)
IF SITFAM#"" THEN
   IF SITFAM = "M" THEN SITFAM="1"
   IF SITFAM = "C" THEN SITFAM="2"
   IF SITFAM = "V" THEN SITFAM="3"
   IF SITFAM = "D" THEN SITFAM="4"
   IF SITFAM = "I" THEN SITFAM="5"
   IF SITFAM = "S" THEN SITFAM="6"
   IF SITFAM = "P" THEN SITFAM="7"
   ENR_CIVILAIDANT<21> = SITFAM
END ELSE
   ENR_CIVILAIDANT<21> = "1"
END
ENR_CIVILAIDANT<26> = ICONV(FIELD(ENR_JVS<I>,";",23),"D4/") 
ENR_CIVILAIDANT<27> = FIELD(ENR_JVS<I>,";",24)
ENR_CIVILAIDANT<28> = FIELD(ENR_JVS<I>,";",25)
IF FIELD(ENR_JVS<I>,";",26) # "" AND FIELD(ENR_JVS<I>,";",26) # "000000" THEN
	ENR_CIVILAIDANT<29> = FIELD(ENR_JVS<I>,";",26)
	ENR_CIVILAIDANT<30> = FIELD(ENR_JVS<I>,";",27)
END ELSE
	ENR_CIVILAIDANT<29> = "000000"
	ENR_CIVILAIDANT<30> = "FRANCE"
END
ENR_CIVILAIDANT<31> = FIELD(ENR_JVS<I>,";",28)[1,3]
ENR_CIVILAIDANT<32> = FIELD(ENR_JVS<I>,";",28)[1,5]
ENR_CIVILAIDANT<33> = FIELD(ENR_JVS<I>,";",28)
ENR_RIBAIDANT<1> = FIELD(ENR_JVS<I>,";",29)
ENR_RIBAIDANT<2> = FIELD(ENR_JVS<I>,";",30)
ENR_RIBAIDANT<3> = FIELD(ENR_JVS<I>,";",31)
ENR_RIBAIDANT<4> = FIELD(ENR_JVS<I>,";",32)
ENR_RIBAIDANT<5> = FIELD(ENR_JVS<I>,";",33)
ENR_RIBAIDANT<6> = FIELD(ENR_JVS<I>,";",34)
ENR_CIVILAIDANT<19> = FIELD(ENR_JVS<I>,";",35)
ENR_CIVILAIDANT<20> = FIELD(ENR_JVS<I>,";",36)
ENR_CIVILAIDANT<34> = FIELD(ENR_JVS<I>,";",37)
ENR_CIVILAIDANT<35> = FIELD(ENR_JVS<I>,";",38)

WRITE ENR_CIVILAIDANT ON F.CIVILAIDANT,FIELD(ENR_JVS<I>,";",2)
WRITE ENR_RIBAIDANT ON F.RIBAIDANT,FIELD(ENR_JVS<I>,";",2)

IF ENR_COMPTEUR<8> < FIELD(ENR_JVS<I>,";",2) THEN
	ENR_COMPTEUR<8> = FIELD(ENR_JVS<I>,";",2) 
END

RETURN

********
* AIDE *
********
20
READ ENR_CIVILAIDE FROM F.CIVILAIDE,FIELD(ENR_JVS<I>,";",2) ELSE ENR_CIVILAIDE = ""
READ ENR_ELTSFACTAIDE FROM F.ELTSFACTAIDE ,FIELD(ENR_JVS<I>,";",2) ELSE ENR_ELTSFACTAIDE = ""

ENR_CIVILAIDE<1> = FIELD(ENR_JVS<I>,";",3)
IF ENR_CIVILAIDE<1>="M" THEN ENR_CIVILAIDE<1>="MR"
IF ENR_CIVILAIDE<1>="MLL" THEN ENR_CIVILAIDE<1>="MLE"
ENR_CIVILAIDE<2> = FIELD(ENR_JVS<I>,";",4)
ENR_CIVILAIDE<3> = FIELD(ENR_JVS<I>,";",5)
ENR_CIVILAIDE<4> = FIELD(ENR_JVS<I>,";",6)
ENR_CIVILAIDE<5> = FIELD(ENR_JVS<I>,";",7)
IF ENR_CIVILAIDE<5>="0" THEN ENR_CIVILAIDE<5>=""
ENR_CIVILAIDE<6> = FIELD(ENR_JVS<I>,";",8)
ENR_CIVILAIDE<7> = FIELD(ENR_JVS<I>,";",9)
ENR_CIVILAIDE<8> = FIELD(ENR_JVS<I>,";",10)
ENR_CIVILAIDE<9> = FIELD(ENR_JVS<I>,";",11)
ENR_CIVILAIDE<10> = FIELD(ENR_JVS<I>,";",12)
ENR_CIVILAIDE<11> = FIELD(ENR_JVS<I>,";",13)
ENR_CIVILAIDE<14> = FIELD(ENR_JVS<I>,";",14)
IF LEN(ENR_CIVILAIDE<14>)=10 THEN
   ENR_CIVILAIDE<14>=ENR_CIVILAIDE<14>[1,2]:" ":ENR_CIVILAIDE<14>[3,2]:" ":ENR_CIVILAIDE<14>[5,2]:" ":ENR_CIVILAIDE<14>[7,2]:" ":ENR_CIVILAIDE<14>[9,2]
END ELSE
   IF LEN(ENR_CIVILAIDE<14>)#14 THEN ENR_CIVILAIDE<14>=""
END
ENR_CIVILAIDE<15> = FIELD(ENR_JVS<I>,";",15)
ENR_CIVILAIDE<46> = FIELD(ENR_JVS<I>,";",16)
ENR_CIVILAIDE<16> = FIELD(ENR_JVS<I>,";",17)
IF LEN(ENR_CIVILAIDE<16>)=10 THEN
   ENR_CIVILAIDE<16>=ENR_CIVILAIDE<16>[1,2]:" ":ENR_CIVILAIDE<16>[3,2]:" ":ENR_CIVILAIDE<16>[5,2]:" ":ENR_CIVILAIDE<16>[7,2]:" ":ENR_CIVILAIDE<16>[9,2]
END ELSE
   IF LEN(ENR_CIVILAIDE<16>)#14 THEN ENR_CIVILAIDE<16>=""
END
ENR_CIVILAIDE<47> = FIELD(ENR_JVS<I>,";",18)
ENR_CIVILAIDE<17> = FIELD(ENR_JVS<I>,";",19)
ENR_CIVILAIDE<18> = FIELD(ENR_JVS<I>,";",20)
ENR_CIVILAIDE<19> = FIELD(ENR_JVS<I>,";",21)
SITFAM=FIELD(ENR_JVS<I>,";",22)
IF SITFAM#"" THEN
   IF SITFAM = "M" THEN SITFAM="1"
   IF SITFAM = "C" THEN SITFAM="2"
   IF SITFAM = "D" THEN SITFAM="4"
   IF SITFAM = "V" THEN SITFAM="3"
   IF SITFAM = "S" THEN SITFAM="6"
   IF SITFAM = "P" THEN SITFAM="7"
   ENR_CIVILAIDE<25> = SITFAM
END ELSE
   ENR_CIVILAIDE<25> = "1"
END
ENR_CIVILAIDE<20> = ICONV(FIELD(ENR_JVS<I>,";",23),"D4/")
ENR_CIVILAIDE<21> = FIELD(ENR_JVS<I>,";",24)
ENR_CIVILAIDE<22> = FIELD(ENR_JVS<I>,";",25)
IF FIELD(ENR_JVS<I>,";",26) # "" AND FIELD(ENR_JVS<I>,";",26) # "000000" THEN
	ENR_CIVILAIDE<23> = FIELD(ENR_JVS<I>,";",26)
	ENR_CIVILAIDE<24> = FIELD(ENR_JVS<I>,";",27)
END ELSE
	ENR_CIVILAIDE<23> = "000000"
	ENR_CIVILAIDE<24> = "FRANCE"
END
ENR_CIVILAIDE<40> = FIELD(ENR_JVS<I>,";",28)
ENR_ELTSFACTAIDE<16> = FIELD(ENR_JVS<I>,";",29)
ENR_ELTSFACTAIDE<17> = FIELD(ENR_JVS<I>,";",30)
ENR_ELTSFACTAIDE<18> = FIELD(ENR_JVS<I>,";",31)
ENR_ELTSFACTAIDE<19> = FIELD(ENR_JVS<I>,";",32)
ENR_ELTSFACTAIDE<20> = FIELD(ENR_JVS<I>,";",33)
ENR_ELTSFACTAIDE<21> = FIELD(ENR_JVS<I>,";",34)
PRELEVE = FIELD(ENR_JVS<I>,";",35)
IF ENR_ELTSFACTAIDE<18>="" THEN
   ENR_ELTSFACTAIDE<16>=""
   ENR_ELTSFACTAIDE<17>=""
   ENR_ELTSFACTAIDE<19>=""
   ENR_ELTSFACTAIDE<20>=""
   ENR_ELTSFACTAIDE<21>=""
   ENR_ELTSFACTAIDE<25>=""
END ELSE
   IF PRELEVE=0 THEN ENR_ELTSFACTAIDE<25>="1"
END
ENR_CIVILAIDE<39> = FIELD(ENR_JVS<I>,";",36)
ENR_ELTSFACTAIDE<2> = TRIM(FIELD(ENR_JVS<I>,";",37))
ENR_ELTSFACTAIDE<3> = FIELD(ENR_JVS<I>,";",38)
ENR_ELTSFACTAIDE<4> = FIELD(ENR_JVS<I>,";",39)
ENR_ELTSFACTAIDE<5> = FIELD(ENR_JVS<I>,";",40)
ENR_ELTSFACTAIDE<6> = FIELD(ENR_JVS<I>,";",41)
ENR_ELTSFACTAIDE<7> = FIELD(ENR_JVS<I>,";",42)
ENR_ELTSFACTAIDE<8> = FIELD(ENR_JVS<I>,";",43)
ENR_ELTSFACTAIDE<9> = FIELD(ENR_JVS<I>,";",44)

WRITE ENR_CIVILAIDE ON F.CIVILAIDE,FIELD(ENR_JVS<I>,";",2)
WRITE ENR_ELTSFACTAIDE ON F.ELTSFACTAIDE,FIELD(ENR_JVS<I>,";",2)

IF ENR_COMPTEUR<11> < FIELD(ENR_JVS<I>,";",2) THEN
	ENR_COMPTEUR<11> = FIELD(ENR_JVS<I>,";",2) 
END

RETURN

************
* ABSENCES *
************
30

W_Cle = ICONV(FIELD(ENR_JVS<I>,";",4),"D4/")
W_Cle = FIELD(ENR_JVS<I>,";",2):FIELD(ENR_JVS<I>,";",3):W_Cle

IF FIELD(ENR_JVS<I>,";",10) = "S" THEN
	DELETE F.ABSENCESAIDANT,W_Cle
END ELSE
	ENR_ABS = ""
	W_RequeteMoul = ""
	ENR_ABS<1> = FIELD(ENR_JVS<I>,";",5)
	ENR_ABS<2> = ICONV(FIELD(ENR_JVS<I>,";",6),"D4/")
	ENR_ABS<3> = FIELD(ENR_JVS<I>,";",7)
	IF FIELD(ENR_JVS<I>,";",8) # "" THEN
		ENR_ABS<9> = ICONV(FIELD(ENR_JVS<I>,";",8),"D4/")
	END
	IF FIELD(ENR_JVS<I>,";",9) # "" THEN
		ENR_ABS<10> = ICONV(FIELD(ENR_JVS<I>,";",9),"D4/")
	END
	ENR_ABS<11> = 0
	ENR_ABS<12> = 0
	ENR_ABS<16> = "NON"

	IF FIELD(ENR_JVS<I>,";",7) <= "06" THEN

		EXECUTE 'SELECT CONTRAT AVEC 0 = "':FIELD(ENR_JVS<I>,";",2):']" AND AVEC 65 = "" AND AVEC 7 <= "':ICONV(FIELD(ENR_JVS<I>,";",4),"D4/"):'" AND AVEC 8 >= "':ICONV(FIELD(ENR_JVS<I>,";",6),"D4/"):'" OR = ""'

		EXECUTE 'SAUVE-LISTE W_RequeteMoul'
		EXECUTE "LISTE W_RequeteMoul" RETURNING MSGCODE
		
		IF MSGCODE<1> # "209" THEN
			SELECT F.CONTRAT TO W_RequeteMoul
			W_Params = ""
			W_Fin = "F"
			W_Count = 0
			LOOP
				READNEXT W_CleCont FROM W_RequeteMoul ELSE W_Fin = "V"
			WHILE W_Fin = "F"
				W_Count = W_Count + 1
	      	      W_Params<7+W_Count> = W_CleCont
			REPEAT

			W_Params<1> = W_Count

			W_Params<2> = "V"

			W_Params<3> = ""
    
			W_Params<4> = ICONV(FIELD(ENR_JVS<I>,";",4),"D4/")
    
			W_Params<5> = FIELD(ENR_JVS<I>,";",3)
    
			W_Params<6> = FIELD(ENR_JVS<I>,";",2)
    
	    		W_Params<7> = "Liste contrats : "
	
			CALL CALCSALREFIJSS("",W_Params,W_Sortie)

			W_Count = DCOUNT(W_Sortie,CHAR(254))
			i = 0
			LOOP
				i = i + 1
			WHILE i < W_Count
				k = 0
				LOOP
					k = k + 1
				WHILE TRIM(ENR_ABS<13,k>) # TRIM(W_Sortie<i,1>) AND ENR_ABS<13,k> # ""
				REPEAT
				IF ENR_ABS<20,k> = "" OR ENR_ABS<20,k> = "0" THEN
	
					ENR_ABS<13,k> = TRIM(W_Sortie<i,1>)
					ENR_ABS<14,k> = W_Sortie<i,3>*100
					ENR_ABS<15,k> = W_Sortie<i,4>*100
					IF ENR_ABS<16,k> = "" THEN
						  ENR_ABS<16,k> = W_Sortie<i,5>
					END
					ENR_ABS<17,k> = W_Sortie<i,6>
					ENR_ABS<20,k> = W_Sortie<i,7>*100
					ENR_ABS<27,k> = W_Sortie<i,8>
				END
			REPEAT
			i = 0
			LOOP
				i = i + 1
			WHILE W_Sortie<W_Count,i> # ""
				ENR_ABS<18,i> = W_Sortie<W_Count,i>
			REPEAT

		END

	END

	WRITE ENR_ABS ON F.ABSENCESAIDANT, W_Cle

END

RETURN
