*************************************************************************
*
*   EDITION DES ETATS DE PRESENCE NORMAUX HORS M.S.A.
*
*   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/")

   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 = "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 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

                  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" 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
