
EXECUTE "SET-THOUS ."
EXECUTE "SET-DEC ,"
EXECUTE "DATE.FORMAT"
OPEN "","ORGPRISECHARGE" TO F.ORGPRISECHARGE ELSE STOP
OPEN "","ACCORD" TO F.ACCORD ELSE STOP
OPEN "","COMPLFACT" TO F.COMPLFACT ELSE STOP
OPEN "","ACTIVITES" TO F.ACTIVITES ELSE STOP
OPEN "","COMPTESPARTICULIERS" TO F.COMPTESPARTICULIERS ELSE STOP

W_RESULTAT = ""

PRINT "Code de l'organisme de prise en charge (3N) : "
INPUT W_Org

PRINT "Priode de dbut  regulariser (AAAAMM) : "
INPUT W_PerDeb

PRINT "Priode de fin  regulariser (AAAAMM) : "
INPUT W_PerFin

W_Mois=W_PerDeb[5,2]
W_An=W_PerDeb[1,4]

W_JourDeb="01/":W_Mois:"/":W_An
W_JourDeb=ICONV(W_JourDeb,"D4/")

W_Mois=W_PerFin[5,2]
W_An=W_PerFin[1,4]

W_Mois=W_Mois+1
IF W_Mois="13" THEN
   W_Mois="01"
   W_An=W_An+1
END

W_JourFin="01/":W_Mois:"/":W_An
W_JourFin=ICONV(W_JourFin,"D4/")-1

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

EXECUTE 'SSELECT ACCORD AVEC 1 = "':W_Org:'" AND AVEC 5 <= "':W_JourFin:'" AND AVEC 6 >= "':W_JourDeb:'" AND AVEC 18 # "O" PAR 0'
EXECUTE 'SAUVE-LISTE W_RESULTAT'
EXECUTE "LISTE W_RESULTAT" RETURNING MSGCODE
	
IF MSGCODE<1> # 209 THEN 

	W_FINI = "FAUX"

	SELECT F.ACCORD TO W_RESULTAT

	LOOP
		READNEXT CLE FROM W_RESULTAT ELSE W_FINI="VRAI"
	WHILE W_FINI = "FAUX"
		READ ENR_ACCORD FROM F.ACCORD,CLE ELSE ENR_ACCORD = ""

		W_NouvTx=ENR_ACCORD<13,1>
                
                W_Count=DCOUNT(ENR_ACCORD<14>,CHAR(253))
                W_NbHre=0
                W_Mont=0
                W_CumulMont=0
                FOR i = 1 TO W_Count
                   IF ENR_ACCORD<14,i> >= W_PerDeb AND ENR_ACCORD<14,i> <= W_PerFin THEN
                      W_NbHre=W_NbHre+ENR_ACCORD<16,i>
                      W_CumulMont=W_CumulMont+ENR_ACCORD<15,i>
                   END
                NEXT i

                IF ENR_ORGPRISECHARGE<29> = "" THEN
                   W_Mont=W_NbHre*W_NouvTx
                   W_Mont=INT(W_Mont/100 + 1/2)
                END ELSE

                   IF W_NbHre > ENR_ORGPRISECHARGE<29,1> THEN                   
                      W_Mont= ENR_ORGPRISECHARGE<29,1>*W_NouvTx
                   END ELSE
                      W_Mont=W_NbHre*W_NouvTx
                   END

                   iAbat=1
                   LOOP
                   WHILE ENR_ORGPRISECHARGE<29,iAbat> # "" DO
                      W_Diff=0
                      IF W_NbHre > ENR_ORGPRISECHARGE<29,iAbat> THEN

                         IF W_NbHre > ENR_ORGPRISECHARGE<30,iAbat> THEN
                            W_Diff=ENR_ORGPRISECHARGE<30,iAbat>-ENR_ORGPRISECHARGE<29,iAbat>
                         END ELSE
                            W_Diff=W_NbHre-ENR_ORGPRISECHARGE<29,iAbat>
                         END

			 W_Tx=W_NouvTx - INT(W_NouvTx*ENR_ORGPRISECHARGE<31,iAbat>/10000 + 1/2)
                         W_Mont=W_Mont+(W_Diff*W_Tx)

                      END

                      iAbat=iAbat+1

                   REPEAT
                   W_Mont=INT(W_Mont/100 + 1/2)
                END

                W_Rappel=W_Mont-W_CumulMont
                
                IF W_Rappel # 0 THEN
   	  	   READ ENR_ACTIVITES FROM F.ACTIVITES,ENR_ORGPRISECHARGE<47,1> ELSE ENR_ACTIVITES = ""
                   W_CleComplFact=CLE[1,5]:ENR_ORGPRISECHARGE<46>:ENR_ACTIVITES<12>
		   READ ENR_COMPLFACT FROM F.COMPLFACT,W_CleComplFact ELSE ENR_COMPLFACT=""
                   IF ENR_COMPLFACT="" THEN	
		      W_Mv=1
                   END ELSE
                      W_Count=DCOUNT(ENR_COMPLFACT<1>,CHAR(253))
                      W_Mv=W_Count+1
                   END
                   ENR_COMPLFACT<1,W_Mv>="RAPPEL ":ENR_ORGPRISECHARGE<1>
                   ENR_COMPLFACT<2,W_Mv>=""
                   ENR_COMPLFACT<3,W_Mv>=""
                   ENR_COMPLFACT<4,W_Mv>=W_Rappel
		   READ ENR_COMPTESPARTICULIERS FROM F.COMPTESPARTICULIERS,ENR_ORGPRISECHARGE<46> ELSE ENR_COMPTESPARTICULIERS = ""
                   ENR_COMPLFACT<5,W_Mv>=ENR_COMPTESPARTICULIERS<1>
                   ENR_COMPLFACT<6,W_Mv>=ENR_ACTIVITES<2>
                   ENR_COMPLFACT<7,W_Mv>="0"
                   ENR_COMPLFACT<8,W_Mv>=""

  		   WRITE ENR_COMPLFACT ON F.COMPLFACT,W_CleComplFact
                END
	REPEAT
	
END

STOP
