8. Chybové hlášky
Uživateli se při práci s BNS a provádění různých operací můžou zobrazit různé informativní nebo chybové hlášky. Tato kapitola se věnuje nejčastějším hláškám, včetně uvedení příčin a dalšího doporučeného postupu uživatele pro hlášení chyb v helpdesku.
8.1 Chyby při otvírání panelů
Při otevírání panelů může dojít k několika různým typům chyb, a to hlavně z důvodu nedostatečného oprávnění nebo změny datového modelu. Pokud dojde k překódování prvků, které jsou nastaveny na panelu, uživatel je o záměně informován v podobně informativní hlášky. Pokud je datový model změněn razantněji, tj. změna se týká výčtu dimenzí, panel se ani neotevře a uživateli se objeví chyba.
8.1.1 Náhrada prvků
V případě, že se změní kódy prvků, které jsou na XLS panelu nastaveny v záhlaví nebo na osách, při otevírání panelu dochází k jejich záměně za implicitní prvky dané dimenze a panel se otevře, tj. uživatel s ním může pracovat.
Na ilustračním obrázku je popsaná náhrada prvku produktové dimenze s kódem Total za vrcholový prvek „Ptotal“. Na daném panelu se prvek vyskytuje 2x na ose 2, proto i hláška obsahuje 2 věty o náhradě.
Ve webových panelech k náhradě neexistujících prvků za implicitní prvky dochází jenom u prvků dimenzí nastavených ve filtru hierarchií. Uživatelská hláška je zobrazena na předchozím obrázku.
Upozornění: Pokud dojde k přejmenování prvků dimenzí, které jsou použity ve webovém panelu v tabulkách nebo grafech, dané objekty nebudou vyobrazeny korektně a uživatel na tuto skutečnost nebude upozorněn!
8.1.2 Chybějící konfigurace
Nový webový panel lze vytvořit jako kopie jiného panelu nebo přidáním nového s prázdnou konfigurací s tím, že uživatel byl proškolen a daný panel/dashboard si dokonfiguruje vzápětí sám. Do doby než bude webový panel nakonfigurován, se bude uživateli objevovat následující chybová hláška: „Při otevírání panelu došlo k chybě. Konfigurace panelu nebyla nalezena.„
8.1.3 Chyba Internal Server Error, resp. NullReferenceException
Pokud se z nějakého důvodu změnil datový model, například byla odstraněna dimenze, nebo přejmenovaná kostka, panel nepůjde otevřít a uživateli se objeví následující hláška „Při otevírání panelu došlo k chybě“.
První obrázek je chyba otevírání webového panelu, ty další se týkají XLS panelů a navíc je možné si nechat zobrazit detaily, aby se uživatel dozvěděl, co chybu způsobilo. Chyba „Internal Server Error“ ve webu, resp. „NullReferenceException: Object reference not set to an instance of an object“ v XLS říká, že:
- neexistuje datový zdroj, na který je panel nastaven, případně uživatel na něj nemá práva čtení.
- neexistuje kostka v datovém zdroji, která je nastavena v konfiguraci panelu (mohla být přejmenovaná), není zprocesovaná (možný problém v noční aktualizaci) nebo na ní uživatel nemá práva čtení;
- neexistuje některá z dimenzí v kostce;
- neexistuje ukazatel nastavený na panelu,
- neexistuje pojmenovaný prvek, přes který je nastaveno linkování prvků, apod.
Poznámka: Pokud chyba není způsobená problémy v noční aktualizaci, je potřeba tuto chybu s označením panelu, který jí vyvolává a verze BNS hlásit přes HD. Ideálně zkopírovat i detaily do textového souboru a přiložit.
8.2 Chyby při načítání dat
Při načítání dat na XLS panel může dojít k chybě z důvodu vypršení nastavení tzv. timeoutu.
Timeout dotazů z klienta na server ovlivňují dvě nastavení:
- timeout klienta pro HTTP spojení, který je od verze 5.1.26 nastavený na 300s;
- timeout nastavený v BNS v connection stringu datového zdroje. Příklad nastavení timeoutu na 120s:
Data Source=DB42021\BNS19T;Initial Catalog=STO;MDX Compatibility=2;Application Name=BNS Portal;Timeout=12O;
, viz kap. 2.2.3 Editace stávajícího datového zdroje v sekci Administrace.
8.2.1 Timeout daný na straně portálu
Jedná se o timeout, který je v jádru BNS nastavený natvrdo na 300s (tj. 5min). Je možné ho snížit přes tzv. web config portálu (ETL Inekonu nebo vyškolená správa BNS) – viz obrázek níže.
V XLS panelech od verze 5.1 dochází k seskupování dotazů do balíčků (kvůli rychlosti, resp. rychlostním problémům, které byly ve verzi 5.0). Pokud je dotazů na jednom panelu hodně (desítky až stovky), může to trvat delší dobu i v případě, že na datovém zdroji je povoleno více spojení najednou (dotazy jsou posílány paralelně ve vícero vláknech, což by mělo být v konečném důsledku rychlejší). Tím pádem může portál narazit na zabudovaný „timeout“. Portál totiž čeká na dokončení celého balíčku.
V případě, že portál narazí na timeout, vrátí chybovou hlášku, která úplně přesně neříká, co se stalo – v detailech chyby je uvedena „Chyba API“. Tato chyba tam bude tolikrát, kolikrát portál na timeout narazil.
Následně portál zruší „balíček“ a přepne se do módu, kdy řeší jednotlivé dotazy postupně (tj. tak jak to bylo ve starších verzích BNS) s tím, že jich může v danou chvíli řešit více současně.
Poznámka: První běh může zajistit, že podruhé už dotaz proběhně rychleji, protože portál už má nějakou část dotazů v paměti (cache).
Na průběh dotazů se lze dívat přes tzv. „broučka“, kterého si uživatel spustí přes ikonku broučka z horní lišty BNS portálu hned vedle profilu. Příklad chyby selhání spuštění více dotazů najednou je ilustrován na obrázku níže, kdy byl timeout záměrně snížen na hodnotu 15 vteřin (čas spuštění 11:44:09, čas chyby 11:44:25). Zároveň je na něm vidět, že po té chybě se začaly dotazy spouštět jednotlivě.
Situace, kdy ani dotazy spouštěné jednotlivě nedoběhnou, je v BNS QueryLogu znázorněna na dalším obrázku, kdy byl tento stav nasimulován s nastaveným timeoutem na 15s.
Na panelu se uživateli v datových oblastech, které BNS nedokázalo načíst, zobrazí hodnota ERROR. Tlačítkem Retry je možné spustit načtení znovu.
8.2.2 Timeout datového zdroje
Timeout, který je nastaven v Administraci ve Správě datových zdrojů u konkrétního datového zdroje, se nejčastěji stanovuje na hodnotu 200 sekund. Měnit toto nastavení může uživatel, který má roli Admin.
Výhoda je, že mohu mít více datových zdrojů ze stejné databáze, kde bude rozdíl jen v čase timeoutu. Pro většinu panelů tak může být datovým zdrojem ten, kde je timeout nastaven na 60 sec a pro nějaké složité věci může být datový zdroj s delším timeoutem, protože se tam předpokládá větší náročnost na dotazování.
Na obrázku je zobrazena chybova hláška, která se zobrazí uživateli, kdy BNS narazilo na timeout datového zdroje.
Upozornění: Chybová hláška se zobrazuje s aktivním tlačítkem OK. Obrázky zobrazují aktivní tlačítko Detaily. V prvním obrázku detaily obasahují jenom 1 MDX dotaz, a v druhém vícero a z toho důvodu hláška neobsahuje informaci, že to je z důvodu vypršení časového limitu dotazu, protože důvodem mohlo být i cokoliv jiného. Jinými slovy nelze jednoznačně říct, že důvodem chyby je timeout.
Pokud si uživatel zapne BNS Query Log pro odchytávání dotazů a zjišťování chyb, tak o vypršení časového limitu na datovém zdroji budě informován v podobě oznámení výjimek – viz obrázek níže.
8.3 Chyby při zápisu hodnot
Pokud uživatel nemá nastavená práva na zápis do vybrané kombinace prvků na panelu (například střediska) nebo daná verze plánu je zamčena, zobrazí se mu hláška o nedostatečném oprávnění k zápisu s tím, že se má obrátit na správce.
8.3.1 Uzamčená verze
Chybová hláška o uzamčené oblasti pro zápis se objeví v případě, že se uživatel pokouší zapsat hodnoty (buď převodem nebo úpravou) do verze a roku, kterou oprávněný uživatel již uzamknul pro úpravy právě z důvodu, aby do ní už nikdo nezasahoval.
8.3.2 Nedostatečná oprávnění
Chybová hláška o nedostatočném nebo neplatném nastavení práv pro zápis se může objevit v případě, že se uživatel pokouší zapsat na prvky vybrané dimenze (například subjektové dimenze, tj. střediska), na které nemá oprávnění zápisu.
8.3.3 Překročen limit základních buněk
Chybová hláška o překročení limitu kombinací základních prvků se vyskytuje v případě, že se uživatel pokouší zapsat hodnotu na nulovou hodnotu prvků jednotlivých dimenzí, které se rozpadají na velké množství základních prvků.
Poznámka: Limit lze nastavit na příslušný datový zdroj v Administraci BNS portálu – víc info zde.
8.3.4 Zákaz zápisu na agregacích do nuly
Chybová hláška o zákazu zápisu na agregacích do nuly se vyskytuje v případě, že na datovém zdroji není tento zápis povolen.
Možnost povolit/zakázat zápis na agregacích do nuly je dostupná od verze BNS portálu 5.2.0.30 a v řadě 5.3 od verze portálu 5.3.0.43.
8.4 Další chyby
Bude průběžně doplňováno.