定義 Flex 業務規則陳述式和過程

定義 Flex SQL 陳述式以定義特定於您的組織的驗證規則。您可以為插入之後或更新之後事件設定一個或多個要處理的陳述式。

Flex SQL 處理支援資料查詢 (選取) 和資料操作 (插入、更新、刪除) 陳述式。使用 select 陳述式執行檢查條件。

SQL 陳述式中可以包含大寫和小寫字元。但是,列識別碼符記必須全部大寫或全部小寫 (即 :ROWID 或 :rowid)。

每個 Flex SQL 陳述式均要求使用預定義的 :ROWID 符記。此符記指的是指定表格中正在處理的記錄的資料庫列識別碼。表格中每個受到插入或更新操作影響的記錄均會執行此陳述式。

最大陳述式長度為 4000 個字元。不需要陳述式終止字元 (;)。

可以使用資料操作陳述式,但是請確保沒有啟動觸發步驟的無窮級聯。例如,通常建議您不要建立將會更新表格中所標識的基本表格的 Flex SQL 陳述式。

注意

Infor 建議您在 Infor EAM 顧問的指導下定義 Flex SQL 程序。

  1. 選取管理>螢幕配置>Flex 業務規則
  2. 指定要定義 Flex SQL 陳述式和過程的表格
  3. 按一下新增 Flex SQL
  4. 指定以下資訊:
    順序號
    指定 Flex SQL 處理的順序。
    觸發器
    指定啟動事件的資料庫操作。系統支援插入之後和更新之後觸發器。
    SQL 陳述式
    指定在表格發生指定操作時將執行的 SQL 陳述式。
    故障訊息
    指定在 Flex SQL 陳述式失敗時顯示的訊息。如果 Flex SQL 陳述式處理表格中的一行或多行,則該陳述式成功。如果未處理任何行,則 Flex SQL 陳述式失敗。若要使故障訊息處於作用中狀態,請選取故障時終止
    備註
    指定 Flex SQL 陳述式用途的描述。
  5. (選用) 選取必須存在核取方塊,以在目前陳述式未處理任何行時,使 Flex SQL 處理器停止處理連續的 Flex SQL 陳述式。
  6. (選用) 選取故障時終止核取方塊,以在系統遇到故障並發出錯誤時停止目前操作。
  7. (選用) 選取反轉返回碼核取方塊,以反轉目前 Flex SQL 陳述式的返回狀態代碼。如果選取此選項且陳述式處理一行或多行,則處理器傳回失敗狀態。如果陳述式未處理任何行,則處理器傳回成功狀態。
  8. (選用) 選取作用中核取方塊,以啟用 Flex SQL 陳述式。
  9. 按一下測試 Flex SQL以確保目前 Flex SQL 陳述式有效。如果陳述式包含錯誤 (例如,語法無效),則會顯示一條訊息。
  10. 按一下提交
    請參閱 Flex SQL 定義的以下示例:
    示例 1
    指定用於補充標準 Infor EAM 處理的 check 陳述式或編輯。例如,在 Infor EAM 中建立請求單時,為成本代碼輸入值為可選。如果實作取決於是否使用成本代碼派生科目節段值,則必須定義 check 陳述式,以在未輸入成本代碼的值時不允許更新或插入請求單。

    請參閱用於補充在 Infor EAM 中建立請求單的標準處理的 check 陳述式的以下示例:

    • 表格
      指定R5REQUISITIONS
    • 觸發器
      指定POST-INSERT
    • 順序號
      指定10
    • SQL 陳述式
      指定要執行的以下 SQL 陳述式:
                           SELECT NULL
                           FROM R5REQUISITIONS
                           WHERE ROWID=:ROWID
                           AND REQ_COSTCODE IS NOT NULL
    • 故障訊息
      指定請輸入成本代碼的值
    • 選取必須存在
    • 選取故障時終止
    示例 2
    Flex SQL螢幕上 Infor EAM 中的 R5ACCOUNTDETAIL 表格中建立要與 Oracle Financials 聯接的項目和交易行。

    請參閱使用常數預設值建立帳戶明細項目行的以下示例。此陳述式緊跟前一個示例中用於在建立請求單時輸入成本代碼值的 check 陳述式之後。順序號用於標識 Flex SQL 陳述式執行的順序。

    • 表格
      指定R5REQUISITIONS
    • 觸發器
      指定POST-INSERT
    • 順序號
      指定20
    • SQL 陳述式
      指定要執行的以下 SQL 陳述式:
                           INSERT INTO R5ACCOUNTDETAIL
                           (ACD_CODE, ACD_RENTITY, ACD_SEGMENT1, ACD_SEGMENT2, ACD_SEGMENT3,
                           ACD_SEGMENT4)
                           SELECT REQ_ACD, 'REQ',
                           '01',
                           '000',
                           '000',
                           '0000'
                           FROM R5REQUISITIONS                      
                           WHERE ROWID=:ROWID
      
    • 故障訊息
      指定建立帳戶明細時出錯
    • 選取必須存在
    • 選取故障時終止
    • 選取作用中

    以上示例說明了已填充 REQ_ACD 的 R5ACCOUNTDETAIL 的請求單參考號。Infor EAM 將自動產生請求單帳戶明細密鑰。您無需使用 Flex SQL 建立帳戶明細密鑰值。

    確定是否要在 Infor EAM 中將 Flex SQL 定義用於帳戶明細取決於整合的 Infor EAM 和 ERP 模組。首先概述整個採購過程。然後,使用每個交易集確定是否需要驗證和產生帳戶。這些需要不僅對於每個整合場景是唯一的,而且對任何場景中的每個客戶也是唯一的。因此,確保已非常謹慎地考慮整個過程是極其重要的。