Hi Expert,
<div style=u201Dword-break:break-allu201D>
</div>
<div style=u201Dword-break:break-allu201D>
</div>
I use Unverse to connect to a BW query, and show the data in Web Intelligence.
<div style=u201Dword-break:break-allu201D>
</div>
Here I meet a problem to show the key figure data in WebI, I think it's OLAP Universe problem.
<div style=u201Dword-break:break-allu201D>
</div>
<div style=u201Dword-break:break-allu201D>
</div>
I found this issue may be caused by the key figure type is number in BW.
<div style=u201Dword-break:break-allu201D>
</div>
When the type of the key figure is number, then it will use function of RowsetDataModelBase[0]::getInt(), and prompt that error.
<div style=u201Dword-break:break-allu201D>
</div>
If the type of key figures are others, then it will use RowsetDataModelBase[0]::getDouble() .
<div style=u201Dword-break:break-allu201D>
</div><div style=u201Dword-break:break-allu201D>
</div>
I checked in MDXTEST, Crystal Reports, and Bex query, they can get the correct data from SAP side. Only in Universe/WebI.
<div style=u201Dword-break:break-allu201D>
</div><div style=u201Dword-break:break-allu201D>
</div>
And in the MDA.log, I found something:
<div style=u201Dword-break:break-allu201D>
</div>
In the log, the data get from BW is correct:
<div style=u201Dword-break:break-allu201D>
</div>
Tue Mar 23 16:29:02.140: SAPMODULE: SAPFlatDataLoader: Row# 17:
<div style=u201Dword-break:break-allu201D>
</div>
Name: DIM1, Value: 组织计划
<div style=u201Dword-break:break-allu201D>
</div>
Name: DIM2, Value: XX集团
<div style=u201Dword-break:break-allu201D>
</div>
Name: DIM3, Value: XX基地
<div style=u201Dword-break:break-allu201D>
</div>
Name: DIM4, Value: 采购部
<div style=u201Dword-break:break-allu201D>
</div>
Name: CEL5, Value: 5
<div style=u201Dword-break:break-allu201D>
</div>
Name: CEL9, Value: 1
<div style=u201Dword-break:break-allu201D>
</div>
Name: CEL13, Value: 4
<div style=u201Dword-break:break-allu201D>
</div>
Name: CEL17, Value: 1
<div style=u201Dword-break:break-allu201D>
</div>
<div style=u201Dword-break:break-allu201D>
</div>
But there is some error when convert the data:
<div style=u201Dword-break:break-allu201D>
</div>
Tue Mar 23 16:29:02.156: SAPMODULE: RowsetDataModelMetaDataBase: RowsetDataModelMetaDataBase[1]::getColumnType(0) = 1<div style=u201Dword-break:break-allu201D>
</div>
Tue Mar 23 16:29:02.156: SAPMODULE: RowsetDataModelBase: RowsetDataModelBase[0]::getString(0) = 组织计划<div style=u201Dword-break:break-allu201D>
</div>
Tue Mar 23 16:29:02.156: SAPMODULE: RowsetDataModelMetaDataBase: RowsetDataModelMetaDataBase[1]::getColumnType(1) = 1<div style=u201Dword-break:break-allu201D>
</div>
Tue Mar 23 16:29:02.156: SAPMODULE: RowsetDataModelBase: RowsetDataModelBase[0]::getString(1) = XX集团<div style=u201Dword-break:break-allu201D>
</div>
Tue Mar 23 16:29:02.156: SAPMODULE: RowsetDataModelMetaDataBase: RowsetDataModelMetaDataBase[1]::getColumnType(2) = 1<div style=u201Dword-break:break-allu201D>
</div>
Tue Mar 23 16:29:02.156: SAPMODULE: RowsetDataModelBase: RowsetDataModelBase[0]::getString(2) = XX基地<div style=u201Dword-break:break-allu201D>
</div>
Tue Mar 23 16:29:02.156: SAPMODULE: RowsetDataModelMetaDataBase: RowsetDataModelMetaDataBase[1]::getColumnType(3) = 1<div style=u201Dword-break:break-allu201D>
</div>
Tue Mar 23 16:29:02.156: SAPMODULE: RowsetDataModelBase: RowsetDataModelBase[0]::getString(3) = 采购部<div style=u201Dword-break:break-allu201D>
</div>
Tue Mar 23 16:29:02.156: SAPMODULE: RowsetDataModelBase: RowsetDataModelBase[0]::getString(4) =<div style=u201Dword-break:break-allu201D>
</div>
Tue Mar 23 16:29:02.156: SAPMODULE: RowsetDataModelBase: RowsetDataModelBase[0]::getDouble(5) = 5.000000<div style=u201Dword-break:break-allu201D>
</div>
Tue Mar 23 16:29:02.156: SAPMODULE: RowsetDataModelBase: RowsetDataModelBase[0]::getInt(6) = 11<div style=u201Dword-break:break-allu201D>
</div>
Tue Mar 23 16:29:02.156: SAPMODULE: RowsetDataModelBase: RowsetDataModelBase[0]::getInt(7) = 44<div style=u201Dword-break:break-allu201D>
</div>
Tue Mar 23 16:29:02.156: SAPMODULE: RowsetDataModelBase: RowsetDataModelBase[0]::getInt(8) = 11<div style=u201Dword-break:break-allu201D>
</div>
Tue Mar 23 16:29:02.156: SAPMODULE: RowsetDataModelBase: RowsetDataModelBase[0]::next() = 1<div style=u201Dword-break:break-allu201D>
</div>
<div style=u201Dword-break:break-allu201D>
</div>
<div style=u201Dword-break:break-allu201D>
</div>
You can clearly see problem is caused by the function of RowsetDataModelBase[0]::getInt().
I tried other Universe based on different BW query whose type of key figure is NOT number, and it will use RowsetDataModelBase[0]::getDouble() to get the data, and the data in WebI would be correct.
<div style=u201Dword-break:break-allu201D>
</div><div style=u201Dword-break:break-allu201D>
</div>
<div style=u201Dword-break:break-allu201D>
</div>
Thank you very much<div style=u201Dword-break:break-allu201D>
</div>
Rongliang