了解決策列
決策列可用來標識當特定條件符合或不符合時需採用的操作。這些決策列允許操作可根據條件的不同結果而有所不同。在規則集中最多有十個決策列可供使用。
條件的結果通常是〔是〕或者〔否〕,而對於這兩種結果可能需要實施不同的操作。在決策列中,可用〔是〕或〔否〕作為條件結果為條件輸入。而結果所需的操作會在相同決策列的相關操作語句中用一個〔X〕標識。
例如:需要一條業務規則來檢查帳務分析 5 中的值。如果它包含值 P01,則規則應將帳務分析 6 的值設為 ABC。如果帳務分析 5 包含其他值,則帳務分析 6 必須設為 123。
在這個例子中,決策列 1 可用來標識如果條件結果為〔是〕應採取的操作,同時決策列 2 可用來標識如果條件結果為〔否〕應採取的操作。
命令 | 第 1 值 | 運算符 | 第 2 值 | 決策列 1 | 決策列 2 |
如果 | 帳務分析 5 | = | P01 | Y | N |
設定 | 帳務分析 6 | = | ABC | X | ? |
設定 | 帳務分析 6 | = | 123 | ? | X |
使用多個如果語句和決策列
您可以在一個規則集中包含多個如果條件語句,用來檢查不同的數據項目。如果您在各條語句上使用相同的決策列,則如果語句的結果會相互鏈接。或者,如果您使用單獨的決策列,則如果語句會分別處理。
多個相關如果語句的示例
當科目代碼為 P01 時,如果憑証描述尚未輸入,下列規則集會顯示一條出錯信息。
如果科目代碼不是 P01,或者如果描述不為空,則這條規則不會執行任何操作,因為這些結果尚未在決策列中標識。
命令 | 第 1 值 | 運算符 | 第 2 值 | 決策列 1 |
如果 | 科目代碼 | = | P01 | Y |
如果 | 描述 | = | 空格 | Y |
顯示 | Desc-Required_Message | ? | ? | X |
多個不相關如果語句的示例
在這個例子中,前兩個如果語句互相關聯,因為決策列 1 和 2 都用於這兩條語句。在決定所需採取的操作之前,這條規則會一併檢查科目類型和地址代碼項目的內容,即:是顯示一條出錯信息,還是顯示地址行 1。
由於第三條如果語句引用不同的決策列 (3),因此並不相關且會單獨處理。無論科目類型和地址代碼的值如何,如果帳務分析代碼 4 為空,則系統會顯示一條出錯信息。
命令 | 第 1 值 | 運算符 | 第 2 值 | 決策列 1 | 決策列 2 | 決策列 3 |
如果 | 科目類型 | = | 應收帳款 | Y | Y | ? |
如果 | 科目代碼 | = | 空格 | Y | N | ? |
如果 | 帳務分析 4 | = | 空格 | ? | ? | Y |
顯示 | 出錯信息 - 需要地址代碼 | ? | ? | X | ? | ? |
顯示 | 地址第 1 行 | ? | ? | ? | X | ? |
顯示 | 出錯信息 - 需要分析代碼 4 | ? | ? | ? | ? | X |
按下述內容擴展上述例子,可闡明或語句的使用。決策列結果並不在或語句上輸入,這是因為它們只是前面如果語句的繼續。
命令 | 第 1 值 | 運算符 | 第 2 值 | 決策列 1 | 決策列 2 | 決策列 3 |
如果 | 科目類型 | = | 應收帳款 | Y | Y | ? |
或 | ? | = | 應付帳款 | ? | ? | ? |
或 | ? | = | 客戶 | ? | ? | ? |
如果 | 地址代碼 | = | 空格 | Y | N | ? |
如果 | 帳務分析 4 | = | 空格 | ? | ? | Y |
顯示 | 出錯信息 - 需要地址代碼 | ? | ? | X | ? | ? |
顯示 | 地址第 1 行 | ? | ? | ? | X | ? |
顯示 | 出錯信息 - 需要分析代碼 4 | ? | ? | ? | ? | X |