了解决策列

决策列可用来标识当特定条件符合或不符合时需采用的操作。这些决策列允许操作可根据条件的不同结果而有所不同。在规则集中最多有十个决策列可供使用。

注意: 在您开始创建规则集之前,详细分析您的规则集条件和操作,并对决策列的使用作出详细的计划,这是非常重要的。

条件的结果通常是[是]或者[否],而对于这两种结果可能需要实施不同的操作。在决策列中,可用[是]或[否]作为条件结果为条件输入。而结果所需的操作会在相同决策列的相关操作语句中用一个[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