表达式:详细示例

此详细示例进一步展示了如何使用表达式生成器来构建自定义业务逻辑。

有关表达式生成器的详细信息,请参阅以下主题:

在此示例中,我们希望能够将节点从 Oracle Financials Cloud General Ledger 应用程序的“帐户”维拖动到 Corporate Planning 应用程序的“帐户”维。为此,我们要在每个应用程序的节点类型之间设置一个节点类型转换器。(有关转换节点类型的详细信息,请参阅“使用节点类型转换器”)。我们将构建以下表达式来转换 Planning 应用程序中的“帐户类型”属性:

如果 Oracle Financials Cloud General Ledger 应用程序中的帐户类型为“资产”、“负债”或“所有者权益”,我们希望 Corporate Planning 应用程序中的帐户类型属性为“费用”。如果是任何其他类型的帐户类型,我们希望 Corporate Planning 帐户类型属性为“非费用”

首先,让我们看一下节点类型转换器中设置的属性:

  1. 在“节点类型”中,单击 Corporate Planning 的“帐户”节点类型以在检查器中打开节点类型。
  2. 单击“转换器”选项卡。
  3. 在“要复制的属性”面板中,找到“目标”列中的帐户类型属性。
  4. 单击编辑
  5. 在“操作”列中,从下拉菜单中选择转换
  6. 在“源”列中,单击定义表达式 定义表达式
    突出显示“转换”和“定义表达式”的节点类型检查器
    .

    此时会显示表达式生成器。

接下来,我们将构建表达式以转换帐户类型。

构建表达式

要构建转换表达式:

  1. 在调色板的“语句”中,将 IF 语句拖动到编辑器顶部的蓝色箭头处。
    将 IF 语句拖动到编辑器的表达式生成器
  2. 在“运算符”中,将 OR 运算符拖动到表达式的 IF 条件中。
    由 OR 运算符分隔三条 IF 语句的编辑器

    请注意,每条 IF 语句和语句块周围都有红色轮廓。这表示它们无效。每条 IF 语句应具有一个“布尔”类型的条件,每个语句块应包含一条 return 语句。表达式生成器会在构建表达式时对其进行实时计算,当我们继续将字段添加到表达式时,即会解决这些验证错误。

  3. 在第一个 IF 条件中,单击 选择表达式项,然后从下拉菜单中选择 sourceNode
    突出显示“选择表达式项”并显示源节点的 IF 语句
  4. 单击 sourceNode 旁边的点,然后从下拉菜单中选择属性
    显示 sourceNode、要单击的点和属性的 IF 条件

    注:

    单击表达式中字段旁边的点时,下拉菜单仅显示适用于该字段的对象、方法和属性。
  5. 单击属性旁边的点,然后从下拉菜单中选择 FCGL.Account Type
    显示所有相关属性的属性下拉菜单

    注:

    显示属性转换的属性时,因为源节点的节点类型已知,所以仅显示该节点类型的属性。但是,显示派生属性的属性时,因为节点类型未知,所以将显示对应用程序有效的所有属性。
  6. 选择 FCGL.Account Type 旁边的点,然后从下拉菜单中选择等于
    If 表达式现在读作:sourcenode 属性 FCGL Account Type 等于

    请注意,第一个 IF 条件上不再显示红色验证边框。这是由于添加了 equals 语句,条件中现在包含所需的布尔值。

  7. 在文字文本字段中,输入 "A"(代表“资产”)。
    显示已输入 A 的文字字段
  8. 重复步骤 3-7 为 FCGL.Account Type 等于 "L"(代表“负债”)和 "O"(代表“所有者权益”)添加 IF 条件。
    IF 语句显示步骤中详述的三个条件

    现在,所有 IF 条件都包含布尔值,因此不会再显示指示验证问题的红色边框。但是,语句块仍然缺少 return 语句。因此,仍然有一个指示验证错误红色边框。

  9. 在语句块中,单击 插入语句,然后从下拉菜单中选择 return
    突出显示 return 语句的语句块

    请注意,添加 return 语句后,该语句块周围不再显示红色验证边框。

  10. 在 return 块中,输入“费用”。
    return 语句显示文本字段中输入的“费用”
  11. 在下面的 return 块中,输入“非费用”。
    第二个 return 块显示“非费用”

    注:

    无需在第一个 IF 语句后面手动输入 Else If 语句。如果 IF 语句的计算结果不是 True,则逻辑会自动继续到下一条语句。
  12. 单击应用

    此时将关闭表达式生成器并显示节点类型检查器。