Ceci est une ancienne révision du document !
Dans Kerwin, lors d'un recalcule d'un fichier de disponibilité Mensuelle, il est possible d'avoir ce type d'erreur :
Ce type d'erreur est du à une division par 0 dans la requête SQL caché derrière. Pour corriger ce problème, il y a deux possibilités.
Il est préférable dans un premier temps de refaire une relance de calcul pour être sûr que les fichiers corrigés (utilisés dans la requêtes) soient corrects : Relance calculs end
Après la relance de calcul, vérifier si le Recalculer donne toujours une erreur.
Si le fichier contient donc bien la valeur zéro, la requête SQL fait une division par 0 et donc donne une erreur. Pour y remédier, il faut changer la/les valeurs 0 en NULL.
Les valeurs à changer se situe dans la table XXX_DebFinToJour dans la base de donnée CALEND (Avec XXX : Site CAI,FIG,LM1,……).
Par exemple : [CALEND].[dbo].[STF_DebFinToJour]
Pour certains sites, il se peut que cette table soit dans la base de donnée KERWIN_SQL.
Pour le site de Nohic, ne pas prendre NOH_ (l'ancien Nohic) mais NON_ (Nohic New)
Pour trouver le jour où il y a ce problème, il suffit de faire un SELECT sur le mois concerné, et de regarder le jour où il y a la valeur 0 dans END_Jr et EPDL_Jr.
Par exemple : SELECT * FROM [CALEND].[dbo].[STF_DebFinToJour] where Date > '01/04/2020' order by date
Il suffit alors de remplacer ces valeurs 0 par des NULL en exécutant cette requête, pour la table et le jour correspondant, en faisant bien attention à mettre la même date et heure que dans le SELECT précédent :
UPDATE table SET EPDL_Jr = NULL, END_Jr = NULL where Date = 'JJ/MM/AAAA 23:59:59
Pour vérifier, il est possible de rejouer le SELECT précédent et de voir qu'il y a bien des NULL à la place des 0 (Voir screen avant).
Après ça, vous pouvez RELANCER votre rapport dans Kerwin !
Si vous relancez les calculs pour le site où vous avez fait la modification, il y a de grande chance que le NULL que vous aviez mis soit de nouveau remplacé par un 0. Il faudra alors refaire cette procédure !