定義 Flex 業務規則陳述式和過程
定義 Flex SQL 陳述式以定義特定於您的組織的驗證規則。您可以為插入之後或更新之後事件設定一個或多個要處理的陳述式。
Flex SQL 處理支援資料查詢 (選取) 和資料操作 (插入、更新、刪除) 陳述式。使用 select 陳述式執行檢查條件。
SQL 陳述式中可以包含大寫和小寫字元。但是,列識別碼符記必須全部大寫或全部小寫 (即 :ROWID 或 :rowid)。
每個 Flex SQL 陳述式均要求使用預定義的 :ROWID 符記。此符記指的是指定表格中正在處理的記錄的資料庫列識別碼。表格中每個受到插入或更新操作影響的記錄均會執行此陳述式。
最大陳述式長度為 4000 個字元。不需要陳述式終止字元 (;)。
可以使用資料操作陳述式,但是請確保沒有啟動觸發步驟的無窮級聯。例如,通常建議您不要建立將會更新表格中所標識的基本表格的 Flex SQL 陳述式。
Infor 建議您在 Infor EAM 顧問的指導下定義 Flex SQL 程序。
- 選取「管理」>「螢幕配置」>「Flex 業務規則」。
- 指定要定義 Flex SQL 陳述式和過程的「表格」。
- 按一下「新增 Flex SQL」。
- 指定以下資訊:
- 順序號
- 指定 Flex SQL 處理的順序。
- 觸發器
- 指定啟動事件的資料庫操作。系統支援插入之後和更新之後觸發器。
- SQL 陳述式
- 指定在表格發生指定操作時將執行的 SQL 陳述式。
- 故障訊息
- 指定在 Flex SQL 陳述式失敗時顯示的訊息。如果 Flex SQL 陳述式處理表格中的一行或多行,則該陳述式成功。如果未處理任何行,則 Flex SQL 陳述式失敗。若要使故障訊息處於作用中狀態,請選取「故障時終止」。
- 備註
- 指定 Flex SQL 陳述式用途的描述。
- (選用) 選取「必須存在」核取方塊,以在目前陳述式未處理任何行時,使 Flex SQL 處理器停止處理連續的 Flex SQL 陳述式。
- (選用) 選取「故障時終止」核取方塊,以在系統遇到故障並發出錯誤時停止目前操作。
- (選用) 選取「反轉返回碼」核取方塊,以反轉目前 Flex SQL 陳述式的返回狀態代碼。如果選取此選項且陳述式處理一行或多行,則處理器傳回失敗狀態。如果陳述式未處理任何行,則處理器傳回成功狀態。
- (選用) 選取「作用中」核取方塊,以啟用 Flex SQL 陳述式。
- 按一下「測試 Flex SQL」以確保目前 Flex SQL 陳述式有效。如果陳述式包含錯誤 (例如,語法無效),則會顯示一條訊息。
-
按一下「提交」。
請參閱 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 模組。首先概述整個採購過程。然後,使用每個交易集確定是否需要驗證和產生帳戶。這些需要不僅對於每個整合場景是唯一的,而且對任何場景中的每個客戶也是唯一的。因此,確保已非常謹慎地考慮整個過程是極其重要的。
-