表示式:詳細範例

此詳細範例進一步說明如何使用表示式產生器建置自訂商業邏輯。

關於表示式產生器的更多資訊,請參閱以下主題:

在此範例中,我們希望能夠將節點從 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 條件。
    編輯器,其中三個 IF 陳述式由 OR 運算子分隔

    請注意,每個 IF 陳述式和陳述式區塊周圍都有紅色外框。這表示它們無效。每個 IF 陳述式的條件預期為布林類型,並且每個陳述式區塊預期為包含 return 陳述式。表示式產生器在建置表示式時會即時對其進行評估,隨著我們持續將欄位新增至表示式,將解決這些驗證錯誤。

  3. 在第一個 IF 條件中,按一下 選擇表示式項,然後從下拉功能表選取 sourceNode
    IF 陳述式帶有醒目提示的「選擇表示式項」,並顯示來源節點
  4. 按一下 sourceNode 旁的點,並從下拉功能表選取特性
    IF 條件顯示 sourceNode、要點擊的點,以及特性。

    註:

    在表示式中按一下欄位旁的點時,下拉功能表僅顯示適用於該欄位的物件、方法和屬性。
  5. 按一下特性旁的點,並從下拉功能表選取 FCGL.Account Type
    顯示所有相關特性的特性下拉功能表

    註:

    為特性轉換顯示特性時,由於已知來源節點的節點類型,因此僅顯示該節點類型的特性。但是,在顯示衍生特性的特性時,由於節點類型未知,因此將顯示對應用程式有效的所有特性。
  6. 選取 FCGL.Account Type 旁的點,並從下拉功能表選取 equals
    如果表示式立即讀取 sourcenode 特性,則 FCGL 科目類型等於

    請注意,第一個 IF 條件不再顯示紅色驗證邊框。這是因為新增 equals 陳述式,條件現在包含必要的布林值。

  7. 在文字欄位中,輸入 "A" (適用於資產)。
    文字欄位顯示已輸入 A
  8. 對於 FCGL.Account Type 等於 "L" (對於 Liability) 和 "O" (對於 Owner's Equity) 的情況,重複步驟 3-7 以新增 IF 條件。
    IF 陳述式顯示步驟中詳細介紹的三個條件

    現在,所有 IF 條件皆包含布林值,因此不再顯示表示驗證問題的紅色邊框。不過,陳述式區塊仍缺少 return 陳述式。因此,它仍然有紅色邊框,表示驗證錯誤。

  9. 在陳述式區塊中,按一下 插入陳述式,然後從下拉功能表選取 return
    陳述式區塊具有醒目提示的 return 陳述式。

    請注意,在新增 return 陳述式之後,陳述式區塊周圍不會再顯示紅色的驗證邊框。

  10. 在傳回區塊中,輸入 Expense。
    return 陳述式會在文字欄位中顯示輸入的 Expense
  11. 在比較下方的傳回區塊中,輸入「Non-Expense」。
    第二個傳回區塊會顯示 Non-Expense

    註:

    您不需要在第一個 IF 陳述式之後手動輸入 Else If 陳述式。如果 IF 陳述式未評估為 True,則邏輯自動繼續到下一個陳述式。
  12. 按一下套用

    關閉表示式產生器,並顯示節點類型檢查程式。