***********************************************************
*
* TRANSPOSITION DU FICHIER ACCORD D'UN MODULE FACTURE
* VERS FICHIER ACCORD
*
* NOVEMBRE 1998                           DIDIER
***********************************************************
EXECUTE 'DATE.FORMAT'
PROCREAD VARIABLES ELSE STOP
MODULE=FIELD(VARIABLES," ",2)
OPEN "","VOC" TO F.VOC ELSE STOP
ENRVOC=""
ENRVOC=REPLACE(ENRVOC,1;"F")
CHEMIN="D:\TRANSFERT\":MODULE
ENRVOC=REPLACE(ENRVOC,2;CHEMIN:"\CAISSE")
ENRVOC=REPLACE(ENRVOC,3;CHEMIN:"\D_CAISSE")
WRITE ENRVOC ON F.VOC,"CAISSE"
ENRVOC=REPLACE(ENRVOC,2;CHEMIN:"\P.AIDEES")
ENRVOC=REPLACE(ENRVOC,3;CHEMIN:"\D_P.AIDEES")
WRITE ENRVOC ON F.VOC,"P.AIDEES"
ENRVOC=REPLACE(ENRVOC,2;CHEMIN:"\ACCORD")
ENRVOC=REPLACE(ENRVOC,3;CHEMIN:"\D_ACCORD")
WRITE ENRVOC ON F.VOC,"ACCORDF"
OPEN "DICT","ACCORDF" TO F.ACCORDF ELSE STOP
ENREG=""
ENREG=REPLACE(ENREG,1;'D')
ENREG=REPLACE(ENREG,2;'3')
ENREG=REPLACE(ENREG,3;'D4/')
ENREG=REPLACE(ENREG,4;'D.DEBUT')
ENREG=REPLACE(ENREG,5;'10R')
ENREG=REPLACE(ENREG,6;'M')
WRITE ENREG ON F.ACCORDF,"3BIS"
ENREG=REPLACE(ENREG,2;'4')
ENREG=REPLACE(ENREG,4;'D.FIN')
WRITE ENREG ON F.ACCORDF,"4BIS"
OPEN "","ACCORDF" TO F.ACCORDF ELSE STOP
OPEN "","P.AIDEES" TO F.PAIDEES ELSE STOP
OPEN "","ACCORD" TO F.ACCORD ELSE STOP
OPEN "","CAISSE" TO F.CAISSE ELSE STOP
CODEPB1=""
DATESYSTEME=DATE()
DATESYSTEME=OCONV(DATESYSTEME,"D4 ")
ANNEE=DATESYSTEME[7,4]-1
APRENDRE="01/01/":ANNEE
*** TRAITEMENT
EXECUTE 'TSELECT ACCORDF AVEC 4BIS >= "':APRENDRE:'" PAR CODE PAR-DECR 3BIS PAR-DECR 4BIS'
10 READNEXT CLEACC ELSE
 DELETE F.VOC,"CAISSE"
 DELETE F.VOC,"P.AIDEES"
 DELETE F.VOC,"ACCORDF"
 STOP
END
READ ENRACCORDANC FROM F.ACCORDF,CLEACC ELSE GOTO 10
CODEPB=CLEACC[1,4]
IF CODEPB1#CODEPB THEN
 CODEPB1=CODEPB
 NOORDRE=0
 READ ENRBENEF FROM F.PAIDEES,CODEPB ELSE ENRBENEF=""
 CLECIVILAIDE=EXTRACT(ENRBENEF,50)
 I=1
 LOOP
  IF I MATCH "1N" THEN I="00":I
  IF I MATCH "2N" THEN I="0":I
  READ ENRACCORD FROM F.ACCORD,CLECIVILAIDE:I ELSE ENRACCORD=""
  UNTIL ENRACCORD="" DO
   I=I+1
 REPEAT
 NOORDRE=I-1
END
ENRACCORD=""
ENRACCORD<20>=""
CODECAISSE=EXTRACT(ENRACCORDANC,1)
READ ENRCAISSE FROM F.CAISSE,CODECAISSE ELSE ENRCAISSE=""
TYPECAISSE=EXTRACT(ENRCAISSE,9)
ACCORDSMENS=EXTRACT(ENRCAISSE,20)
MUTUELLEMFPACC=EXTRACT(ENRCAISSE,21)
IF MUTUELLEMFPACC>0 AND MUTUELLEMFPACC<100 THEN
 NULL
END ELSE
 MUTUELLEMFPACC=""
END
CODEORGCHG=EXTRACT(ENRCAISSE,30)
NUMDOSSIERACC=TRIM(EXTRACT(ENRBENEF,10))
DATEACC=EXTRACT(ENRACCORDANC,2)
DATEDEBACC=EXTRACT(ENRACCORDANC,3)
DATEFINACC=EXTRACT(ENRACCORDANC,4)
HHMONTACC=EXTRACT(ENRACCORDANC,5)
IF ACCORDSMENS="N" THEN HHMONTACC=EXTRACT(ENRACCORDANC,18)
DATEEFFETACC=DATEDEBACC
ENRACCORD=REPLACE(ENRACCORD,1;CODEORGCHG)
ENRACCORD=REPLACE(ENRACCORD,2;NUMDOSSIERACC)
ENRACCORD=REPLACE(ENRACCORD,4;MUTUELLEMFPACC)
ENRACCORD=REPLACE(ENRACCORD,5;DATEDEBACC)
DATEDEBACC1=OCONV(DATEDEBACC,"D4 ")
DATEDEBACC1=DATEDEBACC1[7,4]:DATEDEBACC1[4,2]
ENRACCORD=REPLACE(ENRACCORD,6;DATEFINACC)
ENRACCORD=REPLACE(ENRACCORD,7;DATEACC)
ENRACCORD=REPLACE(ENRACCORD,8;"1")
PARTBENEFORGACC=EXTRACT(ENRACCORDANC,7)
TYPEPARTBENEF=EXTRACT(ENRACCORDANC,6)
CODECAISSECOMPL=EXTRACT(ENRACCORDANC,9)
PARTMUTUELLEACC=0
POURCENTPARTACC=0
IF CODECAISSE=CODECAISSECOMPL AND MUTUELLEMFPACC#"" THEN
 PARTMUTUELLEACC=EXTRACT(ENRACCORDANC,11)
 PARTBENEFORGACC=PARTBENEFORGACC-PARTMUTUELLEACC
END ELSE
 IF TYPECAISSE="C" THEN
  HHMONTACC=EXTRACT(ENRACCORDANC,10)
  PARTBENEFORGACC=EXTRACT(ENRACCORDANC,11) 
 END ELSE
  IF TYPEPARTBENEF="%" THEN
   TAUXREMBOURS=EXTRACT(ENRCAISSE,13)
   POURCENTPARTACC=PARTBENEFORGACC
   PARTBENEFORGACC=INT((TAUXREMBOURS*POURCENTPARTACC/10000)+1/2)
  END
 END
END
ENRACCORD=REPLACE(ENRACCORD,9;HHMONTACC)  
ENRACCORD=REPLACE(ENRACCORD,10,1;POURCENTPARTACC)
ENRACCORD=REPLACE(ENRACCORD,11,1;DATEEFFETACC)
ENRACCORD=REPLACE(ENRACCORD,12,1;PARTMUTUELLEACC)
ENRACCORD=REPLACE(ENRACCORD,13,1;PARTBENEFORGACC)
MOTIFACCORD=EXTRACT(ENRACCORDANC,22)
IF MOTIFACCORD[1,1]="E" AND LEN(MOTIFACCORD)=3 THEN
 ENRACCORD=REPLACE(ENRACCORD,3;MOTIFACCORD[2,2])
END
IF EXTRACT(ENRACCORDANC,12) # "" THEN
   ENRACCORD=INSERT(ENRACCORD,10,1;"")
   ENRACCORD=INSERT(ENRACCORD,11,1;EXTRACT(ENRACCORDANC,12))
   ENRACCORD=INSERT(ENRACCORD,12,1;"")
   ENRACCORD=INSERT(ENRACCORD,13,1;EXTRACT(ENRACCORDANC,14))
   ENRACCORD=REPLACE(ENRACCORD,9;EXTRACT(ENRACCORDANC,13))
END
IF EXTRACT(ENRACCORDANC,15) # "" THEN
   ENRACCORD=INSERT(ENRACCORD,10,1;"")
   ENRACCORD=INSERT(ENRACCORD,11,1;EXTRACT(ENRACCORDANC,15))
   ENRACCORD=INSERT(ENRACCORD,12,1;"")
   ENRACCORD=INSERT(ENRACCORD,13,1;EXTRACT(ENRACCORDANC,17))
   ENRACCORD=REPLACE(ENRACCORD,9;EXTRACT(ENRACCORDANC,16))
END

IF EXTRACT(ENRACCORDANC,23)#"" THEN
 HHMONTACCBIS=HHMONTACC
 J=1
 LOOP
  HISTPERIODEACC=EXTRACT(ENRACCORDANC,23,J)
  HISTHEURFACTACC=EXTRACT(ENRACCORDANC,24,J)
  UNTIL HISTPERIODEACC="" DO
   IF HISTPERIODEACC[1,2]>90 THEN
    HISTPERIODEACC="19":HISTPERIODEACC
   END ELSE
    HISTPERIODEACC="20":HISTPERIODEACC
   END
   ENRACCORD=INSERT(ENRACCORD,14,1,0;HISTPERIODEACC) 
   ENRACCORD=INSERT(ENRACCORD,15,1,0;"0")
   ENRACCORD=INSERT(ENRACCORD,16,1,0;HISTHEURFACTACC)
   ENRACCORD=INSERT(ENRACCORD,17,1,0;"0")
   J=J+1
 REPEAT
 IF ACCORDSMENS="N" THEN
  FOR D=J-1 TO 1 STEP -1
   HHMONTACCBIS=HHMONTACCBIS-EXTRACT(ENRACCORD,16,D)
   ENRACCORD=REPLACE(ENRACCORD,17,D;HHMONTACCBIS)
  NEXT D
 END
END ELSE
 IF TYPECAISSE="C" AND EXTRACT(ENRACCORDANC,21)#"" THEN
  ENRACCORD=REPLACE(ENRACCORD,14;DATEDEBACC1) 
  ENRACCORD=INSERT(ENRACCORD,15;"0")
  ENRACCORD=INSERT(ENRACCORD,16;"0")
  ENRACCORD=INSERT(ENRACCORD,17;"0")
 END
END
NOORDRE=NOORDRE+1
IF NOORDRE MATCH "1N" THEN NOORDRE="00":NOORDRE
IF NOORDRE MATCH "2N" THEN NOORDRE="0":NOORDRE 
WRITE ENRACCORD ON F.ACCORD,CLECIVILAIDE:NOORDRE
GOTO 10
