*************************************************************************
*
*   EDITION DES ETATS DE PRESENCE HORS M.S.A.
*   TEMPS COMPLETS
*
*   VANESSA
*   18/01/2001                                             
*************************************************************************

* OUVERTURE DES FICHIERS

EXECUTE "SET-THOUS ."
EXECUTE "SET-DEC ,"
EXECUTE "DATE.FORMAT"
OPEN "","CIVILAIDANT" TO F.CIVILAIDANT ELSE PRINT "OUVERTURE CIVILAIDANT"
OPEN "","CIVILAIDE" TO F.CIVILAIDE ELSE PRINT "OUVERTURE CIVILAIDE"
OPEN "","CONTRAT" TO F.CONTRAT ELSE PRINT "OUVERTURE CONTRAT"
OPEN "","ACCORD" TO F.ACCORD ELSE PRINT "OUVERTURE ACCORD"
OPEN "","DETAILCALCUL" TO F.DETAILCALCUL ELSE PRINT "OUVERTURE DETAILCALCUL"
OPEN "","PERIODESPAIE" TO F.PERIODESPAIE ELSE PRINT "OUVERTURE PERIODESPAIE"

*************************************************************************

   PRINT "AIDANT DE:"
   INPUT W_NOMDEB
   PRINT "A:"
   INPUT W_NOMFIN

   EXECUTE 'SETPTR 0,,,0,,1,"MODE=RAW",DEST \\SERVEURVIEUX\HP5SINX,NOHEAD,NOFMT,EJECT,COPIES 1,BRIEF'

   PRINTER ON

   READ ENR_PERIODESPAIE FROM F.PERIODESPAIE,"1" ELSE ENR_PERIODESPAIE = ""

   W_PERIODE=ENR_PERIODESPAIE<1>
   W_PERIODE=W_PERIODE+2
   IF W_PERIODE[5,2]="13" OR W_PERIODE[5,2]="14" THEN
      W_PERIODE=W_PERIODE+88
   END
   W_PERIODE="01/":W_PERIODE[5,2]:"/":W_PERIODE[1,4]
   W_PERIODE=ICONV(W_PERIODE,"D4/")

   EXECUTE 'SSELECT CONTRAT AVEC 1 = "02" AND AVEC 7 <= "':W_PERIODE:'" AND AVEC 8 >= "':W_PERIODE:'" OR = "" AND AVEC 65 # "O" AND AVEC NomPrenomAidantContrat >= "':W_NOMDEB:']" AND <= "':W_NOMFIN:']" PAR NomPrenomAidantContrat'

   EXECUTE 'SAUVE-LISTE W_RequetePres'
   EXECUTE "LISTE W_RequetePres" RETURNING MSGCODE

   IF MSGCODE<1> = "209" THEN
      STOP
   END ELSE
      SELECT F.CONTRAT TO W_RequetePres

      W_Fini="FAUX"
      W_PERIODE = ENR_PERIODESPAIE<1>

      LOOP
         READNEXT W_CleContrat FROM W_RequetePres ELSE W_Fini="VRAI"
      WHILE W_Fini="FAUX" DO
         READ ENR_CONTRAT FROM F.CONTRAT,W_CleContrat ELSE ENR_CONTRAT = ""
         READ ENR_DETAILCALCUL FROM F.DETAILCALCUL,W_CleContrat:W_PERIODE THEN

            READ ENR_CIVILAIDANT FROM F.CIVILAIDANT,W_CleContrat[1,5] ELSE ENR_CIVILAIDANT = ""
            W_AdrAidant=""
            W_NomAidant=""
            W_LieuAidant=""
            W_VilleAidant=""

            W_NomAidant=ENR_CIVILAIDANT<2>:" ":ENR_CIVILAIDANT<3>

            IF ENR_CIVILAIDANT<5> # "" THEN W_AdrAidant=ENR_CIVILAIDANT<5>:" "
            IF ENR_CIVILAIDANT<6> # "" THEN W_AdrAidant=W_AdrAidant:ENR_CIVILAIDANT<6>:" "
            IF ENR_CIVILAIDANT<7> # "" THEN W_AdrAidant=W_AdrAidant:ENR_CIVILAIDANT<7>:" "
            IF ENR_CIVILAIDANT<8> # "" THEN W_AdrAidant=W_AdrAidant:ENR_CIVILAIDANT<8>
            IF ENR_CIVILAIDANT<9> # "" THEN W_LieuAidant=ENR_CIVILAIDANT<9>

            W_VilleAidant=ENR_CIVILAIDANT<10>:" ":ENR_CIVILAIDANT<11>

            READ ENR_CIVILAIDE FROM F.CIVILAIDE,ENR_CONTRAT<3> ELSE ENR_CIVILAIDE = ""

            GOSUB 10

            IF MSA = "N" THEN
               W_Count=DCOUNT(ENR_CONTRAT<20>,CHAR(253))
               IF ENR_CONTRAT<20,W_Count> = "02007" THEN
                  W_AdrAide=""
                  W_NomAide=""
                  W_LieuAide=""
                  W_VilleAide=""

                  W_NomAide=ENR_CIVILAIDE<2>:" ":ENR_CIVILAIDE<3>

                  IF ENR_CIVILAIDE<5> # "" THEN W_AdrAide=ENR_CIVILAIDE<5>:" "
                  IF ENR_CIVILAIDE<6> # "" THEN W_AdrAide=W_AdrAide:ENR_CIVILAIDE<6>:" "
                  IF ENR_CIVILAIDE<7> # "" THEN W_AdrAide=W_AdrAide:ENR_CIVILAIDE<7>:" "
                  IF ENR_CIVILAIDE<8> # "" THEN W_AdrAide=W_AdrAide:ENR_CIVILAIDE<8>
                  IF ENR_CIVILAIDE<9> # "" THEN W_LieuAide=ENR_CIVILAIDE<9>

                  W_VilleAide=ENR_CIVILAIDE<10>:" ":ENR_CIVILAIDE<11>

                  FOR i = 1 TO 3
                     PRINT
                  NEXT i

                  PRINT "                                        EMPLOYEUR:   ":ENR_CONTRAT<3>
                  PRINT "                                             ":W_NomAide
                  PRINT "                                             ":W_AdrAide
                  PRINT "                                             ":W_LieuAide
                  PRINT "                                             ":W_VilleAide
                  PRINT " "
                  PRINT "                                        SALARIE  :   ":W_CleContrat[1,5]
                  PRINT "                                             ":W_NomAidant
                  PRINT "                                             ":W_AdrAidant
                  PRINT "                                             ":W_LieuAidant
                  PRINT "                                             ":W_VilleAidant
                  PAGE
               END
            END
         END
      REPEAT
   END

   PRINTER OFF
   PRINTER CLOSE

STOP

*************************************************************************
* RECHERCHE ACCORD MSA

10

   W_Ordre="001"
   ENR_ACCORD1=""
   MSA="N"
   W_End="FAUX"
   W_Perio1=""

   LOOP
   WHILE W_End="FAUX" DO
      READ ENR_ACCORD FROM F.ACCORD,ENR_CONTRAT<3>:W_Ordre THEN
         IF ENR_ACCORD<1>="107" OR ENR_ACCORD<1>="108" THEN
            ENR_ACCORD1=ENR_ACCORD
         END

      END ELSE
         IF ENR_ACCORD1 # "" THEN
            W_DebAcc=ENR_ACCORD1<5>
            W_DebAcc=OCONV(W_DebAcc,"D4/")
            W_DebAcc=W_DebAcc[7,4]:W_DebAcc[4,2]

            W_FinAcc=ENR_ACCORD1<6>
            W_FinAcc=OCONV(W_FinAcc,"D4/")
            W_FinAcc=W_FinAcc[7,4]:W_FinAcc[4,2]

            IF W_DebAcc <= W_PERIODE AND W_PERIODE <= W_FinAcc THEN
               MSA="O"
            END ELSE
               IF W_PERIODE[5,2] > 3 THEN
                  W_Perio1=W_PERIODE-3
               END ELSE
                  W_Perio1=W_PERIODE-91
               END
               IF W_DebAcc <= W_Perio1 AND W_Perio1 <= W_FinAcc THEN
                  MSA="O"
               END
            END
         END
         W_End="VRAI"
      END
      W_Ordre=W_Ordre+1
      W_Ordre=W_Ordre "R%3"
   REPEAT

RETURN
