Skip to content

Commit 4174f0b

Browse files
authored
FIX: not documented issue. Crash when accessed to specific global
Add try except block to prevent dashboad to crash when globals are missing or wrong
1 parent 9787697 commit 4174f0b

1 file changed

Lines changed: 22 additions & 20 deletions

File tree

MDX2JSON/Dashboard.cls

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -105,28 +105,30 @@ ClassMethod GetCubeMeasuresDataType(Widget, Number, CubeName, Output DataType As
105105

106106
set st = $$$OK
107107
set dataSource = $piece(Widget.dataSource, ".", *) // get dataSource type
108+
try{
109+
if ((dataSource '= "kpi") && (dataSource '= "")){
110+
if ($FIND(Widget.controls.GetAt(Number).targetProperty, "[") && $FIND(Widget.controls.GetAt(Number).targetProperty, ".")){
111+
set tMeasure = $TRANSLATE(Widget.controls.GetAt(Number).targetProperty, "[]", "")
112+
113+
set st = ##class(%DeepSee.Utils).%GetDimensionInfo(CubeName,tMeasure,.pDimNo,.pHierNo,.pLevelNo) // get positional info about dimension
114+
115+
Set tMbrInfo = $G($$$DeepSeeMetaGLVN("cubes",$$$UPPER(CubeName),"mbr#",pDimNo,pHierNo,pLevelNo))
116+
set DataType = $LG(tMbrInfo,6) // get data type
117+
if '($FIND(DataType, "%")){ // if DataType return cube fact search for dataType in "star"
118+
Set tMbrInfo = $G($$$DeepSeeMetaGLVN("cubes", $$$UPPER(CubeName), "star", DataType, "prop", $LG(tMbrInfo,7), "type"))
119+
set DataType = tMbrInfo
120+
}
121+
}else{
122+
123+
set DataType = ""
124+
}
125+
}else{
108126

109-
if ((dataSource '= "kpi") && (dataSource '= "")){
110-
if ($FIND(Widget.controls.GetAt(Number).targetProperty, "[") && $FIND(Widget.controls.GetAt(Number).targetProperty, ".")){
111-
set tMeasure = $TRANSLATE(Widget.controls.GetAt(Number).targetProperty, "[]", "")
112-
113-
set st = ##class(%DeepSee.Utils).%GetDimensionInfo(CubeName,tMeasure,.pDimNo,.pHierNo,.pLevelNo) // get positional info about dimension
114-
115-
Set tMbrInfo = $G($$$DeepSeeMetaGLVN("cubes",$$$UPPER(CubeName),"mbr#",pDimNo,pHierNo,pLevelNo))
116-
set DataType = $LG(tMbrInfo,6) // get data type
117-
if '($FIND(DataType, "%")){ // if DataType return cube fact search for dataType in "star"
118-
Set tMbrInfo = $G($$$DeepSeeMetaGLVN("cubes", $$$UPPER(CubeName), "star", DataType, "prop", $LG(tMbrInfo,7), "type"))
119-
set DataType = tMbrInfo
120-
}
121-
}else{
122-
123-
set DataType = ""
124-
}
125-
}else{
126-
127-
set DataType = ""
127+
set DataType = ""
128+
}
129+
}catch ex {
130+
set st = ex.AsStatus()
128131
}
129-
130132
return st
131133
}
132134

0 commit comments

Comments
 (0)