EXECUTE "SET-THOUS ."
EXECUTE "SET-DEC ,"
EXECUTE "DATE.FORMAT"
OPEN "", "ACCORD" TO F.ACCORD ELSE STOP
OPEN "", "AGGIRAIDE" TO F.AGGIRAIDE ELSE STOP
OPEN "", "ASSOCIATION" TO F.ASSOCIATION ELSE STOP
OPEN "", "CIVILAIDE" TO F.CIVILAIDE ELSE STOP
OPEN "", "FUSION" TO F.FUSION ELSE STOP
OPEN "", "ORGPRISECHARGE" TO F.ORGPRISECHARGE ELSE STOP
OPEN "", "SECTEUR" TO F.SECTEUR ELSE STOP
OPEN "", "TABLES" TO F.TABLES ELSE STOP

PRINT "Code Association : ":
INPUT W_CodAssoc

READ ENR_ASSOCIATION FROM F.ASSOCIATION,W_CodAssoc THEN
END ELSE
   PRINT "Association Inconnu"
   STOP
END

PRINT "Code Secteur : ":
INPUT W_CodSecteur

READ ENR_SECTEUR FROM F.SECTEUR,W_CodSecteur THEN
END ELSE
   PRINT "Secteur Inconnu"
   STOP
END

PRINT "Date de slection (JJ/MM/AAAA) : ":
INPUT W_DateSelect

W_DateSelect=ICONV(W_DateSelect,"D4/")

READ ENR_TABLES FROM F.TABLES,"STATORGCHG" THEN
   W_CountTable=DCOUNT(ENR_TABLES<2>,CHAR(253))
END ELSE
   PRINT "Table Inconnue"
   STOP
END

ENR_FUSION=""

W_ListeReq=""
* Requete
GOSUB 10

IF MSGCODE<1>#209 THEN

   SELECT F.ACCORD TO W_ListeReq
   GOSUB 20

END         

WRITE ENR_FUSION ON F.FUSION,"AIDECAISSE":W_CodAssoc:W_CodSecteur:W_DateSelect:".txt"

STOP

*********************************************************************************
* Requete
10
W_Requete = 'SSELECT ACCORD AVEC TypeOrg ="P" AND AVEC TypeActOrg ="P" AND AVEC 18 # "O" AND AVEC EntiteAccord = "':W_CodAssoc:'" AND AVEC CodeSecteur = "':W_CodSecteur:']"'
W_Requete = W_Requete:' AND AVEC DateSortieAideAccord = "" AND AVEC 5 <= "':W_DateSelect:'" AND AVEC 6 => "':W_DateSelect:'" PAR 0'
 
EXECUTE W_Requete
EXECUTE 'SAUVE-LISTE W_ListeReq'
EXECUTE "LISTE W_ListeReq" RETURNING MSGCODE

RETURN


***********************************************************************************
* Traitement de la slection
20

   W_CodeAide=""
   i=1
   W_Fini="FAUX"
   LOOP
      READNEXT W_CleReq FROM W_ListeReq ELSE W_Fini="VRAI"
   WHILE W_Fini="FAUX" DO
            W_CodeAide=W_CleReq[1,5]

            READ ENR_CIVILAIDE FROM F.CIVILAIDE,W_CodeAide ELSE STOP
            READ ENR_AGGIRAIDE FROM F.AGGIRAIDE,W_CodeAide ELSE ENR_AGGIRAIDE=""
            READ ENR_ACCORD FROM F.ACCORD,W_CleReq ELSE STOP
            READ ENR_ORGPRISECHARGE FROM F.ORGPRISECHARGE,ENR_ACCORD<1> ELSE STOP

            * Mise en forme adresse 1
            Indice=5
            Tableau=ENR_CIVILAIDE
            GOSUB 30

            * Recherche Regroupement Statistique
            GOSUB 40

            W_NumDossier=CONVERT(" ","",ENR_ACCORD<2>)
            W_NumDossier=W_NumDossier[1,20]

            W_Tel=CONVERT(" ","",ENR_CIVILAIDE<14>)

            ENR_FUSION<i>=W_Tel:";":ENR_CIVILAIDE<1>:";":ENR_CIVILAIDE<2>:";":ENR_CIVILAIDE<3>:";":MiseEnFormeAdresse1
            ENR_FUSION<i>=ENR_FUSION<i>:";":ENR_CIVILAIDE<9>:";":ENR_CIVILAIDE<10>:";":ENR_CIVILAIDE<11>:";":OCONV(ENR_CIVILAIDE<20>,"D4/")
            ENR_FUSION<i>=ENR_FUSION<i>:";":ENR_ACCORD<1>:";":W_NumDossier:";":W_RegroupStat:";":OCONV(ENR_ACCORD<5>,"D4/"):";":OCONV(ENR_ACCORD<6>,"D4/")
            ENR_FUSION<i>=ENR_FUSION<i>:";":ENR_AGGIRAIDE<19>:";":ENR_ACCORD<13,1>/100:";;P;AD;":INT(ENR_ACCORD<9>/100 + 1/2):";;":ENR_ASSOCIATION<2>:";":W_CodeAide
            i=i+1

   REPEAT
    
 RETURN

************************************************************************
* Mise en forme adresse 1
30
    MiseEnFormeAdresse1 = ""

    IF Tableau<Indice> # "" THEN
        MiseEnFormeAdresse1 = Tableau<Indice>:" "
    END
    
    IF Tableau<Indice + 1> # "" THEN
        MiseEnFormeAdresse1 = MiseEnFormeAdresse1:Tableau<Indice + 1> :" "
    END
    
    IF Tableau<Indice + 2> # "" THEN
        MiseEnFormeAdresse1 = MiseEnFormeAdresse1:Tableau<Indice + 2> :" "
    END
    
    IF Tableau<Indice + 3> # "" THEN
        MiseEnFormeAdresse1 = MiseEnFormeAdresse1:Tableau<Indice + 3>
    END
RETURN

***************************************************************************
* Recherche Regroupstatistique
40
  W_RegroupStat=""
  FOR iTable=1 TO W_CountTable
     IF ENR_ORGPRISECHARGE<43>=ENR_TABLES<2,iTable> THEN
        W_RegroupStat=ENR_TABLES<3,iTable>
        EXIT
     END
  NEXT iTable

RETURN
