我在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
有人可以帮忙吗?
答案 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 )