EXECUTE "SET-THOUS ."
EXECUTE "SET-DEC ,"
EXECUTE "DATE.FORMAT"
OPEN "", "ORGPRISECHARGE" TO F.ORGPRISECHARGE ELSE STOP
OPEN "", "CONSTANTESPAIE" TO F.CONSTANTESPAIE ELSE STOP
OPEN "", "ACCORD" TO F.ACCORD ELSE STOP
OPEN "", "TEMPO" TO F.TEMPO ELSE STOP

PRINT "OK1"

PROCREAD PARAMETERS ELSE STOP
Txt_DatBaremCours = FIELD(PARAMETERS, "|", 2)
Txt_CodOrgChg = FIELD(PARAMETERS, "|", 3)

PRINT "OK2"

READ ENR_ORGPRISECHARGE FROM F.ORGPRISECHARGE, Txt_CodOrgChg ELSE ENR_ORGPRISECHARGE = ""
ENR_TEMPO = ""
ENR_TEMPOBIS = ""
W_IndTempo = 1
W_IndTempoBis = 1

    W_Params = 'SSELECT ACCORD AVEC OrgChgAcc = "':Txt_CodOrgChg
    * MAJ 13/03/001 : on prends aussi les accords avec DebAcc > txt_baremeCours car ils sont concerns !
    * W_Params(1) = W_Params(1) & " AND AVEC 5 <= " & Chr(34) & IConv(Txt_DatBaremCours) & Chr(34)
    W_Params = W_Params:'" AND AVEC 6 >= "':ICONV(Txt_DatBaremCours,"D4/"):'" AND AVEC 18 <> "O" AND AVEC DateSortieAideAccord > "':ICONV(Txt_DatBaremCours,"D4/"):'" OR = "" PAR Responsable PAR NomAide PAR PrenomAide PAR @ID'
  
EXECUTE W_Params
PRINT W_Params

W_FinGene = "F"

LOOP

	READNEXT W_SelectAccord ELSE W_FinGene = "V"

WHILE W_FinGene = "F"

   READ ENR_ACCORD FROM F.ACCORD,W_SelectAccord THEN
      
        W_PremierTaux = DCOUNT(ENR_ACCORD<11>,"")
	  
        h = 1
	  Exit = "No"
        LOOP WHILE INT(ENR_ACCORD<11, h>) > INT(ICONV(Txt_DatBaremCours, "D4/")) AND Exit = "No"
            h = h + 1
            IF h > W_PremierTaux THEN
                Exit = "OK"
            END
        REPEAT
        
        IF h <= W_PremierTaux THEN
        *'verif. date accord = date bareme
        *'= modif part bnf.
            IF INT(ENR_ACCORD<11, h>) = INT(ICONV(Txt_DatBaremCours,"D4/")) THEN
                *'recherche dans l'ancien accord
                *' MAJ 13/03/01 : prise en compte part. mutuelle MFP
                IF ENR_ACCORD<12, h> = "" THEN 
			ENR_ACCORD<12, h> = 0
		    END
                W_MaxListe = DCOUNT(ENR_ORGPRISECHARGE<37>,"")
                W_AccordModifie = "False"
                FOR j = 1 TO W_MaxListe
                    IF ENR_ACCORD<13, h> + ENR_ACCORD<12, h> = ENR_ORGPRISECHARGE<37,j> THEN
                        *'ecriture du nouveau
                        IF ENR_ACCORD<13, h> # ENR_ORGPRISECHARGE<36,j> - ENR_ACCORD<12, h> THEN
                            ENR_ACCORD<13, h> = ENR_ORGPRISECHARGE<36,j>  - ENR_ACCORD<12, h>
                            WRITE ENR_ACCORD ON F.ACCORD, W_SelectAccord
                        END
                        W_AccordModifie = "True"
				ENR_TEMPO<W_IndTempo>=W_SelectAccord
				W_IndTempo = W_IndTempo + 1
                    END
                NEXT j
                IF W_AccordModifie = "False" THEN
                *'MAJ 04/04/01 : Cration d'une liste des accords non modifis
                    ENR_TEMPOBIS<W_IndTempoBis> = W_SelectAccord
			  W_IndTempoBis = W_IndTempoBis + 1
                END
                
            END ELSE

        *'verif date accord < date bareme
        *' = Nelle part. bnf
	  *' Remarque : tester le cas h = W_premierTaux

                IF INT(ENR_ACCORD<11, h>) < INT(ICONV(Txt_DatBaremCours,"D4/")) THEN
                    *'recherche dans l'ancien accord
                    IF ENR_ACCORD<12, h> = "" THEN
                        ENR_ACCORD<12, h> = 0
                    END
                    W_ValAdd = INT(ENR_ACCORD<13, h>) + INT(ENR_ACCORD<12, h>)
                    W_MaxListe =  DCOUNT(ENR_ORGPRISECHARGE<37>,"")
                    W_AccordModifie = "False"
                    FOR j = 1 TO W_MaxListe
                        IF W_ValAdd = ENR_ORGPRISECHARGE<37,j> AND W_AccordModifie = "False" THEN
                            *'ecriture du nouveau : Attention : si on modifie 1 fois,
				    * il faudrait sortir => W_AccordModifie = "True"
				    W_ValTemp =  ENR_ACCORD<10,h>
                            ENR_ACCORD = INSERT(ENR_ACCORD,10,h;W_ValTemp)
                            ENR_ACCORD = INSERT(ENR_ACCORD,11,h;ICONV(Txt_DatBaremCours, "D4/")) 
                            IF ENR_ACCORD<12, h> # "" OR ENR_ACCORD<12,h> # 0 THEN
                                W_Val12 = ENR_ACCORD<12,h>
                                ENR_ACCORD = INSERT(ENR_ACCORD,12,h;W_Val12)
                            END ELSE
                                W_Val12 = 0
                                ENR_ACCORD = INSERT(ENR_ACCORD,12,h;"")
                            END
                            ENR_ACCORD = INSERT(ENR_ACCORD,13,h;ENR_ORGPRISECHARGE<36,j> - W_Val12)
                            WRITE ENR_ACCORD ON F.ACCORD,W_SelectAccord
                            W_AccordModifie = "True"
                            ENR_TEMPO<W_IndTempo>=W_SelectAccord
				    W_IndTempo = W_IndTempo + 1

                        END
                    NEXT j
                    IF W_AccordModifie = "False" THEN
                        ENR_TEMPOBIS<W_IndTempoBis> = W_SelectAccord
			      W_IndTempoBis = W_IndTempoBis + 1
                    END
                    
                END
            END
        END ELSE
        
        *' h > W_PremierTaux
        *' Premire date d'effet des accords (1ere part.bnf.= dernire MV) : on modifie le taux seulement        
                IF ENR_ACCORD<12, W_PremierTaux> = "" THEN
                    ENR_ACCORD<12, W_PremierTaux> = "0"
                END
                W_MaxListe = DCOUNT(ENR_ORGPRISECHARGE<37>,"")
                W_AccordModifie = "False"
                FOR j = 1 TO W_MaxListe
                    IF ENR_ACCORD<13, W_PremierTaux> + ENR_ACCORD<12, W_PremierTaux> = ENR_ORGPRISECHARGE<37,j> AND W_AccordModifie = "False" THEN
                        IF ENR_ACCORD<13, W_PremierTaux> # ENR_ORGPRISECHARGE<36,j>  - ENR_ACCORD<12, W_PremierTaux> THEN
                           ENR_ACCORD<13, W_PremierTaux> = ENR_ORGPRISECHARGE<36,j> - ENR_ACCORD<12, W_PremierTaux>
                           WRITE ENR_ACCORD ON F.ACCORD, W_SelectAccord
                        END
                        W_AccordModifie = "True"
                    	ENR_TEMPO<W_IndTempo>=W_SelectAccord
				W_IndTempo = W_IndTempo + 1
                    END
                NEXT j
                IF W_AccordModifie = "False" THEN
                   ENR_TEMPOBIS<W_IndTempoBis> = W_SelectAccord
			 W_IndTempoBis = W_IndTempoBis + 1
                END
        END

   END

REPEAT

WRITE ENR_TEMPO ON F.TEMPO, "ACCORDSMODIFIES":Txt_CodOrgChg
WRITE ENR_TEMPOBIS ON F.TEMPO, "ACCORDSLIMITE":Txt_CodOrgChg

STOP
