Masterdata服务udpValidateModel过程

时间:2015-11-24 16:06:57

标签: stored-procedures master-data-services

我在MDS中有几张桌子。

一个表(客户端)通过SQL填充,另一个表是手工填充的masterdata表(国家/地区)。

我对表客户端有业务规则:

"姓名必须是唯一的"国家没有b规则。

我想以编程方式验证数据我不想点击"应用业务规则"在webinterface上的资源管理器窗口中。

我找到了几个关于如何使用标题中提到的sp(udpValidateModel)的线程来验证模型中的所有实体。

好吧......这件事什么也没做。我可以在每个表中看到validationStatus"等待重新验证"更改业务规则或通过sql更新数据后。无论我做什么状态都不会改变(webui中的验证图标都没有)。

我也尝试过验证,但同样的#34;没有"发生的情况。

以下SP:

DECLARE @User_ID int 
DECLARE @Model_ID int 
DECLARE @Version_ID int 

SET @User_ID = (SELECT ID FROM [MasterDataServices].[mdm].[tblUser]  where userName = SYSTEM_USER )

SET @Model_ID = (SELECT Top 1 Model_Id  FROM [MasterDataServices].[mdm].[viw_SYSTEM_SCHEMA_VERSION]
                                WHERE Model_MUID = 'MYMODELID')

SET @Version_ID =   (SELECT Top 1 VersionNbr  FROM [MasterDataServices].[mdm].[viw_SYSTEM_SCHEMA_VERSION]
   WHERE Model_MUID = 'MYMODELID' 
                   ORDER BY ID DESC )

EXECUTE [MasterDataServices].[mdm].[udpValidateModel] @User_ID, @Model_ID, @Version_ID, 1

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

SP' udpValidateModel'效果非常好,看起来你填充的参数不正确。

您可以按照以下说明进行更正并尝试;确保系统用户拥有该模型的完全权限。

SET @User_ID = (SELECT ID FROM [MasterDataServices].[mdm].[tblUser]  where userName = SYSTEM_USER )
SET @Model_ID = (SELECT Top 1 Model_Id  FROM [MasterDataServices].[mdm].[viw_SYSTEM_SCHEMA_VERSION]
                 WHERE Model_MUID = 'MYMODELID')
SET @Version_ID =   (SELECT Top 1 VersionNbr  FROM [MasterDataServices].[mdm].[viw_SYSTEM_SCHEMA_VERSION]
                     WHERE Model_MUID = @Model_ID 
                     ORDER BY ID DESC )