====== Engie Green Kerwin - Erreur recalculer Dispo Mensuelle ====== Dans Kerwin, lors d'un recalcule d'un fichier de disponibilité Mensuelle, il est possible d'avoir ce type d'erreur : {{ :tma:erreur_recalculer_dispo_mensuelle_1.png?nolink&800 |}} \\ 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. ===== Relance des calculs ===== 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 : [[tma:pv:rex_ai:rapports:relance_calculs_end|Relance calculs end]] Après la relance de calcul, vérifier si le **Recalculer** donne toujours une erreur. ===== Modification de la donnée problématique ===== 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 \\ \\ {{ :tma:erreur_recalculer_dispo_mensuelle_2.png?nolink&800 |}} \\ \\ 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).\\ \\ La requête est enregistrée sur la SDSV143 : __C:\Users\app_Kerwin\Desktop\Requêtes SQL TMA__ sous le nom #Erreur_Dispo_mensuelle\\ \\ 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 !!! \\ \\ {{tag>TMA Kerwin Engie_Green #erreur erreur Disponibilité Mensuelle Disponibilité_mensuelle erreur Recalculer}}