此详细示例进一步展示了如何使用表达式生成器来构建自定义业务逻辑。
有关表达式生成器的详细信息,请参阅以下主题:
在此示例中,我们希望能够将节点从 Oracle Financials Cloud General Ledger 应用程序的“帐户”维拖动到 Corporate Planning 应用程序的“帐户”维。为此,我们要在每个应用程序的节点类型之间设置一个节点类型转换器。(有关转换节点类型的详细信息,请参阅“使用节点类型转换器”)。我们将构建以下表达式来转换 Planning 应用程序中的“帐户类型”属性:
如果 Oracle Financials Cloud General Ledger 应用程序中的帐户类型为“资产”、“负债”或“所有者权益”,我们希望 Corporate Planning 应用程序中的帐户类型属性为“费用”。如果是任何其他类型的帐户类型,我们希望 Corporate Planning 帐户类型属性为“非费用”。
首先,让我们看一下节点类型转换器中设置的属性:
此时会显示表达式生成器。
接下来,我们将构建表达式以转换帐户类型。
构建表达式
要构建转换表达式:
请注意,每条 IF 语句和语句块周围都有红色轮廓。这表示它们无效。每条 IF 语句应具有一个“布尔”类型的条件,每个语句块应包含一条 return 语句。表达式生成器会在构建表达式时对其进行实时计算,当我们继续将字段添加到表达式时,即会解决这些验证错误。
注:
单击表达式中字段旁边的点时,下拉菜单仅显示适用于该字段的对象、方法和属性。注:
显示属性转换的属性时,因为源节点的节点类型已知,所以仅显示该节点类型的属性。但是,显示派生属性的属性时,因为节点类型未知,所以将显示对应用程序有效的所有属性。请注意,第一个 IF 条件上不再显示红色验证边框。这是由于添加了 equals 语句,条件中现在包含所需的布尔值。
现在,所有 IF 条件都包含布尔值,因此不会再显示指示验证问题的红色边框。但是,语句块仍然缺少 return 语句。因此,仍然有一个指示验证错误红色边框。
请注意,添加 return 语句后,该语句块周围不再显示红色验证边框。
注:
无需在第一个 IF 语句后面手动输入 Else If 语句。如果 IF 语句的计算结果不是 True,则逻辑会自动继续到下一条语句。此时将关闭表达式生成器并显示节点类型检查器。