**********************************************************
*  moulinette de mise  jour des cumuls DADS SUITE A PB SUR
*  CUMUL D'ASSIETTE BRUTE DES RUBRIQUES URSSAF NON RENCONTREES
*  SUR LE BULLETIN
**********************************************************
EXECUTE "SET-THOUS ."
EXECUTE "SET-DEC ,"
EXECUTE "DATE.FORMAT"
OPEN "","HISTORCUMUL" TO F.HISTORCUMUL ELSE PRINT "OUVERTURE HISTORCUMUL" 
OPEN "","RUBCHARGE" TO F.RUBCHARGE ELSE PRINT "OUVERTURE RUBCHARGE" 
OPEN "","TRANCHE" TO F.TRANCHE ELSE PRINT "OUVERTURE TRANCHE"
EXECUTE 'SELECT HISTORCUMUL AVEC PeriodeHistCum = "2003"'
EXECUTE 'SAUVE-LISTE W_RequeteHistCum'
EXECUTE "LISTE W_RequeteHistCum" RETURNING MSGCODE
IF MSGCODE<1> # 209 THEN
   SELECT F.HISTORCUMUL TO W_RequeteHistCum
   W_Fin="FAUX"
   LOOP
    READNEXT W_Cle FROM W_RequeteHistCum ELSE W_Fin = "VRAI"
    WHILE W_Fin = "FAUX" DO
     READ ENR_HISTORCUMUL FROM F.HISTORCUMUL,W_Cle ELSE ENR_HISTORCUMUL=""
     W_Count=DCOUNT(ENR_HISTORCUMUL<15>,CHAR(253))
     W_CumulAssietteBrut=""
* sauvegarde le cumul d'assiette brute de la 1re rubrique avec type de charge = ASSEDIC
     FOR i = 1 TO W_Count
      READ ENR_RUBCHARGE FROM F.RUBCHARGE,ENR_HISTORCUMUL<15,i> ELSE ENR_RUBCHARGE=""
      IF ENR_RUBCHARGE<16> = "02" THEN
       W_CumulAssietteBrut = ENR_HISTORCUMUL<16,i>
       EXIT
      END
     NEXT i
     IF W_CumulAssietteBrut = "" THEN
      W_CumulAssietteBrut = ENR_HISTORCUMUL<5>
     END
     FOR i = 1 TO W_Count
      READ ENR_RUBCHARGE FROM F.RUBCHARGE,ENR_HISTORCUMUL<15,i> ELSE ENR_RUBCHARGE=""
      IF ENR_RUBCHARGE<16> = "01" THEN
       IF ENR_HISTORCUMUL<16,i> # W_CumulAssietteBrut AND ENR_HISTORCUMUL<17,i> = 0 THEN
        PRINT W_Cle
        ENR_HISTORCUMUL<16,i> = W_CumulAssietteBrut
       END
      END
     NEXT i
     WRITE ENR_HISTORCUMUL ON F.HISTORCUMUL,W_Cle
   REPEAT
END
STOP
