了解决策列
决策列可用来标识当特定条件符合或不符合时需采用的操作。这些决策列允许操作可根据条件的不同结果而有所不同。在规则集中最多有十个决策列可供使用。
条件的结果通常是[是]或者[否],而对于这两种结果可能需要实施不同的操作。在决策列中,可用[是]或[否]作为条件结果为条件输入。而结果所需的操作会在相同决策列的相关操作语句中用一个[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 |