在 Management Reporter 中生成报表时,显示“公司不存在货币 USD”错误。

本文提供了生成报表时发生的错误的解决方案。

适用于: Microsoft Management Reporter 2012,Microsoft Dynamics GP
原始 KB 编号: 3058400

现象

生成报告时,会收到以下错误消息:

公司 xxxx 没有美元货币。 不会返回任何值。

原因

这是由在 Dynamics GP 中配置的货币在旧版提供程序与 Data Mart 提供程序之间以不同的方式识别的。

旧提供程序将根据为货币设置的货币 ID 识别 Dynamics GP 中的货币。 "TWO公司的默认货币包括标识符,例如Z-US$。"

数据市场提供商将根据为货币设置的 ISO 代码识别 Dynamics GP 中的货币。 TWO 公司的默认货币包括 ISO 代码,如 美元

解决方法

在列定义中,检查 FD 列中的“货币显示”单元格。 如果使用 Data Mart 提供程序,应会看到 USD 而不是 Z-US$。

在树定义中,检查 公司。 如果公司设置为 Legacy 公司(公司代码包括 -Curr),列中的 货币显示 应设置为使用 Legacy 提供商的货币,例如 Z-US$。 如果公司正在使用 Data Mart,则 列定义中的货币显示 应为 USD。

如果从旧版提供程序切换到 Data Mart,可以运行以下脚本,检查列是否有需要更新货币代码的任何项。 需要在脚本中更新数据市场数据库名称。

select CCM.Name as ColumnDefinition, CSS.Name as BuildingBlockGroup
from ControlColumnCriteria CCC
join ControlColumnDetail CCD on CCC.ColumnDetailID = CCD.ID
join ControlColumnMaster CCM on CCD.ColumnLayoutID = CCM.ID
join ControlSpecificationSet CSS on CSS.ID = CCM.SpecificationSetID
where (CCC.CriteriaType = 8 or CCC.CriteriaType = 7)
and LOW not in ('FUNCTIONAL','NATURAL/ORIGINATING')
and LOW not in (select Name from 
[DDM-GP]..UnitOfMeasure --<<-- Update name of the data mart database
) 
group by CCM.name, CSS.Name
order by CCM.Name