Skip to content

Commit

Permalink
FIX: not documented issue. Crash when accessed to specific global
Browse files Browse the repository at this point in the history
Add try except block to prevent dashboad to crash when globals are missing or wrong
  • Loading branch information
Frisle committed May 23, 2023
1 parent 9787697 commit 4174f0b
Showing 1 changed file with 22 additions and 20 deletions.
42 changes: 22 additions & 20 deletions MDX2JSON/Dashboard.cls
Original file line number Diff line number Diff line change
Expand Up @@ -105,28 +105,30 @@ ClassMethod GetCubeMeasuresDataType(Widget, Number, CubeName, Output DataType As

set st = $$$OK
set dataSource = $piece(Widget.dataSource, ".", *) // get dataSource type
try{
if ((dataSource '= "kpi") && (dataSource '= "")){
if ($FIND(Widget.controls.GetAt(Number).targetProperty, "[") && $FIND(Widget.controls.GetAt(Number).targetProperty, ".")){
set tMeasure = $TRANSLATE(Widget.controls.GetAt(Number).targetProperty, "[]", "")

set st = ##class(%DeepSee.Utils).%GetDimensionInfo(CubeName,tMeasure,.pDimNo,.pHierNo,.pLevelNo) // get positional info about dimension

Set tMbrInfo = $G($$$DeepSeeMetaGLVN("cubes",$$$UPPER(CubeName),"mbr#",pDimNo,pHierNo,pLevelNo))
set DataType = $LG(tMbrInfo,6) // get data type
if '($FIND(DataType, "%")){ // if DataType return cube fact search for dataType in "star"
Set tMbrInfo = $G($$$DeepSeeMetaGLVN("cubes", $$$UPPER(CubeName), "star", DataType, "prop", $LG(tMbrInfo,7), "type"))
set DataType = tMbrInfo
}
}else{

set DataType = ""
}
}else{

if ((dataSource '= "kpi") && (dataSource '= "")){
if ($FIND(Widget.controls.GetAt(Number).targetProperty, "[") && $FIND(Widget.controls.GetAt(Number).targetProperty, ".")){
set tMeasure = $TRANSLATE(Widget.controls.GetAt(Number).targetProperty, "[]", "")

set st = ##class(%DeepSee.Utils).%GetDimensionInfo(CubeName,tMeasure,.pDimNo,.pHierNo,.pLevelNo) // get positional info about dimension

Set tMbrInfo = $G($$$DeepSeeMetaGLVN("cubes",$$$UPPER(CubeName),"mbr#",pDimNo,pHierNo,pLevelNo))
set DataType = $LG(tMbrInfo,6) // get data type
if '($FIND(DataType, "%")){ // if DataType return cube fact search for dataType in "star"
Set tMbrInfo = $G($$$DeepSeeMetaGLVN("cubes", $$$UPPER(CubeName), "star", DataType, "prop", $LG(tMbrInfo,7), "type"))
set DataType = tMbrInfo
}
}else{

set DataType = ""
}
}else{

set DataType = ""
set DataType = ""
}
}catch ex {
set st = ex.AsStatus()
}

return st
}

Expand Down

0 comments on commit 4174f0b

Please sign in to comment.