* GENERATION REGUL CHARGE A PARTIR ECART SUR HISTORCUMUL EN URSSAF - MANDATAIRE
EXECUTE 'COMO ON REGCHGCUMUL'
EXECUTE 'SELECT CONTRAT AVEC 1 = "02" AND AVEC 8 = "" OR >= "12236"'
EXECUTE "SET-THOUS ."
EXECUTE "SET-DEC ,"
EXECUTE "DATE.FORMAT"
OPEN "","HISTORCUMUL" TO F.HISTORCUMUL ELSE STOP
OPEN "","RUBCHARGE" TO F.RUBCHARGE ELSE STOP
OPEN "","CONTRAT" TO F.CONTRAT ELSE STOP
OPEN "","REGULCHARGE" TO F.REGULCHARGE ELSE STOP

10 READNEXT CLE ELSE 
 EXECUTE 'COMO OFF'
 STOP
END
READ ENR_CONTRAT FROM F.CONTRAT,CLE ELSE GOTO 10
* VERIF CONTRAT ENCORE ACTIF SUR 200108
DATEFINCONTRAT=EXTRACT(ENR_CONTRAT,8)
IF DATEFINCONTRAT#"" THEN
 DATEFINCONTRAT=OCONV(DATEFINCONTRAT,"D4 ")
 DATEFINCONTRAT=DATEFINCONTRAT[7,4]:DATEFINCONTRAT[4,2]
END
AIDE=EXTRACT(ENR_CONTRAT,3)
CLEHIST=CLE[1,5]:"2001":AIDE
READ ENR FROM F.HISTORCUMUL,CLEHIST ELSE GOTO 10
BASERUB039=0
BASERUB040=0
BASERUB047=0
BASERUB048=0
ASSRUB039=0
ASSRUB040=0
ASSRUB047=0
ASSRUB048=0
PRESENCERUB039="NON"
PRESENCERUB040="NON"
PRESENCERUB047="NON"
PRESENCERUB048="NON"
J=DCOUNT(ENR<15>,CHAR(253))
W_MODIF="NON"
FOR I=1 TO J
 CODERUBCHG=EXTRACT(ENR,15,I)
 IF CODERUBCHG="039" THEN
  ASSRUB039=EXTRACT(ENR,16,I)
  BASERUB039=EXTRACT(ENR,17,I)
  PRESENCERUB039="OUI"
 END
 IF CODERUBCHG="040" THEN
  ASSRUB040=EXTRACT(ENR,16,I)
  BASERUB040=EXTRACT(ENR,17,I)
  PRESENCERUB040="OUI"
 END
 IF CODERUBCHG="047" THEN
  ASSRUB047=EXTRACT(ENR,16,I)
  BASERUB047=EXTRACT(ENR,17,I)
  PRESENCERUB047="OUI"
 END
 IF CODERUBCHG="048" THEN
  ASSRUB048=EXTRACT(ENR,16,I)
  BASERUB048=EXTRACT(ENR,17,I)
  PRESENCERUB048="OUI"
 END
NEXT I
IF PRESENCERUB039="OUI" THEN
 IF ASSRUB039#BASERUB039 AND BASERUB039#0 THEN
  IF DATEFINCONTRAT#"" AND DATEFINCONTRAT<200108 THEN
   PRINT "CONTRAT PLUS ACTIF SUR 200108 : ":CLE:" - PAS DE RATTRAPAGE"
  END ELSE
   READ ENRREGULCHARGE FROM F.REGULCHARGE,CLE THEN
    PRINT "DEJA REGUL DE CHARGE POUR CONTRAT : ":CLE
   END ELSE
    ENRREGULCHARGE=""
    ENRREGULCHARGE<1>=BASERUB039-ASSRUB039
    ENRREGULCHARGE<2>="6550"
    ENRREGULCHARGE<3>=INT(ENRREGULCHARGE<1>*655/10000-1/2)
    ENRREGULCHARGE<4>="100"
    ENRREGULCHARGE<5>=INT(ENRREGULCHARGE<1>*10/10000-1/2)
    WRITE ENRREGULCHARGE ON F.REGULCHARGE,CLE
   END
  END
 END
END
IF PRESENCERUB040="OUI" THEN
 IF ASSRUB040#BASERUB040 AND BASERUB040#0 THEN
  IF DATEFINCONTRAT#"" AND DATEFINCONTRAT<200108 THEN
   PRINT "CONTRAT PLUS ACTIF SUR 200108 : ":CLE:" - PAS DE RATTRAPAGE"
  END ELSE
   READ ENRREGULCHARGE FROM F.REGULCHARGE,CLE THEN
    PRINT "DEJA REGUL DE CHARGE POUR CONTRAT : ":CLE
   END ELSE
    ENRREGULCHARGE=""
    ENRREGULCHARGE<1>=BASERUB040-ASSRUB040
    ENRREGULCHARGE<2>="6550"
    ENRREGULCHARGE<3>=INT(ENRREGULCHARGE<1>*655/10000-1/2)
    ENRREGULCHARGE<4>="8300"
    ENRREGULCHARGE<5>=INT(ENRREGULCHARGE<1>*830/10000-1/2)
    WRITE ENRREGULCHARGE ON F.REGULCHARGE,CLE
   END
  END
 END
END
IF PRESENCERUB047="OUI" THEN
 IF ASSRUB047#BASERUB047 AND BASERUB047#0 THEN
  IF DATEFINCONTRAT#"" AND DATEFINCONTRAT<200108 THEN
   PRINT "CONTRAT PLUS ACTIF SUR 200108 : ":CLE:" - PAS DE RATTRAPAGE"
  END ELSE
   READ ENRREGULCHARGE FROM F.REGULCHARGE,CLE THEN
    PRINT "DEJA REGUL DE CHARGE POUR CONTRAT : ":CLE
   END ELSE
    ENRREGULCHARGE=""
    ENRREGULCHARGE<1>=BASERUB047-ASSRUB047
    ENRREGULCHARGE<2>="6550"
    ENRREGULCHARGE<3>=INT(ENRREGULCHARGE<1>*655/10000-1/2)
    ENRREGULCHARGE<4>="100"
    ENRREGULCHARGE<5>=INT(ENRREGULCHARGE<1>*10/10000-1/2)
    WRITE ENRREGULCHARGE ON F.REGULCHARGE,CLE
   END
  END
 END
END
IF PRESENCERUB048="OUI" THEN
 IF ASSRUB048#BASERUB048 AND BASERUB048#0 THEN
  IF DATEFINCONTRAT#"" AND DATEFINCONTRAT<200108 THEN
   PRINT "CONTRAT PLUS ACTIF SUR 200108 : ":CLE:" - PAS DE RATTRAPAGE"
  END ELSE
   READ ENRREGULCHARGE FROM F.REGULCHARGE,CLE THEN
    PRINT "DEJA REGUL DE CHARGE POUR CONTRAT : ":CLE
   END ELSE
    ENRREGULCHARGE=""
    ENRREGULCHARGE<1>=BASERUB048-ASSRUB048
    ENRREGULCHARGE<2>="6550"
    ENRREGULCHARGE<3>=INT(ENRREGULCHARGE<1>*655/10000-1/2)
    ENRREGULCHARGE<4>="8300"
    ENRREGULCHARGE<5>=INT(ENRREGULCHARGE<1>*830/10000-1/2)
    WRITE ENRREGULCHARGE ON F.REGULCHARGE,CLE
   END
  END
 END
END
GOTO 10 

