0

MDS にいくつかのテーブルがあります。

1 つのテーブル (クライアント) は SQL 経由で入力され、もう 1 つは手動で入力されたマスターデータ テーブル (国) です。

テーブル クライアントに関するビジネス ルールがあります。

「名前は一意である必要があります」と国に関する b ルールはありません。

プログラムでデータを検証したいのですが、Web インターフェイスのエクスプローラー ウィンドウで [ビジネス ルールを適用] をクリックしたくありません。

タイトルに記載されている sp (udpValidateModel) を使用してモデル内のすべてのエンティティを検証する方法に関するスレッドをいくつか見つけました。

うーん...これは何もしません。ビジネス ルールを変更したり、SQL を介してデータを更新したりした後、各テーブルの "Awaiting Revalidation" で validationStatus を確認できます。何をしてもステータスは変わりません (webui の検証アイコンも変わりません)。

私もvalidateentityを試しましたが、同じ「何も」起こりません。

以下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

誰でも助けることができますか?

4

1 に答える 1

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 )
于 2016-01-08T09:30:51.600 に答える