本文提供了生成报表时发生的错误的解决方案。
适用于: 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