*************************************************************************
*
*   EDITION DES ETATS DE PRESENCE DE TYPE M.S.A.
*                                               
*   VANESSA                                                 STEPHANE     AJOUT SELECTION ALPHA DE - A
*   17/01/2001                                              15/06/01     RAJOUTE TEST DATE SUR ACCORD 107 - 108
*************************************************************************

* 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/")

   IF W_NOMDEB="" THEN W_NOMDEB="A"
   IF W_NOMFIN="" THEN W_NOMFIN="ZZ"

   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 = "O" THEN
               W_AdrAide=""
               W_NomAide=""
               W_LieuAide=""
               W_VilleAide=""
               W_SecuAide=""

               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>

               W_SecuAide=ENR_CIVILAIDE<18>:" ":ENR_CIVILAIDE<19>

               FOR i = 1 TO 2
                  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
               PRINT " " 
               PRINT "                                                  ":W_SecuAide
               PAGE

            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" AND ENR_ACCORD<18><>"O" THEN
	    
            W_DebAcc=ENR_ACCORD<5>
            W_DebAcc=OCONV(W_DebAcc,"D4/")
            W_DebAcc=W_DebAcc[7,4]:W_DebAcc[4,2]

            W_FinAcc=ENR_ACCORD<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"
		    W_End="VRAI"
	    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"
		  W_End="VRAI"
               END
            END
	  END           
      END ELSE
	W_End="VRAI"
      END
      W_Ordre=W_Ordre+1
      W_Ordre=W_Ordre "R%3"
   REPEAT

RETURN
