* Ouverture d'un fichier
EXECUTE "SET-THOUS ."
EXECUTE "SET-DEC ,"
EXECUTE "DATE.FORMAT"
OPEN "","ACCORD" TO F.ACCORD ELSE STOP
OPEN "","ACTIVITESAIDE" TO F.ACTIVITESAIDE ELSE STOP
OPEN "","ACTIVITESBISAIDE" TO F.ACTIVITESBISAIDE ELSE STOP
OPEN "","CIVILAIDE" TO F.CIVILAIDE ELSE STOP
OPEN "","DEMANDACC" TO F.DEMANDACC ELSE STOP
PRINT "Saisissez la priode sous la forme AAAAMM"
INPUT W_Periode
MOIS = W_Periode[5,2]
AN = W_Periode[1,4]
W_DATEDEB = ICONV("01/":MOIS:"/":AN,"D4/")
MOIS = W_Periode[5,2]
AN = W_Periode[1,4]
MOIS = MOIS + 1
IF MOIS > 12 THEN
	MOIS = MOIS - 12
	AN = AN + 1
END
W_DATEFIN = ICONV("01/":MOIS:"/":AN,"D4/")
W_DATEFIN = W_DATEFIN - 1
W_RESULTAT = ""
W_RESULTATACC = ""
EXECUTE 'COMO ON DETAILEXEC'
* Requete
EXECUTE 'SELECT ACTIVITESBISAIDE AVEC TypeActBisAide = "P" AND AVEC 1 = "" OR >= "':W_DATEDEB:'"'
EXECUTE 'SAUVE-LISTE W_RESULTAT' 
EXECUTE "LISTE W_RESULTAT" RETURNING MSGCODE
IF MSGCODE<1> # 209 THEN
SELECT F.ACTIVITESBISAIDE TO W_RESULTAT 
W_Fini="FAUX"
LOOP
 READNEXT W_Cle FROM W_RESULTAT ELSE W_Fini="VRAI"
 WHILE W_Fini="FAUX" DO
  READ ENR_ACTIVITESAIDE FROM F.ACTIVITESAIDE,W_Cle[1,5] ELSE ENR_ACTIVITESAIDE = ""
  W_EXO = "FAUX"
  EXECUTE 'SSELECT ACCORD AVEC 0 = "':W_Cle[1,5]:']" AND AVEC TypeActOrg = "P" AND AVEC 18 = "" AND AVEC 5 <= "':W_DATEFIN:'" AND AVEC 6 => "':W_DATEDEB:'" OR = ""'
  EXECUTE 'SAUVE-LISTE W_RESULTATACC' 
  EXECUTE "LISTE W_RESULTATACC" RETURNING MSGCODEACC
  IF MSGCODEACC<1> # 209 THEN
   SELECT F.ACCORD TO W_RESULTATACC 
   W_FINACC="FAUX"
   LOOP
    READNEXT W_CleAcc FROM W_RESULTATACC ELSE W_FINACC="VRAI"
    WHILE W_FINACC="FAUX" DO
     READ ENR_ACCORD FROM F.ACCORD,W_CleAcc ELSE ENR_ACCORD = ""
     IF ENR_ACCORD<1> # "037" AND ENR_ACCORD<1> # "115" AND ENR_ACCORD<1> # "040" AND ENR_ACCORD<1> # "076" AND ENR_ACCORD<1> # "079" AND ENR_ACCORD<1> # "087" AND ENR_ACCORD<1> # "089" AND ENR_ACCORD<1> # "092" AND ENR_ACCORD<1> # "095" AND ENR_ACCORD<1> # "097" AND ENR_ACCORD<1> # "100" AND ENR_ACCORD<1> # "102" AND ENR_ACCORD<1> # "103" AND ENR_ACCORD<1> # "104" AND ENR_ACCORD<1> # "112" AND ENR_ACCORD<1> # "113" AND ENR_ACCORD<1> # "114" AND ENR_ACCORD<1> # "116" AND ENR_ACCORD<1> # "122" AND ENR_ACCORD<1> # "127" AND ENR_ACCORD<1> # "134" AND ENR_ACCORD<1> # "135" THEN
	W_EXO = "VRAI"
      W_FINACC="VRAI"
     END
   REPEAT
  END
  IF W_EXO = "VRAI" THEN
   IF ENR_ACTIVITESAIDE<5> # "1" THEN
    PRINT "AIDE NON EXO AU LIEU DE EXO : ":W_Cle[1,5]
    ENR_ACTIVITESAIDE<5> = "1"
   END
  END ELSE
   READ ENR_DEMANDACC FROM F.DEMANDACC,W_Cle[1,5] ELSE ENR_DEMANDACC = ""
   IDEM = 1
   LOOP
    WHILE ENR_DEMANDACC<1,IDEM> # "" DO
     IF ENR_DEMANDACC<1,IDEM> # "037" AND ENR_DEMANDACC<1,IDEM> # "115" AND ENR_DEMANDACC<1,IDEM> # "040" AND ENR_DEMANDACC<1,IDEM> # "076" AND ENR_DEMANDACC<1,IDEM> # "079" AND ENR_DEMANDACC<1,IDEM> # "087" AND ENR_DEMANDACC<1,IDEM> # "089" AND ENR_DEMANDACC<1,IDEM> # "092" AND ENR_DEMANDACC<1,IDEM> # "095" AND ENR_DEMANDACC<1,IDEM> # "097" AND ENR_DEMANDACC<1,IDEM> # "100" AND ENR_DEMANDACC<1,IDEM> # "102" AND ENR_DEMANDACC<1,IDEM> # "103" AND ENR_DEMANDACC<1,IDEM> # "104" AND ENR_DEMANDACC<1,IDEM> # "112" AND ENR_DEMANDACC<1,IDEM> # "113" AND ENR_DEMANDACC<1,IDEM> # "114" AND ENR_DEMANDACC<1,IDEM> # "116" AND ENR_DEMANDACC<1,IDEM> # "122" AND ENR_DEMANDACC<1,IDEM> # "127" AND ENR_DEMANDACC<1,IDEM> # "134" AND ENR_DEMANDACC<1,IDEM> # "135" THEN
	IF ENR_DEMANDACC<4,IDEM> => W_DATEDEB OR ENR_DEMANDACC<4,IDEM> = "" THEN
	 IF ENR_DEMANDACC<3,IDEM> <= W_DATEFIN THEN
	  W_EXO = "VRAI"
	 END
	END
     END
     IDEM = IDEM + 1
   REPEAT
   IF W_EXO  = "VRAI" THEN
    IF ENR_ACTIVITESAIDE<5> # "1" THEN
     PRINT "AIDE NON EXO AU LIEU DE EXO : ":W_Cle[1,5]
     ENR_ACTIVITESAIDE<5> = "1"
    END
   END ELSE
    READ ENR_CIVILAIDE FROM F.CIVILAIDE,W_Cle[1,5] ELSE ENR_CIVILAIDE = ""
    W_AGEAIDE = W_DATEFIN - ENR_CIVILAIDE<20>
    W_AGEAIDE = W_AGEAIDE / 365
    IF W_AGEAIDE > 70 THEN
     W_EXO = "VRAI"
     IF ENR_ACTIVITESAIDE<5> # "1" THEN
	PRINT "AIDE NON EXO AU LIEU DE EXO : ":W_Cle[1,5]
	ENR_ACTIVITESAIDE<5> = "1"
     END
    END				
   END
  END
  IF W_EXO = "FAUX" THEN
   IF ENR_ACTIVITESAIDE<5>= "1" THEN
    PRINT "AIDE EXO AU LIEU DE NON EXO : ":W_Cle[1,5]
    ENR_ACTIVITESAIDE<5> = "0"
   END
  END
  WRITE ENR_ACTIVITESAIDE ON F.ACTIVITESAIDE,W_Cle[1,5]
REPEAT
END
EXECUTE 'COMO OFF'
STOP
