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

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

   READ ENR_ORGPRISECHARGE FROM F.ORGPRISECHARGE, Txt_CodOrgChg ELSE ENR_ORGPRISECHARGE = ""
   

   READ ENR_ACCORD FROM F.ACCORD,W_SelectAccord ELSE ENR_ACCORD  = ""
      
        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"
				PRINT "Modifie"
                    END
                NEXT j
                IF W_AccordModifie = "False" THEN
                *'MAJ 04/04/01 : Cration d'une liste des accords non modifis
                    PRINT "Non modifie"
                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"
                            PRINT "Modifie"	
                        END
                    NEXT j
                    IF W_AccordModifie = "False" THEN
                        PRINT "Non modifie"
                    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"
                    	PRINT "Modifie" 
                    END
                NEXT j
                IF W_AccordModifie = "False" THEN
                   PRINT "Non modifie"
                END
        END

STOP
