原則測試追蹤輸出範例
本章節包含不同事實類型的原則測試輸出範例。
.Net 類別
原則 "LoanProcessing" 中的範例規則 "TestRule1":
IF test.get_ID > 0
THEN <do something>
輸出:
RULESET 的規則引擎追蹤:LoanProcessing 3/16/2004 上午 9:50:28
FACT ACTIVITY 3/16/2004 上午 9:50:28
規則引擎執行個體識別項:9effe3f9-d3ad-4125-99fa-56bb379188f7
規則集名稱:LoanProcessing
作業:判斷提示
物件類型:MyTest.test
物件實例識別碼:872
條件評估測試 (MATCH) 3/16/2004 上午 9:50:28
規則引擎執行個體識別項:9effe3f9-d3ad-4125-99fa-56bb379188f7
規則集名稱:LoanProcessing
測試運算式:MyTest.test.get_ID > 0
左運算元值:100
右運算元值:0
測試結果:True
議程更新 3/16/2004 上午 9:50:28
規則引擎執行個體識別項:9effe3f9-d3ad-4125-99fa-56bb379188f7
規則集名稱:LoanProcessing
作業:新增
規則名稱:TestRule1
衝突解決準則:0
規則引發 3/16/2004 上午 9:50:28
規則引擎執行個體識別項:9effe3f9-d3ad-4125-99fa-56bb379188f7
規則集名稱:LoanProcessing
規則名稱:TestRule1
衝突解決準則:0
FACT ACTIVITY 3/16/2004 上午 9:50:28
規則引擎執行個體識別項:9effe3f9-d3ad-4125-99fa-56bb379188f7
規則集名稱:LoanProcessing
作業:撤銷
物件類型:MyTest.test
物件實例識別碼:872
DataConnection/TypedDataRow
原則 "LoanProcessing" 中的範例規則 "TestRule1":
IF NorthWind.CustInfo.CreditCardBalance > 0
THEN <do something>
輸出:
RULESET 的規則引擎追蹤:LoanProcessing 3/16/2004 上午 8:30:16
FACT ACTIVITY 3/16/2004 上午 8:30:16
規則引擎實例識別碼:1aad35bb-0599-470b-b0fa-73b3fa1dfb83
規則集名稱:LoanProcessing
作業:判斷提示
物件類型:DataConnection:Northwind:CustInfo
物件實例識別碼:874
條件評估測試 (符合) 3/16/2004 上午 8:30:16
規則引擎實例識別碼:1aad35bb-0599-470b-b0fa-73b3fa1dfb83
規則集名稱:LoanProcessing
測試運算式:從 [CustInfo] 中選取 * ,其中 [CreditCardBalance] > 0
左運算元值:
右運算元值:
測試結果:True
FACT ACTIVITY 3/16/2004 上午 8:30:16
規則引擎實例識別碼:1aad35bb-0599-470b-b0fa-73b3fa1dfb83
規則集名稱:LoanProcessing
作業:判斷提示
物件類型:TypedDataRow:Northwind:CustInfo
物件實例識別碼:177556
議程更新 3/16/2004 08:30:16 AM
規則引擎實例識別碼:1aad35bb-0599-470b-b0fa-73b3fa1dfb83
規則集名稱:LoanProcessing
作業:新增
規則名稱:TestRule1
衝突解決準則:0
FACT ACTIVITY 3/16/2004 上午 8:30:16
規則引擎實例識別碼:1aad35bb-0599-470b-b0fa-73b3fa1dfb83
規則集名稱:LoanProcessing
作業:判斷提示
物件類型:TypedDataRow:Northwind:CustInfo
物件實例識別碼:177559
議程更新 3/16/2004 08:30:16 AM
規則引擎實例識別碼:1aad35bb-0599-470b-b0fa-73b3fa1dfb83
規則集名稱:LoanProcessing
作業:新增
規則名稱:TestRule1
衝突解決準則:0
FACT ACTIVITY 3/16/2004 上午 8:30:16
規則引擎實例識別碼:1aad35bb-0599-470b-b0fa-73b3fa1dfb83
規則集名稱:LoanProcessing
作業:判斷提示
物件類型:TypedDataRow:Northwind:CustInfo
物件實例識別碼:177558
議程更新 3/16/2004 08:30:16 AM
規則引擎實例識別碼:1aad35bb-0599-470b-b0fa-73b3fa1dfb83
規則集名稱:LoanProcessing
作業:新增
規則名稱:TestRule1
衝突解決準則:0
規則被引發 3/16/2004 08:30:16 AM
規則引擎實例識別碼:1aad35bb-0599-470b-b0fa-73b3fa1dfb83
規則集名稱:LoanProcessing
規則名稱:TestRule1
衝突解決準則:0
規則被引發 3/16/2004 08:30:16 AM
規則引擎實例識別碼:1aad35bb-0599-470b-b0fa-73b3fa1dfb83
規則集名稱:LoanProcessing
規則名稱:TestRule1
衝突解決準則:0
規則被引發 3/16/2004 08:30:16 AM
規則引擎實例識別碼:1aad35bb-0599-470b-b0fa-73b3fa1dfb83
規則集名稱:LoanProcessing
規則名稱:TestRule1
衝突解決準則:0
FACT ACTIVITY 3/16/2004 上午 8:30:16
規則引擎實例識別碼:1aad35bb-0599-470b-b0fa-73b3fa1dfb83
規則集名稱:LoanProcessing
作業:撤銷
物件類型:DataConnection:Northwind:CustInfo
物件實例識別碼:874
FACT ACTIVITY 3/16/2004 上午 8:30:16
規則引擎實例識別碼:1aad35bb-0599-470b-b0fa-73b3fa1dfb83
規則集名稱:LoanProcessing
作業:撤銷
物件類型:TypedDataRow:Northwind:CustInfo
物件實例識別碼:177559
FACT ACTIVITY 3/16/2004 上午 8:30:16
規則引擎實例識別碼:1aad35bb-0599-470b-b0fa-73b3fa1dfb83
規則集名稱:LoanProcessing
作業:撤銷
物件類型:TypedDataRow:Northwind:CustInfo
物件實例識別碼:177558
FACT ACTIVITY 3/16/2004 上午 8:30:16
規則引擎實例識別碼:1aad35bb-0599-470b-b0fa-73b3fa1dfb83
規則集名稱:LoanProcessing
作業:撤銷
物件類型:TypedDataRow:Northwind:CustInfo
物件實例識別碼:177556
上述範例指出 CustInfo 表格中有三列符合規則中的條件。 這導致三個唯一的 TypedDataRows 判斷提示至引擎,並造成每個執行個體發生議程更新和規則引發。
TypeDataTable/TypedDataRow
原則 "LoanProcessing" 中的範例規則 "TestRule1":
IF NorthWind.CustInfo.CreditCardBalance > 0
THEN <do something>
輸出:
RULEET 的規則引擎追蹤:LoanProcessing 3/17/2004 上午 11:27:35
事實活動 17.03.04 11:27:35 AM
規則引擎實例識別碼:0f7bcdf3-8103-4990-a740-acaeee386439
規則集名稱:LoanProcessing
作業:判斷提示
物件類型:TypedDataTable:Northwind:CustInfo
物件實例識別碼:377
事實活動 17.03.04 11:27:35 AM
規則引擎實例識別碼:0f7bcdf3-8103-4990-a740-acaeee386439
規則集名稱:LoanProcessing
作業:判斷提示
物件類型:TypedDataRow:Northwind:CustInfo
物件實例識別碼:376
條件評估測試 (符合) 3/17/2004 11:27:35 AM
規則引擎實例識別碼:0f7bcdf3-8103-4990-a740-acaeee386439
規則集名稱:LoanProcessing
測試運算式:TypedDataRow:Northwind:CustInfo.CreditCardBalance > 0
左運算元值:500
右運算元值:0
測試結果:True
議程更新 3/17/2004 上午 11:27:35
規則引擎實例識別碼:0f7bcdf3-8103-4990-a740-acaeee386439
規則集名稱:LoanProcessing
作業:新增
規則名稱:TestRule1
衝突解決準則:0
事實活動 17.03.04 11:27:35 AM
規則引擎實例識別碼:0f7bcdf3-8103-4990-a740-acaeee386439
規則集名稱:LoanProcessing
作業:判斷提示
物件類型:TypedDataRow:Northwind:CustInfo
物件實例識別碼:375
條件評估測試 (符合) 3/17/2004 11:27:35 AM
規則引擎實例識別碼:0f7bcdf3-8103-4990-a740-acaeee386439
規則集名稱:LoanProcessing
測試運算式:TypedDataRow:Northwind:CustInfo.CreditCardBalance > 0
左運算元值:1000
右運算元值:0
測試結果:True
議程更新 3/17/2004 上午 11:27:35
規則引擎實例識別碼:0f7bcdf3-8103-4990-a740-acaeee386439
規則集名稱:LoanProcessing
作業:新增
規則名稱:TestRule1
衝突解決準則:0
事實活動 17.03.04 11:27:35 AM
規則引擎實例識別碼:0f7bcdf3-8103-4990-a740-acaeee386439
規則集名稱:LoanProcessing
作業:判斷提示
物件類型:TypedDataRow:Northwind:CustInfo
物件實例識別碼:374
條件評估測試 (符合) 3/17/2004 11:27:35 AM
規則引擎實例識別碼:0f7bcdf3-8103-4990-a740-acaeee386439
規則集名稱:LoanProcessing
測試運算式:TypedDataRow:Northwind:CustInfo.CreditCardBalance > 0
左運算元值:35000
右運算元值:0
測試結果:True
議程更新 3/17/2004 上午 11:27:35
規則引擎實例識別碼:0f7bcdf3-8103-4990-a740-acaeee386439
規則集名稱:LoanProcessing
作業:新增
規則名稱:TestRule1
衝突解決準則:0
規則引發 3/17/2004 上午 11:27:35
規則引擎實例識別碼:0f7bcdf3-8103-4990-a740-acaeee386439
規則集名稱:LoanProcessing
規則名稱:TestRule1
衝突解決準則:0
規則引發 3/17/2004 上午 11:27:35
規則引擎實例識別碼:0f7bcdf3-8103-4990-a740-acaeee386439
規則集名稱:LoanProcessing
規則名稱:TestRule1
衝突解決準則:0
規則引發 3/17/2004 上午 11:27:35
規則引擎實例識別碼:0f7bcdf3-8103-4990-a740-acaeee386439
規則集名稱:LoanProcessing
規則名稱:TestRule1
衝突解決準則:0
事實活動 17.03.04 11:27:35 AM
規則引擎實例識別碼:0f7bcdf3-8103-4990-a740-acaeee386439
規則集名稱:LoanProcessing
作業:撤銷
物件類型:TypedDataTable:Northwind:CustInfo
物件實例識別碼:377
事實活動 17.03.04 11:27:35 AM
規則引擎實例識別碼:0f7bcdf3-8103-4990-a740-acaeee386439
規則集名稱:LoanProcessing
作業:撤銷
物件類型:TypedDataRow:Northwind:CustInfo
物件實例識別碼:375
事實活動 17.03.04 11:27:35 AM
規則引擎實例識別碼:0f7bcdf3-8103-4990-a740-acaeee386439
規則集名稱:LoanProcessing
作業:撤銷
物件類型:TypedDataRow:Northwind:CustInfo
物件實例識別碼:374
事實活動 17.03.04 11:27:35 AM
規則引擎實例識別碼:0f7bcdf3-8103-4990-a740-acaeee386439
規則集名稱:LoanProcessing
作業:撤銷
物件類型:TypedDataRow:Northwind:CustInfo
物件實例識別碼:376
注意
上述範例顯示 TypedDataTable 包含三個資料列,且會將每一個資料列判斷提示為 TypedDataRow。 每個資料列在條件中都會評估為 True,且會造成規則新增至議程並引發規則。
TypedXmlDocument
原則 "LoanProcessing" 中的範例規則 "TestRule1":
IF Microsoft.Samples.BizTalk.LoansProcessor.Case:/Root/EmploymentType.TimeInMonths >= 4
THEN <do something>
輸出:
RULESET 的規則引擎追蹤:LoanProcessing 3/17/2004 上午 9:23:05
FACT ACTIVITY 3/17/2004 上午 9:23:05
規則引擎實例識別碼:51ffbea4-468f-4ce8-8ab7-977cadda2e2b
規則集名稱:LoanProcessing
作業:判斷提示
物件類型:TypedXmlDocument:Microsoft.Samples.BizTalk.LoansProcessor.Case
物件實例識別碼:858
FACT ACTIVITY 3/17/2004 上午 9:23:05
規則引擎實例識別碼:51ffbea4-468f-4ce8-8ab7-977cadda2e2b
規則集名稱:LoanProcessing
作業:判斷提示
物件類型:TypedXmlDocument:Microsoft.Samples.BizTalk.LoansProcessor.Case:/Root/EmploymentType
物件實例識別碼:853
條件評估測試 (MATCH) 3/17/2004 上午 9:23:05
規則引擎實例識別碼:51ffbea4-468f-4ce8-8ab7-977cadda2e2b
規則集名稱:LoanProcessing
測試運算式:TypedXmlDocument:Microsoft.Samples.BizTalk.LoansProcessor.Case:/Root/EmploymentType.TimeInMonths > = 4
左運算元值:6
右運算元值:4
測試結果:True
議程更新 3/17/2004 上午 9:23:05
規則引擎實例識別碼:51ffbea4-468f-4ce8-8ab7-977cadda2e2b
規則集名稱:LoanProcessing
作業:新增
規則名稱:TestRule1
衝突解決準則:0
規則引發 3/17/2004 上午 9:23:05
規則引擎實例識別碼:51ffbea4-468f-4ce8-8ab7-977cadda2e2b
規則集名稱:LoanProcessing
規則名稱:TestRule1
衝突解決準則:0
FACT ACTIVITY 3/17/2004 上午 9:23:05
規則引擎實例識別碼:51ffbea4-468f-4ce8-8ab7-977cadda2e2b
規則集名稱:LoanProcessing
作業:撤銷
物件類型:TypedXmlDocument:Microsoft.Samples.BizTalk.LoansProcessor.Case
物件實例識別碼:858
FACT ACTIVITY 3/17/2004 上午 9:23:05
規則引擎實例識別碼:51ffbea4-468f-4ce8-8ab7-977cadda2e2b
規則集名稱:LoanProcessing
作業:撤銷
物件類型:TypedXmlDocument:Microsoft.Samples.BizTalk.LoansProcessor.Case:/Root/EmploymentType
物件實例識別碼:853
此範例顯示 TypedXmlDocument 已判斷提示至具有 「Microsoft.Samples.BizTalk.LoansProcessor.Case」 檔案類型的引擎。 根據規則中定義的 XPath 選取器,引擎接著會根據檔案類型和選取器字串,建立並判斷提示類型為 「Microsoft.Samples.BizTalk.LoansProcessor.Case:/Root/EmploymentType」 的子 TypedXmlDocument。
此子 TypedXmlDocument 在條件中評估為 True,造成議程更新和規則引發。 接著會撤銷父代和子 TypedXmlDocument的 。
更新功能
範例原則 "Order"
"InventoryCheck" 規則
IF Inventory.AllocateInventory == True
THEN Order.inventoryAvailable == True
Update(Order)
"Ship" 規則
IF Order.inventoryAvailable == True
THEN Shipment.ShipOrder
輸出:
RULEET 的規則引擎追蹤:訂單 3/17/2004 上午 10:31:17
FACT ACTIVITY 3/17/2004 上午 10:31:17
規則引擎實例識別碼:533f2fb6-a91f-49c1-8f36-e03a27ca9d72
規則集名稱:訂單
作業:判斷提示
物件類型:TestClasses.Order
物件實例識別碼:448
條件評估測試 (MATCH) 3/17/2004 上午 10:31:17
規則引擎實例識別碼:533f2fb6-a91f-49c1-8f36-e03a27ca9d72
規則集名稱:訂單
測試運算式:TestClasses.Order.inventoryAvailable == True
左運算元值: null
右運算元值:True
測試結果:False
FACT ACTIVITY 3/17/2004 上午 10:31:17
規則引擎實例識別碼:533f2fb6-a91f-49c1-8f36-e03a27ca9d72
規則集名稱:訂單
作業:判斷提示
物件類型:TestClasses.Shipment
物件實例識別碼:447
FACT ACTIVITY 3/17/2004 上午 10:31:17
規則引擎實例識別碼:533f2fb6-a91f-49c1-8f36-e03a27ca9d72
規則集名稱:訂單
作業:判斷提示
物件類型:TestClasses.Inventory
物件實例識別碼:446
條件評估測試 (MATCH) 3/17/2004 上午 10:31:17
規則引擎實例識別碼:533f2fb6-a91f-49c1-8f36-e03a27ca9d72
規則集名稱:訂單
測試運算式:TestClasses.Inventory.AllocateInventory == True
左運算元值:True
右運算元值:True
測試結果:True
議程更新 3/17/2004 上午 10:31:17
規則引擎實例識別碼:533f2fb6-a91f-49c1-8f36-e03a27ca9d72
規則集名稱:訂單
作業:新增
規則名稱:InventoryCheck
衝突解決準則:0
規則引發 3/17/2004 上午 10:31:17
規則引擎實例識別碼:533f2fb6-a91f-49c1-8f36-e03a27ca9d72
規則集名稱:訂單
規則名稱:InventoryCheck
衝突解決準則:0
FACT ACTIVITY 3/17/2004 上午 10:31:17
規則引擎實例識別碼:533f2fb6-a91f-49c1-8f36-e03a27ca9d72
規則集名稱:訂單
作業:更新
物件類型:TestClasses.Order
物件實例識別碼:448
條件評估測試 (MATCH) 3/17/2004 上午 10:31:17
規則引擎實例識別碼:533f2fb6-a91f-49c1-8f36-e03a27ca9d72
規則集名稱:訂單
測試運算式:TestClasses.Order.inventoryAvailable == True
左運算元值:True
右運算元值:True
測試結果:True
議程更新 3/17/2004 上午 10:31:17
規則引擎實例識別碼:533f2fb6-a91f-49c1-8f36-e03a27ca9d72
規則集名稱:訂單
作業:新增
規則名稱:出貨
衝突解決準則:0
規則引發 3/17/2004 上午 10:31:17
規則引擎實例識別碼:533f2fb6-a91f-49c1-8f36-e03a27ca9d72
規則集名稱:訂單
規則名稱:出貨
衝突解決準則:0
FACT ACTIVITY 3/17/2004 上午 10:31:17
規則引擎實例識別碼:533f2fb6-a91f-49c1-8f36-e03a27ca9d72
規則集名稱:訂單
作業:撤銷
物件類型:TestClasses.Order
物件實例識別碼:448
FACT ACTIVITY 3/17/2004 上午 10:31:17
規則引擎實例識別碼:533f2fb6-a91f-49c1-8f36-e03a27ca9d72
規則集名稱:訂單
作業:撤銷
物件類型:TestClasses.Shipment
物件實例識別碼:447
FACT ACTIVITY 3/17/2004 上午 10:31:17
規則引擎實例識別碼:533f2fb6-a91f-49c1-8f36-e03a27ca9d72
規則集名稱:訂單
作業:撤銷
物件類型:TestClasses.Inventory
物件實例識別碼:446
在此範例中,在第一次檢查與 Ship 規則相關聯的條件時,它會評估為 False。 但是,當 InventoryCheck 規則引發時,Order 的 inventoryAvailable 欄位會變更,且在引擎上發出對 Order 物件更新命令。 這會造成重新評估 Ship 規則。 這一次,此條件會評估為 True,並引發 Ship 規則。
注意
如果您的規則撰寫不正確,使用更新功能正向鏈結可能會導致無限迴圈。 若發生此情況,您會在商務規則編輯器中測試原則時,收到文字為「規則引擎偵測到執行迴圈」的錯誤訊息。